This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "V3 PubProcess - Generate MIF and Related Content"

From HL7Wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
__NOTOC__
 +
<strong><big>Primarytargets and documentation on this page</big></strong>
 +
*[[#04.50...Post-process Excel|04.50...Post-process Excel]]
 +
*[[#04.80...Distribute Generated Content |04.80...Distribute Generated Content ]]
 +
*[[#04.9x...All Generator Processes |04.9x...All Generator Processes ]]
 +
{{:V3PubProcessTargetNotation}}
 
==04...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.
 
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.
Line 12: Line 18:
  
 
:'''Defined Processes''' (Eclipse '''''Target''''' or '''''BAT''''' file):
 
:'''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.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===
 
===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.   
 
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.   
Line 21: Line 27:
  
 
:'''Defined Processes''' (Eclipse '''''Target''''' or '''''BAT''''' file):
 
:'''Defined Processes''' (Eclipse '''''Target''''' or '''''BAT''''' file):
:*'''''04.30...Generate All MIF and Schemas''''' FULL Generator run - All MIFs and Schemas
+
::*04.30...Generate All MIF and Schemas - FULL Generator run - All MIFs and Schemas
  
 
===04.40...Generate Tables, Excel===
 
===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.)  
 
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):
 
:'''Defined Processes''' (Eclipse '''''Target''''' or '''''BAT''''' file):
:*'''''04.40...Generate Tables and Excel''''' Process Excel and Table Views from Generator"
+
::* 04.40...Generate Tables and Excel - Process Excel and Table Views from Generator"
 
===04.50...Post-process Excel===
 
===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 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.  
Line 41: Line 47:
 
#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.
 
#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
 
#When done, close Excel
 +
 +
<big><strong>WARNING:</strong></big>  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===
 
===04.60...Process QA on MIF===
 
This is a place-holder for a future process definition.
 
This is a place-holder for a future process definition.
Line 48: Line 57:
 
{{:V3 PubProcess - Distribute Generated Content}}
 
{{:V3 PubProcess - Distribute Generated Content}}
 
:'''Defined Processes''' (Eclipse '''''Target''''' or '''''BAT''''' file):
 
:'''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.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===
 
===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.
 
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):
 
:'''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
+
::* 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
 
:*'''''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
  

Latest revision as of 03:07, 30 September 2010


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:
  • Primary targets are shown on this page in bold face; they correspond to "batch" files of the same name.
  • Supplemental targets are shown on this page indented and in normal font; they correspond to "batch" files named with the prefix "supp-" followed by the target name.

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:

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:

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:

  1. Open the Excel file "HL7_RMIM_HMD_master-v2.26.xls" with Excel
  2. Enable the macros that this sheet contains.
  3. The sheet opens to an instruction page.
  4. Using Excel menus to find the macros, execute the macro named batchFormatHMD
  5. The macro presents a file browser:
    1. Navigate to the OutputFiles/ExcelFiles directory of the generator
    2. Select one or more "*.csv" files to be converted (using "click", "Shift-click" or "Ctrl-click" as needed.
    3. Click "Open" to start the process
  6. 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.
  7. 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.

Jump to top of page

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

Jump to top of page

Jump to Publishing Process "Root" Page