Within a CDA there are many opportunities to represent codified data. Many times local implementations will store codes using a canonical (or application specific) concept identifier. In OpenMRS terms, this represents the concept identifier in the OpenMRS concept dictionary.
When communication with OpenSHR via CDA it is important the content consumers translate their internal representation to a code which lies in the valid set of codes listed in the particular element (such as section code, entry value, etc.).
When communicating with OpenSHR it is recommended that content creators use the recommended valueset / code binding as the primary code, and supply their local "original" code as well. Figure 1 illustrates a coded value identifying how codified values should be represented in a CDA.
Figure 1 - Coding specification
<code code="STANDARDIZED CODE MNEMONIC"
codeSystem="OID OF THE STANDARDIZED CODE SYSTEM"
codeSystemName="(OPTIONAL) NAME OF THE CODE SYSTEM"
displayName="(OPTIONAL) DISPLAY TEXT FOR THE CODE">
<!-- Optional Original Text : Can point to the section text
where the original text for the concept (as displayed
in the user interface to the user) is located-->
<originalText>
<reference value="#codeText"/>
</originalText>
<!-- 0..n Translations to equivalent concepts -->
<translation code="LOCAL CODE MNEMONIC"
codeSystem="OID OF THE LOCAL CODE SYSTEM"
codeSystemName="(OPTIONAL) NAME OF THE CODE SYSTEM"
displayName="(OPTIONAL) DISPLAY TEXT FOR THE CODE"/>
</code>
Figure 2 illustrates a Drug (penicillin) represented as RxNORM (the recommended code system) as well as MVP/CIEL and SNOMED.
Figure 2 - Example coding of Penicillin
<code code="70618" codeSystem="2.16.840.1.113883.6.88" codeSystemName="RxNORM"
displayName="Penicillin">
<originalText representation="TXT" language="en-US">
<reference value="#txtc787b6fe"/>
</originalText>
<translation code="81724" codeSystem="9.9.9.9.9.9.9" codeSystemName="CIEL"/>
<translation code="373270004" codeSystem="2.16.840.1.113883.6.96"
codeSystemName="SNOMED CT"/>
<translation code="6369005" codeSystem="2.16.840.1.113883.6.96"
codeSystemName="SNOMED CT"/>
</code>
Sometimes it is necessary to represent a piece of data whereby no mapping exists between the local system's concepts and OpenSHR's preferred terminology. In this case it is recommended to represent the code as a nullFlavor of "OTH". Figure 3 illustrates a case where no standardized code exists for Myocardial Infarction in SNOMED (perhaps the system does not have mappings to SNOMED), however there exists a map to MVP/CIEL.
Figure 3 - Example coding where standardized codes are not available
<value nullFlavor="OTH" codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED CT">
<originalText representation="TXT" language="en-US">
<reference value="#txtd217167a"/>
</originalText>
<translation code="115432" codeSystem="9.9.9.9.9.9" codeSystemName="CIEL"
displayName="Myocardial Infarction"/>
<translation code="MIARCH" codeSystem="8.8.8.8.8.8" codeSystemName="LOCAL"
displayName="Myocardial Infarction"/>
</value>
CDA further supports another representation of nullFlavor of "OTH" and only OriginalText being provided, however due to requirements of OpenSHR's data model this representation of codes is not permitted.

  • No labels