IBIS-Q System Documentation - Create IBIS-Q Control Files
Understanding IBIS-Q Files and Related Applications
Successfully implementing IBIS-Q depends on a collaborative relationship between the IBIS-Q administrator who sets up the data and related files, and the IT staff/software engineers who build and maintain the background systems and servers. As the administrator, you need to know how to write code for SAS processes, but you do not need a general programming background. However, you do need to understand the underlying processing that handles queries, the structure and location of files that you will be accessing and modifying, the types of applications you will use to create files, and XML tagging.Prerequisites
Refer to Web Server Setup for system installation details.File Locations and Directory Structure
IBIS-Q administrators' files include the Interface XML files, which reside on the IBIS-PH application server, and the back-end files, which reside on the SAS server. (These two parts can reside on the same server.)The Interface XML files are invoked when a web page is accessed. They contain the measure selections available on the selection page and the query selections that are available in the query builder "Steps." The selection page and query builder page are used to specify the query parameters.
The back-end files include the configuration (cfg), function (def), group (grp), and XML Element Output Value Mapping (map) files. These files define ibisq parameters and variables that enable the CGI application to build a SAS program. One of your key tasks as administrator is to verify that all variables match.
Integrating the administrator's files are the Java servlets, Javascript files, and style sheet templates created and maintained by a software engineer. Typically, you do not access those programs or files.
Figure 2-1 illustrates the relationship of these administrator's files to the functioning of IBIS-Q.
Figure 2-1. Administrator's Files
Not shown in Figure 2-1 are the XSL style sheets that work in conjunction with the instruction and results XML files to create the HTML output screens to the browser.
Application Server File Structure
Looking closer at the IBIS application server, Figures 2-2 through 2-4 illustrate a sample of the file and directory structure of the IBIS-Q web application on the Apache Tomcat server.Figure 2-2. File Structure on IBIS-PH Application Server (1 of 2)
Figure 2-3. File Structure on IBIS-PH Application Server (2 of 2)
(The XML directory is at the same level of sub-ordination as the XSLT directory in Figure 2-2.) The administrator deals only with the files residing in the XML directory.
SAS Server File Structure
Figure 2-4. IBIS-Q on SAS Server
Note: Administrators deal only with files in ibisq and sasData folders
The workpath directory is used to store the dynamic, temporary files used on a given query. SASData is where the module dataset is stored. For example, death99.sas7bdat and popy2k_2005.sas7bdat are dataset names in used in the mortality module.
The ibisq/qModules directory stores the backend files for each module.
Each module has the following files (example names from the mortality module):
- Configuration file (mortality.cfg). Usually there is one configuration file for each dataset or combination of datasets (numerator and denominator data).
- Function files (Count.def). There will be a function file for each measure (crude rate, count, sum, etc.)
- Optional - Group files (Year99-Pres.grp). Group files are only needed if you are using dynamic variables. One is needed for each dynamic variable.
- XML Element Output Value Mapping (XMLCount.map). There will be one of these files for each type of output. For example: crude rate and age-adjusted rate can use the same file since they are both rates.
- Head file (XMLResponse.head). This file is exactly the same for each module.
- Tail file (XMLResponse.tail). This file is exactly the same for each module.
When working with the backend files remember that all variables are case-sensitive, and must match the variables used in the Interface XML files exactly.