Convert your FHIR JSON -> XML and back here. The CDA Book is sometimes listed for Kindle here and it is also SHIPPING from Amazon! See here for Errata.

Tuesday, March 27, 2012

How to say No Med Allergies in Consolidated CDA

Arien Malec raised the question on on twitter about how to record no drug allergies, but allergic to latex in Consolidated CDA.
No Drug Allergy
The answer for no drug allergy is below.  It uses the model for negation and unknown that I talked about previously here in How to say No.


<act classCode='ACT' moodCode='EVN'>
  <templateId root='2.16.840.1.113883.5.6'/>
  <id root='55092E13-32D5-4e54-A4B2-B61B58901DD2'/>
  <code code='48765-2' displayName='Allergies, adverse reactions, alerts'
    codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
  <statusCode code='active'/>
  <effectiveTime>
    <low value='20120216'/>
  </effectiveTime>
  <entryRelationship typeCode='SUBJ'>
    <observation classCode='OBS' moodCode='EVN' negationInd='true'>
      <templateId root='2.16.840.1.113883.10.20.22.4.7'/>
      <id root='654AB113-EAD6-43fd-8ABC-E55228690AB3'/>
      <code code='ASSERTION' codeSystem='2.16.840.1.113883.5.4'/>
      <statusCode code='completed'/>
      <effectiveTime>
        <low value='1972'/>
      </effectiveTime>
      <value xsi:type='CD' code='416098002' displayName='Drug Allergy'
        codeSystem='2.16.840.1.113883.6.96' codeSystemName='SNOMED CT'>
        <originalText><reference value='#Allergy-1'/></originalText>
      </value>
      <participant classCode='MANU'>
        <playingEntity classCode='MMAT'>
          <code code='410942007' displayName='drug or medication' 
            codeSystem='2.16.840.1.113883.6.96' codeSystemName='SNOMED CT'>
            <originalText><reference value='#Allergen-1'/></originalText>
          </code>
        </playingEntity>
      </particpant>
    </observation>
  </entryRelationship>
</act>


Translated, the inner observation reads: has no drug allergy to any drug or medication.  The challenge with this is in the code for the playing entity.  It doesn't actually match any of the value sets specified in Consolidated CDA for what goes in an allergy observation.  There are three value sets specified in the guide:
  • One for a specific medication (RxNORM)
  • Another for class of medications (NDF-RT)
  • A final one for non-medication substances (UNII) 
This isn't a specific medication, so RxNORM doesn't work.  It is not a non-medication, so UNII isn't right either.  So I should use a code for class of medications (that is a the superset), but I cannot find a code in NDF-RT for the class of all medications (if you can, USE IT instead and let me know what it is), so I used the SNOMED code for drug or medication.

Latex Allergy
For recording a Latex allergy, I'll take the same XML, and modify it thus:
  1. Remove negationInd since I want to record the presence rather than the absence of an allergy
  2. Change the value element code to the SNOMED CT allergy to substance code:
  3. Replace the SNOMED CT code for "drug or medication" with the UNII code for Latex 
<act classCode='ACT' moodCode='EVN'>
  <templateId root='2.16.840.1.113883.5.6'/>
  <id root='55092E13-32D5-4e54-A4B2-B61B58901DD3'/>
  <code code='48765-2' displayName='Allergies, adverse reactions, alerts'
    codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>
  <statusCode code='active'/>
  <effectiveTime>
    <low value='20120216'/>
  </effectiveTime>
  <entryRelationship typeCode='SUBJ'>
    <observation classCode='OBS' moodCode='EVN'>
      <templateId root='2.16.840.1.113883.10.20.22.4.7'/>
      <id root='654AB113-EAD6-43fd-8ABC-E55228690AB4'/>
      <code code='ASSERTION' codeSystem='2.16.840.1.113883.5.4'/>
      <statusCode code='completed'/>
      <effectiveTime>
        <low value='1972'/>
      </effectiveTime>
      <value xsi:type='CD' code='419199007' displayName='Allergy to Substance'
        codeSystem='2.16.840.1.113883.6.96' codeSystemName='SNOMED CT'>
        <originalText><reference value='#Allergy-2'/></originalText>
      </value>
      <participant classCode='MANU'>
        <playingEntity classCode='MMAT'>
          <code code='2LQ0UUW8IN' displayName='Natural Latex Rubber' 
            codeSystem='2.16.840.1.113883.4.9' codeSystemName='UNII'>
            <originalText><reference value='#Allergen-2'/></originalText>
          </code>
        </playingEntity>
      </particpant>
    </observation>
  </entryRelationship>
</act>



1 comment:

  1. 1530 bytes, lot of data, we need to simplify, especially for a mobile environment

    ReplyDelete