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

Difference between revisions of "VML Processing Widget"

From HL7Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
[[Category:HowTo]]
 
[[Category:HowTo]]
 +
==Summary==
 
One day soon, this page will document the VML Processing Widget.  This an ANT-scripted process that:
 
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 <big>'''[[Vocabulary Maintenance Language]] (VML)'''</big>,  
 
*consumes proposals for change expressed in the HL7 <big>'''[[Vocabulary Maintenance Language]] (VML)'''</big>,  
Line 6: Line 7:
 
** an SQL update stream for updating files of properties assigned to vocabulary objects, and  
 
** an SQL update stream for updating files of properties assigned to vocabulary objects, and  
 
**:
 
**:
**an XML sream processed in Java to update the primary Access tables  
+
**an XML stream processed in Java to update the primary Access tables  
 
**:
 
**:
 
*:together, these streams update the vocabulary content stored in the Access repository,  
 
*:together, these streams update the vocabulary content stored in the Access repository,  
Line 15: Line 16:
 
*:
 
*:
 
*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.
 
*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.
 +
**:
 +
*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
 +
**:
 +
*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. 
 +
**:
 +
* 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.

Revision as of 21:43, 20 June 2014

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,
  • 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.
  • 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
  • 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.
  • 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.