V3 PubProcess - Generate MIF and Related Content
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
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 copy for 'active' and 'support' domains to output directories. (SOMEWHAT REDUNDANT TO -buildDomain)"
04.99...All Generator Processes
Execute all generator processes in a single invocation. (Actually activates the Generator two or three times to complete.)
- Defined Processes (Eclipse Target or BAT file):
- 04.99...All Generator Targets All Generator Targets"