Page History
...
HL7 MIF Vocabulary load source file
The As of the date this document was authored, the current version of the HL7 MIF Vocabulary that can be used for used as the load source is contained in the file named “DEFN=UV=VO=1189-20121121.coremif”. To obtain a copy of this file, go to the HL7 web site http://www.hl7.org/implement/standards/rim.cfm. From the HL7 web site, down load the latest version of the RIM (i.e. Version 2.41 as of 6/15/2013). The down load will be a zip file containing other zip files. Open the down loaded zip file and navigate to “d” zip file (i.e. rim0241d.zip). The file containing the HL7 MIF Vocabulary (i.e. “DEFN=UV=VO=1189-20121121.coremif”) is contained in the “d” zip file.
...
The current implementation of the LexEVS 6.1 HL7 MIF Vocabulary Loader will load all codeSystems and concept related information contained within the XML load source. Concept related information includes the concept and the properties, relationships and codes the concept has. Concept domain and valueSet , value set and code system supplement related information will NOT be loaded.
Consider the following image below of a small set of HL7 MIF Vocabulary loaded data:
As depicted under A1 in the above image, the LexEVS loader will create a default root node LexGrid Entity named "@". For each codeSystem XML element in the load source, the LexEVS loader will create a LexGrid Entity (A3) and a "hasSubtype" association (A2) with the "@" root node where the "@" root node entity is the source entity and the codeSystem entity (A3) is the target entity. The LexGrid Entity representing a codeSystem XML element will have its entityCode value comprised of the codeSystem's name attribute value and the codeSystem's codeSystemId attribute value concatenated with the colon (":") character as depicted by the value "ConceptStatus:2.16.840.1.113883.5.1086" under A3.
For each concept XML element contained by a codeSystem XML element, the LexEVS loader will create a LexGrid Entity (A5) and a "hasSubtype" association (A4) with the respective LexGrid Entity (A3) representing the codeSystem where the codeSystem entity (A3) is the source entity and the concept entity (A5) is the target entity. The LexGrid Entity representing a concept XML element will have its entityCode value comprised of the code attribute value of the code XML element contained by the concept XML element and the value of the conceptProperty XML element contained by the concept XML element where the conceptProperty element has a type attribute value defined as the concept's internal identifier type ("internalId"). These two values are concatenated with the colon (":") character to create the entityCode value of the LexGrid Entity as depicted by the value "A:19960" under A5.??? Notes about handling concepts having multiple codes and how scheme "code:internal Id" resolves issues. Also, note code values are not guaranteed to be unique across the vocabularyModel ??? Also, notes about all codes being loaded regardless of their status (active vs. retired).
Concepts having concept relationships with other concepts will be created by the LexEVS loader such the association's name (or association predicate) will be the relationshipName attribute value of the conceptRelationship XML element in the load source file. NOTE: these associations between concepts are not depicted in the above image.
Mapping Information
...
.
Concepts Containing Multiple Codes
The HL7 model design for the MIF Vocabulary allows concepts to have more than one code. The load source file “DEFN=UV=VO=1189-20121121.coremif” has 100 concepts that contain multiple codes.
The LexEVS loader handles the multiple code scenarios for a concept by creating a LexGrid Entity for each of the codes contained within the concept. The entityCode value for the LexGrid Entity, as described in the previous Overview section, uses the code value along with concept’s internal identifier type property to distinguish the LexGrid Entities from each other and still have a mechanism via the concept’s internal identifier value to tie them to the same load source concept. The LexEVS loader will apply any concept properties and concept relationships the concept has to each of the LexGrid Entities. For example, if a concept having internal identifier value "12345" has codes ABC and DEF defined and has one concept relationship to the target code XYZ with a relationshipName attribute value of “Specializes” defined, the LexEVS loader will create the “Specializes” LexGrid AssociationPredicate and Associations to the target entity XZY for both source entities ABC and DEF as shown in the following diagram.
Mapping Information
MIF Vocabulary - VocabularyModel Mapping to LexGrid Coding Scheme
...
MIF Vocabulary - XML element | XML attribute | LexGrid Model Element | Notes |
---|---|---|---|
codeSystem | name + “:” + codeSystemId | Entity.entityCode | Formed Formed value using two attributes |
codeSystem | title | Entity.entityDescription.content | |
vocabularyModel | name | Entity.entityCodeNamespace | |
Entity.entityType | Hard Hard coded to value “concept” | ||
Entity.isActive | Hard Hard coded to boolean value true | ||
codeSystem | title | Entity.Presentation.value.Text.context | |
Entity.Presentation.isPreferred | Hard Hard coded to boolean value true | ||
Entity.Presentation.propertyName | Hard Hard coded to value “print_name” | ||
Entity.Presentation.propertyId | Hard Hard coded to value “T1” | ||
Entity.Presentation.language | Hard Hard coded to value “en” | ||
codeSystem:annotations:documentation:description:text | Element’s enclosed data | Entity.Definition.value.Text.content | Used Used if it exists. All HTML styling tags contained within the enclosed data of the text XML element are removed by the loader. |
codeSystem | title | Entity.Definition.value.Text.content | Used Used if above entry does not exist |
Entity.Definition.propertyName | Hard Hard coded to value “definition” | ||
Entity.Definition.propertyId | Hard Hard coded to value “D1” | ||
Entity.Definition.language | Hard Hard coded to value “en” | ||
Entity.Definition.isActive | Hard Hard coded to boolean value true |
...
MIF Vocabulary - XML element | XML attribute | LexGrid Model Element | Notes |
---|---|---|---|
concept:code concept:conceptProperty:value | code + “:” + internalId | Entity.entityCode | Formed value using two attributes. The internal identifier (internalId) value represent’s the value for the conceptProperty with name attribute = “internalId”. |
concept:printName | text | Entity.entityDescription.content | Used Used if it exists |
concept:code | code | Entity.entityDescription.content | Used Used if above entry does not exist |
vocabularyModel | name | Entity.entityCodeNamespace | |
Entity.entityType | Hard Hard coded to value “concept” | ||
concept:code | status | Entity.status | |
Entity.isActive | Set Set to boolean value true if Entity.status = “active” else set to boolean value false |
...
MIF Vocabulary - XML element | XML attribute | LexGrid Model Element | Notes |
---|---|---|---|
concept:annotations:documentation:definition:text | Element’s enclosed data | Entity.Presentation.value.Text.content | Used Used if it exists |
concept:code | code | Entity.Presentation.value.Text.content | Used Used if above entry does not exist |
Entity.Presentation.isPreferred | Hard Hard coded to boolean value true | ||
Entity.Presentation.propertyName | Hard Hard coded to value “print_name” | ||
Entity.Presentation.propertyId | Hard Hard coded to value “T1” | ||
Entity.Presentation.language | Hard Hard coded to value “en” | ||
Entity.Presentation.PropertyQualifier.propertyQualifierName | Hard Hard coded to “source-code” | ||
concept:code concept:conceptProperty:value | code + “:” + internalId | Entity.Presentation.PropertyQualifier.value.Text.content | Formed Formed value using two attributes. The internal identifier (internalId) value represent’s the value for the conceptProperty with name attribute = “internalId”. |
codeSystem | name | Entity.Presentation.Source.content | The The codeSystem the concept is contained within |
...
MIF Vocabulary - XML element | XML attribute | LexGrid Model Element | Notes |
---|---|---|---|
concept:annotations:documentation:definition:text | Element's enclosed data | Entity.Definition.value.Text.content | Used if it exists exists. All HTML styling tags contained within the enclosed data of the text XML element are removed by the loader. |
concept:code | code | Entity.Definition.value.Text.content | Used if above entry does not exist |
Entity.Definition.propertyName | Hard coded to value “definition” | ||
Entity.Definition.propertyId | Hard coded to value “D1” | ||
Entity.Definition.language | Hard coded to value “en” | ||
Entity.Definition.isActive | Hard coded to boolean value true |
...