Implementation Guide
23.1.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaImmunization - Mappings

Active as of 2022-03-01

Mappings for the athena-immunization-profile resource profile.

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

AthenaImmunization
ImmunizationFHIRR4_IMMUNIZATIONVIEW
   id%IMMUNIZATIONGROUPID%
   meta
      versionId%RESOURCEID%
      lastUpdated%WHENUPDATED%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      tagMakeChangeTagList(%CHANGE%)
   extension
   extension (VFCEligibility)
      value[x]%VFCELIGIBILITY%
   extension (WasNotGiven)
      value[x]Equals("N",%WASGIVEN%)
   identifierMakeIdentifier("U",getSiteSystem("RESOURCEID"),%IMMUNIZATIONGROUPID%)
   statusMapCode(%GIVENSTATUS%, "IMMUNIZATIONGIVENSTATUS")
   statusReason
      coding
      coding (SNOMED)
         code%SNOMEDCODE%
         display%STATUSREASON%
      coding (ACT-REASON)MapCoding(%REASONNOTGIVEN%,"STATUSREASON")
   vaccineCode
      coding (CVX Code)MakeCoding(%CVXCODE%,"http://hl7.org/fhir/sid/cvx", %VACCINENAME%)
      coding (NDC Code)MakeCoding(%NDCCODE%,"http://hl7.org/fhir/sid/ndc", %VACCINENAME%)
   patientMakeReference("PATIENT",%PID%,"Patient")
   encounterMakeReference("DOCUMENT",%SDID%,"Encounter")
   occurrence[x]MakeDateToPrecision(%ADMINISTEREDDATE%,%ADMINISTEREDDATETYPE%)
   primarySourceEquals("N",%HISTORICAL%)
   reportOriginMapConcept(%HISTORICALSOURCE%,"IMMUNIZATIONREPORTORIGIN")
   locationMakeReference("LOCREG",%DOCLOCATIONID%,"Location")
   manufacturerMakeImmunizationTextReference(%MANUFACTURERCODE%,%MANUFACTURER%)
   lotNumber%LOTNUMBER%
   expirationDate%EXPIRATIONDATE%
   siteMapConcept(%SITECODE%,"IMMUNIZATIONSITE")
   routeMakeConcept(%ROUTECODE%,"http://ncimeta.nci.nih.gov",%ROUTE%)
   doseQuantityMakeNonZeroQuantity(%ADMINISTEREDDOSE%,%ADMINISTEREDDOSEUNITS%)
   performer
      actorMakeReference("USR",%ADMINISTEREDBYPVID%,"Practitioner")
   noteIfEqual( %WASGIVEN%,"N").Then(MakeAnnotation(%ADMINISTEREDCOMMENTS%))
   reasonCodeIfEqual( %WASGIVEN%,"Y").Then(MakeTextConcept(%ADMINISTEREDCOMMENTS%))
   reaction
      dateMakeDateToPrecision(%ADVREACTIONDATETIME%,%ADVREACTIONDATETIMETYPE%)
      detailMakeTextReference(%ADVREACTIONCOMMENTS%)
   protocolApplied
      series%VACCINEGROUPNAME%
      doseNumber[x]%SERIES%

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

AthenaImmunization
ImmunizationFHIRR4_IMMUNIZATIONVIEW
   id%IMMUNIZATIONGROUPID%
   meta
      versionId%RESOURCEID%
      lastUpdated%WHENUPDATED%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      tagMakeChangeTagList(%CHANGE%)
   extension
   extension (VFCEligibility)
      value[x]%VFCELIGIBILITY%
   extension (WasNotGiven)
      value[x]Equals("N",%WASGIVEN%)
   identifierMakeIdentifier("U",getSiteSystem("RESOURCEID"),%IMMUNIZATIONGROUPID%)
   statusMapCode(%GIVENSTATUS%, "IMMUNIZATIONGIVENSTATUS")
   statusReason
      coding
      coding (SNOMED)
         code%SNOMEDCODE%
         display%STATUSREASON%
      coding (ACT-REASON)MapCoding(%REASONNOTGIVEN%,"STATUSREASON")
   vaccineCode
      coding (CVX Code)MakeCoding(%CVXCODE%,"http://hl7.org/fhir/sid/cvx", %VACCINENAME%)
      coding (NDC Code)MakeCoding(%NDCCODE%,"http://hl7.org/fhir/sid/ndc", %VACCINENAME%)
   patientMakeReference("PATIENT",%PID%,"Patient")
   encounterMakeReference("DOCUMENT",%SDID%,"Encounter")
   occurrence[x]MakeDateToPrecision(%ADMINISTEREDDATE%,%ADMINISTEREDDATETYPE%)
   primarySourceEquals("N",%HISTORICAL%)
   reportOriginMapConcept(%HISTORICALSOURCE%,"IMMUNIZATIONREPORTORIGIN")
   locationMakeReference("LOCREG",%DOCLOCATIONID%,"Location")
   manufacturerMakeImmunizationTextReference(%MANUFACTURERCODE%,%MANUFACTURER%)
   lotNumber%LOTNUMBER%
   expirationDate%EXPIRATIONDATE%
   siteMapConcept(%SITECODE%,"IMMUNIZATIONSITE")
   routeMakeConcept(%ROUTECODE%,"http://ncimeta.nci.nih.gov",%ROUTE%)
   doseQuantityMakeNonZeroQuantity(%ADMINISTEREDDOSE%,%ADMINISTEREDDOSEUNITS%)
   performer
      actorMakeReference("USR",%ADMINISTEREDBYPVID%,"Practitioner")
   noteIfEqual( %WASGIVEN%,"N").Then(MakeAnnotation(%ADMINISTEREDCOMMENTS%))
   reasonCodeIfEqual( %WASGIVEN%,"Y").Then(MakeTextConcept(%ADMINISTEREDCOMMENTS%))
   reaction
      dateMakeDateToPrecision(%ADVREACTIONDATETIME%,%ADVREACTIONDATETIMETYPE%)
      detailMakeTextReference(%ADVREACTIONCOMMENTS%)
   protocolApplied
      series%VACCINEGROUPNAME%
      doseNumber[x]%SERIES%

Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

AthenaImmunization
ImmunizationEvent
   identifierEvent.identifier
   statusEvent.status
   statusReasonEvent.statusReason
   vaccineCodeEvent.code
   patientEvent.subject
   encounterEvent.context
   occurrence[x]Event.occurrence[x]
   locationEvent.location
   performerEvent.performer
      functionEvent.performer.function
      actorEvent.performer.actor
   noteEvent.note
   reasonCodeEvent.reasonCode
   reasonReferenceEvent.reasonReference

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

AthenaImmunization
ImmunizationVXU_V04
   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
   statusReason
      codingC*E.1-8, C*E.10-22
      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 (ACT-REASON)C*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   vaccineCodeRXA-5
      codingC*E.1-8, C*E.10-22
      coding (CVX Code)C*E.1-8, C*E.10-22
      coding (NDC Code)C*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   patientPID-3
   encounterPV1-19
   occurrence[x]RXA-3
   primarySourceRXA-9
   reportOriginRXA-9
   locationRXA-27 (or RXA-11, deprecated as of v2.7)
   manufacturerRXA-17
   lotNumberRXA-15
   expirationDateRXA-16
   siteRXR-2
   routeRXR-1
   doseQuantityRXA-6 / RXA-7
   performerORC-12 / RXA-10
   noteOBX-5 : OBX-3 = 48767-8
   isSubpotentRXA-20 = PA (partial administration)
   education
      documentTypeOBX-5 : OBX-3 = 69764-9
      publicationDateOBX-5 : OBX-3 = 29768-9
      presentationDateOBX-5 : OBX-3 = 29769-7
   programEligibilityOBX-5 : OBX-3 = 64994-7
   reactionOBX-3
      dateOBX-14 (ideally this would be reported in an IAM segment, but IAM is not part of the HL7 v2 VXU message - most likely would appear in OBX segments if at all)
      detailOBX-5
      reported(HL7 v2 doesn't seem to provide for this)

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

AthenaImmunization
ImmunizationEntity. Role, or Act, SubstanceAdministration
   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 (VFCEligibility)
      idn/a
      extensionn/a
      urlN/A
      value[x]N/A
   extension (WasNotGiven)
      idn/a
      extensionn/a
      urlN/A
      value[x]N/A
   modifierExtensionN/A
   identifier.id
   statusstatusCode
   statusReason.inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].reasonCOde
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (SNOMED)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (ACT-REASON)union(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   vaccineCode.code
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (CVX Code)union(., ./translation)
      coding (NDC Code)union(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   patient.partipication[ttypeCode=].role
   encountercomponent->EncounterEvent
   occurrence[x].effectiveTime
   recorded.participation[typeCode=AUT].time
   primarySourceimmunization.uncertaintycode (if primary source=false, uncertainty=U)
   reportOrigin.participation[typeCode=INF].role[classCode=PAT] (this syntax for self-reported) .participation[typeCode=INF].role[classCode=LIC] (this syntax for health care professional) .participation[typeCode=INF].role[classCode=PRS] (this syntax for family member)
   location.participation[typeCode=LOC].COCT_MT240000UV
   manufacturer.participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=ORG]
   lotNumber.participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].id
   expirationDate.participation[typeCode=CSM].role[classCode=INST].scopedRole.scoper[classCode=MMAT].expirationTime
   siteobservation.targetSiteCode
   route.routeCode
   doseQuantity.doseQuantity
   performer.participation[typeCode=PRF].role[scoper.determinerCode=INSTANCE]
      idn/a
      extensionn/a
      modifierExtensionN/A
      function.participation.functionCode
      actor.player
   notenote
   reasonCode[actionNegationInd=false].reasonCode
   reasonReferenceN/A
   isSubpotentN/A
   subpotentReasonN/A
   educationN/A
      idn/a
      extensionn/a
      modifierExtensionN/A
      documentTypeN/A
      referenceN/A
      publicationDateN/A
      presentationDateN/A
   programEligibilityN/A
   fundingSourceN/A
   reactionObservation[classCode=obs].code
      idn/a
      extensionn/a
      modifierExtensionN/A
      date.effectiveTime
      detail.value
      reported.participation[typeCode=INF].role[classCode=PAT] (this syntax for self-reported=true)
   protocolAppliedN/A
      idn/a
      extensionn/a
      modifierExtensionN/A
      seriesN/A
      authorityN/A
      targetDiseaseN/A
      doseNumber[x]N/A
      seriesDoses[x]N/A

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

AthenaImmunization
Immunization
   identifierFiveWs.identifier
   statusFiveWs.status
   vaccineCodeFiveWs.what[x]
   patientFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   occurrence[x]FiveWs.done[x]
   recordedFiveWs.recorded
   primarySourceFiveWs.source
   reportOriginFiveWs.source
   locationFiveWs.where[x]
   performer
      actorFiveWs.actor

Mappings for CDA (R2) (http://hl7.org/v3/cda)

AthenaImmunization
Immunization
   identifierClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/id
   vaccineCodeClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacturedMaterial/realmCode/code
   occurrence[x]ClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/effectiveTime/value
   manufacturerClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacuturerOrganization/name
   lotNumberClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/consumable/manfacturedProduct/manufacturedMaterial/lotNumberText
   siteClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/approachSiteCode/code
   routeClinicalDocument/component/StructuredBody/component/section/entry/substanceAdministration/routeCode/code