V3 PubProcess - Generate MIF and Related Content
Primarytargets and documentation on this page
This page documents a number of named ANT "targets" (names like 00.10...REVIEW properties) that invoke specific tasks, and documents. The combined publishing tools include ten "primary" targets, and over 25 "supplemental" targets. These are distinguished as follows:
|
04...Generate MIF and Related Content
The HL7 V3 Generator is a tool whose primary purpose is to convert a set of domain and design content (frequently expressed in idiosyncratic xml formats, into a set of files expressed in the HL7 Model Interchange Format (MIF); and then to process the MIF files to create a supporting set of artifacts, such as static model schemas, table- and Excel- views of the static models, etc. This section covers the execution of the Generator processes.
04.10...Select configuration
This sub-step has no automated task. It involves establishing the "configuration" parameters for the V3 Generator in InputFiles/configuration.ext. This file is more or less self-documenting. For the purposes of the combined Pub-Gen tool suite, the default properties are just fine, except that "publicationId" should be set to something like "Ballot2010Sep".
04.20...Generate All MIF2
This process starts "from scratch" and builds MIF2 files for all Common source files (RIM.xml, Vocabulary.mif, cmetInfoExport,txt, etc.), static models (submitted in RoseTree-HMD or Visio-XML formats) and dynamic models (pubDb xml) that have been placed in the Generator.
Preparation for this process may include:
- Introduction of new cmetInfoExport.txt, RIM.xml, Vocabulary.MIF and DEFN=VO=...coremif into the Generator/InputFiles/CommonSourceFiles. (This is, as yet, a manual process.)
- Resetting the Generator temporary and output files (see process 00.30...RESET Generator Environment above.
- Clearing the generator InputFiles/DynamicModelFiles and /VisioModelXmlFiles (see process 00.40...CLEAR Selected Generator InputFiles above.)
- Creating new generator dynamic model input from PubDbs (see process 02.10...PUBDB Extract above.)
- Updating InputFiles/DynamicModelFiles and /VisioModelXmlFiles from input sources (see process 02.40...POSITION Domain Source - XML and Visio above.)
NOTE: This process is part of 04.30...Generate All MIF and Schemas (below). If your intent is to generate schemas, use that process instead.
- Defined Processes (Eclipse Target or BAT file):
- 04.20...Generate All MIF2 - Runs Generator up to Schema Generation point, (see 04.30 for full generator run.
04.30...Generate All MIF and Schemas
This process will first build MIF2 files if they have not already been generated, and then create static model and interaction schemas from them. This is equivalent to a "full run" of the generator.
Preparation for this process may include:
- Introduction of new cmetInfoExport.txt, RIM.xml, Vocabulary.MIF and DEFN=VO=...coremif into the Generator/InputFiles/CommonSourceFiles. (This is, as yet, a manual process.)
- Resetting the Generator temporary and output files (see process 00.30...RESET Generator Environment above.
- Clearing the generator InputFiles/DynamicModelFiles and /VisioModelXmlFiles (see process 00.40...CLEAR Selected Generator InputFiles above.)
- Creating new generator dynamic model input from PubDbs (see process 02.10...PUBDB Extract above.)
- Updating InputFiles/DynamicModelFiles and /VisioModelXmlFiles from input sources (see process 02.40...POSITION Domain Source - XML and Visio above.)
NOTE: It is not necessary to run 04.20...Generate All MIF2 before this is run.
- Defined Processes (Eclipse Target or BAT file):
- 04.30...Generate All MIF and Schemas - FULL Generator run - All MIFs and Schemas
04.40...Generate Tables, Excel
One of the functions of the Generator is to create HTML table-views and Excel-views of the static models. These are key documentation elements in publishing a domain. Depending upon the settings in the generator's "configuration.txt" file, the table-views and Excel-views may be created as part of the "FULL Generator run" (04.30...Generate All MIF and Schemas). If this has not been done, this process will create them. (Note: If these views have already been created, this process will not recreate them unless a source file has been changed.)
- Defined Processes (Eclipse Target or BAT file):
- 04.40...Generate Tables and Excel - Process Excel and Table Views from Generator"
04.50...Post-process Excel
The generator produces comma-separated-variable files that can be read by Excel. In order to convert these into viewable content, they must be post-processed in Excel. The Excel spreadsheet named "HL7_RMIM_HMD_master-vx.yy.xls" in the directory input/support/xls contains the macros for making this conversion.
The basic steps are:
- Open the Excel file "HL7_RMIM_HMD_master-v2.26.xls" with Excel
- Enable the macros that this sheet contains.
- The sheet opens to an instruction page.
- Using Excel menus to find the macros, execute the macro named batchFormatHMD
- The macro presents a file browser:
- Navigate to the OutputFiles/ExcelFiles directory of the generator
- Select one or more "*.csv" files to be converted (using "click", "Shift-click" or "Ctrl-click" as needed.
- Click "Open" to start the process
- Each selected file will appear as plain csv text and then be magically converted to a beautiful table that will then be saved before the process begins for the next file.
- When done, close Excel
WARNING: In my experience, it is best to not try to do anything else on your computer while the Excel file conversion process is running. It interferes with your ability to use the clip-board (apparently the automated process uses the clip-board heavily) and your attempts may cause the conversion process to jut stop - not fail or blow up, simply quit. When left alone, it will chug along at about 1 sheet per second until it is done.
04.60...Process QA on MIF
This is a place-holder for a future process definition.
04.70...Version MIF
At some point, we will begin versioning the generated MIF files in SVN.
04.80 or 05.10...Distribute Generated Content
Distribute generated files to Publishing Process directory structure.
- Defined Processes (Eclipse Target or BAT file):
- 04.80...Distribute Generated Content - Causes Domain content for 'active' and 'support' domains to be copies to output directories. This process is not required as a stand-alone, since the act of building a domain will do the same staps anyway.
04.9x...All Generator Processes
Execute all generator processes in a single invocation. (Actually activates the Generator two or three times to complete.) Depending on which option it will also completely clear the Generator and re-load its source before starting.
- Defined Processes (Eclipse Target or BAT file):
- 04.98...All Generator Targets - All Generator Targets is equivalent to running targets 04.20, 04.30, 04.40 and 04.80 in sequence. Although ot takes a bit more time, the following target is preferred because it assures a clean generation.
- 04.99...Clear-Reload-Run All Generator Targets Resets the Generator environment (removing output and temporary files - see 00.30...RESET Generator Environment); clears and reloads the input files for dynamic models and static models (see - 00.40...CLEAR Selected Generator InputFiles); then runs all Generator Targets, which is equivalent to running targets 04.20, 04.30, 04.40 and 04.80 in sequence