Implementation Guide
23.1.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaAllergy - Mappings

Active as of 2022-03-01

Mappings for the athena-allergy-profile resource profile.

Mappings for athenaFlow (http://unknown.org/athenaFlow)

AthenaAllergy
AllergyIntoleranceFHIRR4_ALLERGYINTOLERANCEVIEW
   idMakeId("ALLERGY",%RESOURCEID%)
   meta
      versionIdMakeId(%AID%)
      lastUpdated%WHENUPDATED%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      tagMakeChangeTagList(%CHANGE%)
   extension
   extension (encounter)
      value[x]MakeReference("ALLERGY",%SDID%,"Encounter")
   extension (enddate)
      value[x]%STOPDATE%
   identifierMakeIdentifier("U",getSiteSystem("AllergyId"),%EXTALLERGYID%)
   clinicalStatusMapConceptCode("active",%CLINICALSTATUS%,"ALLERGYCLINICALSTATUS")
   verificationStatusMapConcept(%VERIFICATIONSTATUS%,"ALLERGYVERIFICATIONSTATUS")
   categoryMapCode(%ALLCLASS%,"ALLERGYCLASS")
   criticalityMapCode(%ISCRITICAL%,"ALLERGYCRIT")
   code
      coding
      coding (LabProd)
         code%NDCLABPROD%
      coding (GPI)
         code%GPI%
      coding (DDID)
         code%DDID%
      coding (KDC)
         code%KDC%
      coding (SNOMED)
         code%SNOMED%
      coding (RXNORM)MakeRxnormCodingList(%RXNORM%,"http://www.nlm.nih.gov/research/umls/rxnorm",null)
      text%NAME%
   patientMakeReference("PERSON",%PID%,"Patient")
   onset[x]%ONSETDATE% | %APPROXONSET%
   recordedDate%WHENCREATED%
   recorderMakeReference("USR",%CREATOR%,%USRID%,"Practitioner")
   notemakeAnnotation(%DESCRIPTION%)
   reaction
      manifestation
   reaction (SHOCK)
      manifestation
         codingMakeCoding(%SHOCK%,"http://snomed.info/sct", "Shock")
   reaction (RESP)
      manifestation
         codingMakeCoding(%RESP%,"http://snomed.info/sct", "Shortness of Breath")
   reaction (GI)
      manifestation
         codingMakeCoding(%GI%,"http://snomed.info/sct", "Gastrointestinal")
   reaction (HEME)
      manifestation
         codingMakeCoding(%HEME%,"http://snomed.info/sct", "Bleeding")
   reaction (RASH)
      manifestation
         codingMakeCoding(%RASH%,"http://snomed.info/sct", "Rash")
   reaction (OTHER)
      manifestation
         codingMakeCoding(%OTHER%,"http://snomed.info/sct", %DESCRIPTION%)

Mappings for athenaPractice (http://unknown.org/athenaPractice)

AthenaAllergy
AllergyIntoleranceFHIRR4_ALLERGYINTOLERANCEVIEW
   idMakeId("ALLERGY",%RESOURCEID%)
   meta
      versionIdMakeId(%AID%)
      lastUpdated%WHENUPDATED%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      tagMakeChangeTagList(%CHANGE%)
   extension
   extension (encounter)
      value[x]MakeReference("ALLERGY",%SDID%,"Encounter")
   extension (enddate)
      value[x]%STOPDATE%
   identifierMakeIdentifier("U",getSiteSystem("AllergyId"),%EXTALLERGYID%)
   clinicalStatusMapConceptCode("active",%CLINICALSTATUS%,"ALLERGYCLINICALSTATUS")
   verificationStatusMapConcept(%VERIFICATIONSTATUS%,"ALLERGYVERIFICATIONSTATUS")
   categoryMapCode(%ALLCLASS%,"ALLERGYCLASS")
   criticalityMapCode(%ISCRITICAL%,"ALLERGYCRIT")
   code
      coding
      coding (LabProd)
         code%NDCLABPROD%
      coding (GPI)
         code%GPI%
      coding (DDID)
         code%DDID%
      coding (KDC)
         code%KDC%
      coding (SNOMED)
         code%SNOMED%
      coding (RXNORM)MakeRxnormCodingList(%RXNORM%,"http://www.nlm.nih.gov/research/umls/rxnorm",null)
      text%NAME%
   patientMakeReference("PERSON",%PID%,"Patient")
   onset[x]%ONSETDATE% | %APPROXONSET%
   recordedDate%WHENCREATED%
   recorderMakeReference("USR",%CREATOR%,%USRID%,"Practitioner")
   notemakeAnnotation(%DESCRIPTION%)
   reaction
      manifestation
   reaction (SHOCK)
      manifestation
         codingMakeCoding(%SHOCK%,"http://snomed.info/sct", "Shock")
   reaction (RESP)
      manifestation
         codingMakeCoding(%RESP%,"http://snomed.info/sct", "Shortness of Breath")
   reaction (GI)
      manifestation
         codingMakeCoding(%GI%,"http://snomed.info/sct", "Gastrointestinal")
   reaction (HEME)
      manifestation
         codingMakeCoding(%HEME%,"http://snomed.info/sct", "Bleeding")
   reaction (RASH)
      manifestation
         codingMakeCoding(%RASH%,"http://snomed.info/sct", "Rash")
   reaction (OTHER)
      manifestation
         codingMakeCoding(%OTHER%,"http://snomed.info/sct", %DESCRIPTION%)

Mappings for RIM Mapping (http://hl7.org/v3)

AthenaAllergy
AllergyIntoleranceEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   meta
      idn/a
      extensionn/a
      security
      security (SENSITIVECHART)
      security (CONFABBR)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
   textAct.text?
   containedN/A
   extension
   extension (encounter)
      idn/a
      extensionn/a
      urlN/A
      value[x]N/A
   extension (enddate)
      idn/a
      extensionn/a
      urlN/A
      value[x]N/A
   modifierExtensionN/A
   identifierid
   clinicalStatusObservation ACT .inboundRelationship[typeCode=COMP].source[classCode=OBS, code="clinicalStatus", moodCode=EVN].value
   verificationStatusObservation ACT .inboundRelationship[typeCode=COMP].source[classCode=OBS, code="verificationStatus", moodCode=EVN].value
   typecode
   categoryvalue < IntoleranceValue (Agent)
   criticalityinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
   codesubstance/product: .participation[typeCode=CAGNT].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType] negated/excluded substance/product: .participation[typeCode=CAGNT, negationInd=true].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType] positive or negated/excluded condition/situation: Observation.code=ASSERTION; Observation.value
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (LabProd)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (GPI)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (DDID)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (KDC)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (SNOMED)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (RXNORM)union(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   patient.participation[typeCode=SBJ].role[classCode=PAT]
   encounter.inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
   onset[x]effectiveTime.low
   recordedDate.participation[typeCode=AUT].time
   recorder.participation[typeCode=AUT].role
   asserter.participation[typeCode=INF].role
   lastOccurrenceoutBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)].effectiveTime
   notesubjectOf.observationEvent[code="annotation"].value
   reactionoutBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)]
      idn/a
      extensionn/a
      modifierExtensionN/A
      substanceoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].participation[typeCode=CSM].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType]
      manifestationcode
      descriptiontext
      onseteffectiveTime.low
      severityinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
      exposureRouteoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].routeCode
      notesubjectOf.observationEvent[code="annotation"].value
   reaction (SHOCK)outBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)]
      idn/a
      extensionn/a
      modifierExtensionN/A
      substanceoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].participation[typeCode=CSM].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType]
      manifestationcode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      descriptiontext
      onseteffectiveTime.low
      severityinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
      exposureRouteoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].routeCode
      notesubjectOf.observationEvent[code="annotation"].value
   reaction (RESP)outBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)]
      idn/a
      extensionn/a
      modifierExtensionN/A
      substanceoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].participation[typeCode=CSM].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType]
      manifestationcode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      descriptiontext
      onseteffectiveTime.low
      severityinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
      exposureRouteoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].routeCode
      notesubjectOf.observationEvent[code="annotation"].value
   reaction (GI)outBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)]
      idn/a
      extensionn/a
      modifierExtensionN/A
      substanceoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].participation[typeCode=CSM].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType]
      manifestationcode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      descriptiontext
      onseteffectiveTime.low
      severityinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
      exposureRouteoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].routeCode
      notesubjectOf.observationEvent[code="annotation"].value
   reaction (HEME)outBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)]
      idn/a
      extensionn/a
      modifierExtensionN/A
      substanceoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].participation[typeCode=CSM].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType]
      manifestationcode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      descriptiontext
      onseteffectiveTime.low
      severityinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
      exposureRouteoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].routeCode
      notesubjectOf.observationEvent[code="annotation"].value
   reaction (RASH)outBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)]
      idn/a
      extensionn/a
      modifierExtensionN/A
      substanceoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].participation[typeCode=CSM].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType]
      manifestationcode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      descriptiontext
      onseteffectiveTime.low
      severityinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
      exposureRouteoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].routeCode
      notesubjectOf.observationEvent[code="annotation"].value
   reaction (OTHER)outBoundRelationship[typeCode=SUBJ].target[classCode=OBS, moodCode=EVN, code <= CommonClinicalObservationType, value <= ObservationValue (Reaction Type)]
      idn/a
      extensionn/a
      modifierExtensionN/A
      substanceoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].participation[typeCode=CSM].role[classCode=ADMM].player[classCode=MAT, determinerCode=KIND, code <= ExposureAgentEntityType]
      manifestationcode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      descriptiontext
      onseteffectiveTime.low
      severityinboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=SEV, value <= SeverityObservation (Severity Level)]
      exposureRouteoutBoundRelationship[typeCode=SAS].target[classCode=SBADM, code <= ExposureCode].routeCode
      notesubjectOf.observationEvent[code="annotation"].value

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

AthenaAllergy
AllergyIntolerance
   identifierFiveWs.identifier
   clinicalStatusFiveWs.status
   verificationStatusFiveWs.status
   typeFiveWs.class
   categoryFiveWs.class
   criticalityFiveWs.grade
   codeFiveWs.what[x]
   patientFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   onset[x]FiveWs.init
   recordedDateFiveWs.recorded
   recorderFiveWs.author
   asserterFiveWs.source

Mappings for HL7 v2 Mapping (http://hl7.org/v2)

AthenaAllergy
AllergyIntolerance
   meta
      security
      security (SENSITIVECHART)
      security (CONFABBR)
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
   identifierIAM-7
   typeIAM-9
   categoryAL1-2
   criticalityAL1-4
   codeAL1-3 / IAM-3
      codingC*E.1-8, C*E.10-22
      coding (LabProd)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (GPI)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (DDID)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (KDC)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (SNOMED)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (RXNORM)C*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   patient(PID-3)
   recordedDateIAM-13
   asserterIAM-14 (if patient) / IAM-18 (if practitioner)
   reaction
      manifestationAL1-5
      onsetAL1-6
   reaction (SHOCK)
      manifestationAL1-5
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      onsetAL1-6
   reaction (RESP)
      manifestationAL1-5
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      onsetAL1-6
   reaction (GI)
      manifestationAL1-5
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      onsetAL1-6
   reaction (HEME)
      manifestationAL1-5
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      onsetAL1-6
   reaction (RASH)
      manifestationAL1-5
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      onsetAL1-6
   reaction (OTHER)
      manifestationAL1-5
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      onsetAL1-6