Difference between revisions of "VML Processing Widget"
(uirements an) |
|||
Line 85: | Line 85: | ||
*: | *: | ||
*'''Text Editor''': (your choice) for editing the "working list" that governs the "widget processes." The ANT script will activate whichever text editor is the default for the *.txt" file type on your system, | *'''Text Editor''': (your choice) for editing the "working list" that governs the "widget processes." The ANT script will activate whichever text editor is the default for the *.txt" file type on your system, | ||
+ | ===Widget Installation=== | ||
+ | The Widget is distributed as a release of [http://gforge.hl7.org/gf/project/vocab-tools/frs/ Vocabulary Maintenance Widget] on HL7 Gforge, and is available as a hyperlink under "Quick Downloads" on the Gforge home page. The widget is distributed in a ZIP archive named like '''hl7_vocabulary-vmlwidget-''m.n.o.zip''''', where '''''m.n.o''''' is the current release identifier. | ||
+ | ====Base Installation==== | ||
+ | #Download the archive | ||
+ | #: | ||
+ | #Place the archive in a home directory of your choosing, but do not place it inside “Program Files” | ||
+ | #:The archive includes its own “root” which will appear in the target directory as it is extracted. | ||
+ | #: | ||
+ | #Extract file, maintaining the directory structure; the root directory will appear as named '''vmlwidget-''m.n.o''''' (as before where ''m.n.o'' is the release identifier. | ||
+ | #: | ||
+ | #In the root directory find the file '''''00.00_1st_INSTALL_ALL_Change_to_dot_bat_and_RUN_this''''' | ||
+ | #: | ||
+ | #Rename it by adding the “.bat” extension at the end. | ||
+ | #: | ||
+ | #Run the renamed ".bat file (by double-clicking) | ||
+ | #: | ||
+ | #The installation will list the license terms and then pause for you to accept them. Accept the license agreement by responding YES |
Revision as of 02:03, 21 June 2014
Contents
Summary
One day soon, this page will document the VML Processing Widget. This an ANT-scripted process that:
- consumes proposals for change expressed in the HL7 Vocabulary Maintenance Language (VML),
- splits these proposals into two source streams targeted at the Access repository in which the HL7 Vocabulary content is stored::
- an SQL update stream for updating files of properties assigned to vocabulary objects, and
- an XML stream processed in Java to update the primary Access tables
- together, these streams update the vocabulary content stored in the Access repository,
- an SQL update stream for updating files of properties assigned to vocabulary objects, and
- uses a Java process to "clean up" the Access content,
- invokes RoseTree to express the complete vocabulary content in HL7 Model Interchange Format (MIF), and
- combines this MIF content from the Access repository with an externally maintained MiF extension file to arrive at a final, complete expression of HL7's vocabulary in MIF.
Background
Management of HL7 Vocabulary Content
In brief, the HL7 Vocabulary Content:
- Is published and releases as a formal expression of the content in Model Interchange Format (MIF)files; This format:
- Documents the data that define each of the artifacts (Concept Domains, Code Systems, Value Sets, etc.)
- Documents the relationships between the artifacts (such as bindings);
- Provides a vehicle for using XML X-path logic to query and/or analyze the content;
- Provides the source for transforms used to publish the content in HL7 Ballots and Normative Editions.
- Documents the data that define each of the artifacts (Concept Domains, Code Systems, Value Sets, etc.)
- Is archived and persisted two complimentary forms:
- an Access data base, designed over 13 years ago, that serves as the "repositiry" for this content; plus
- “Extensions files,” represented in MIF format, that primarily document those Value Sets that are defined against external code systems) expressed in MIF
- an Access data base, designed over 13 years ago, that serves as the "repositiry" for this content; plus
- Vocabulary Content is updated through the Vocabulary_and_RIM_Harmonization_Process, the results of which drive updates to the Repository and/or extension files.
Prior to the development of this widget, the means for processing updates to the HL7 Vocabulary Content involved:
- Creating update files expressed in the HL7 Vocabulary Maintenance Language (VML) files.
- "Posting the data in these files to the repository database using the Java-encoded procedures compiled as “VocMaint_and_dependencies.jar”. Weaknesses of this process include:
- Some updates require manual changes (table/row updates) in Access – but only when VML cannot be used. This requirement arose primarily when it was necessary to update concept properties and “object properties” on Concept Domains and Value Sets
- The original VML schema encapsulates “descriptive markup” (html formatting of descriptions), such as the definition of a concept or the description of a value set's content and purpose)in a CDATA wrapper. This encapsulation precluded validation of the markup prior to its being posted to the data base with the too-frequent requirement to cretae a subsequent correction update.
- Some updates require manual changes (table/row updates) in Access – but only when VML cannot be used. This requirement arose primarily when it was necessary to update concept properties and “object properties” on Concept Domains and Value Sets
- Once the content was posted to the database, the definitive “coremif” was assembled from the Access data by RoseTree, with the “Extensions” merged in by transform.
Capabilities of the New Widget
What does this Widget provide?
- A revision of the VML Schema and its placement in the “mif namespace”, that:
- Allows descriptive markup to be validated as the VML files are created
- Extends the VML to include the ability to “update” and “delete” concept properties
- Extends the VML to add the ability to “add”, “update”, and “remove/replace” object properties
- Extends the VML to enable the creation of Value Sets using "extensional definition" against External Code Systems from VML
These extensions are not processed through the extant Java-process. Rather it relies upon pre-defined queries and code (activated from the widget) that perform the necessary data base updates without interfering with the ability to use the original VML for its intended purpose. This is accomplished by:
- Using XSLT transforms to convert and split “revised VML files” into:
- “Standard” VML that can be posted to the data base using the current vocabulary maintenance Java programs, AND
- Creation a standard data import table (in pipe-delimited format) that defines the data and control codes needed to perform the “extension” queries,
- “Standard” VML that can be posted to the data base using the current vocabulary maintenance Java programs, AND
- establishing queries and logic in the Access repository (using Visual Basic fr Applications - VBA - in Access) to post these changes.
- Process controlled by the Java-based ANT scripting language that are controlled from a Work List, and that automate all non-editorial processes
System Requirements and Installation
System requirements
- Windows - 7 or 8 32- or 64-bit: Although the core elements Script SHOULD work in a Unix or Mac environment, they have not been tested other than in Windows amd other key elements woill NOT work outside of Windows. Specifically:
- RoseTree, a Windows application, is needed to complete the extraction from the repository and the expression in MIF
- Access is required in order to post the VML "extension" content into access.
- RoseTree, a Windows application, is needed to complete the extraction from the repository and the expression in MIF
- Memory should exceed 2 (preferably 4( GB as the RoseTree memory demands while converting to MIF are sizable.
- 32-bit Java JRE in environment: Even if your installation is a 64-but machine, there must be a 32-bit JRE installed in order for the Java VML posting process to connect to the data base. The 32-bit JRE can be installed side-by-side with a 64-bit JRE.
- XML editor that will validate from schema: is highly beneficial when creating VML source files for processing. The author uses XML Spy.
- Microsoft Access: Access is required to process the SQL updates that implement the "VML Extensions". This can be either a 32=bit or 64-bit Office installation.
- RoseTree III: This application performs the final extraction and MIF expression step. It can be downloaded from the executables in the RoseTree project on Gforge.
- Text Editor: (your choice) for editing the "working list" that governs the "widget processes." The ANT script will activate whichever text editor is the default for the *.txt" file type on your system,
Widget Installation
The Widget is distributed as a release of Vocabulary Maintenance Widget on HL7 Gforge, and is available as a hyperlink under "Quick Downloads" on the Gforge home page. The widget is distributed in a ZIP archive named like hl7_vocabulary-vmlwidget-m.n.o.zip, where m.n.o is the current release identifier.
Base Installation
- Download the archive
- Place the archive in a home directory of your choosing, but do not place it inside “Program Files”
- The archive includes its own “root” which will appear in the target directory as it is extracted.
- Extract file, maintaining the directory structure; the root directory will appear as named vmlwidget-m.n.o (as before where m.n.o is the release identifier.
- In the root directory find the file 00.00_1st_INSTALL_ALL_Change_to_dot_bat_and_RUN_this
- Rename it by adding the “.bat” extension at the end.
- Run the renamed ".bat file (by double-clicking)
- The installation will list the license terms and then pause for you to accept them. Accept the license agreement by responding YES