Implementation Guide
23.1.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaEncounter - Mappings

Active as of 2022-03-01

Mappings for the athena-encounter-profile resource profile.

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

AthenaEncounter
EncounterFHIRR4_ENCOUNTERVIEW
   idMakeId(%RESOURCEID%)
   meta
      lastUpdated%WHENUPDATED%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      tag (CHANGE)MakeChangeTagList(%CHANGE%)
   extension
   extension (SUMMARY)
      value[x]%SUMMARY%
   extension (DESCRIPTION)
      value[x]%DESCRIPTION%
   extension (AUNTHENTICATOR)
      value[x]MakeReference("USR",%SIGNER%,"Practitioner")
   identifierMakeIdentifier("RI",getSiteSystem("EncounterId"),%VID%)
   statusMapCode(%ESTATUS%,"ENCOUNTERSTATUS")
   type
      coding
      coding (SNOMEDCODE)MapCoding(%TYPE%, "ENCOUNTERTYPE")
      coding (DOCTYPE)
         codeMakeCode(%TYPE%)
         display%DESCRIPTION%
   priorityMapConcept(%PRIORITY%,"ENCOUNTERPRIORITY")
   subjectMakeReference("PERSON",%PID%,"Patient")
   participantMakeEncounterParticipantList("USR",%PARTICIPANTS%,"Practitioner",%STARTDATE%,%ENDDATE%,%PARTICIPANT_TYPE%,"ENCOUNTERPARTICIPANTTYPE")
   appointmentMakeReference("APPT",%APPTID%,"Appointment")
   periodMakeEMRPeriod(%STARTDATE%,%ENDDATE%)
   reasonCodeMakeTextConcept(%REASON%)
   reasonReferenceMakeReferenceList("PROBLEM",%PROBLEMID%,"Condition")
   hospitalization
      dischargeDispositionMakeConcept("oth","http://terminology.hl7.org/CodeSystem/discharge-disposition","Other")
   location
      locationMakeReference("LOCREG",%DOCLOCATIONID%,"Location")

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

AthenaEncounter
EncounterFHIRR4_ENCOUNTERVIEW
   idMakeId(%RESOURCEID%)
   meta
      lastUpdated%WHENUPDATED%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      tag (CHANGE)MakeChangeTagList(%CHANGE%)
   extension
   extension (SUMMARY)
      value[x]%SUMMARY%
   extension (DESCRIPTION)
      value[x]%DESCRIPTION%
   extension (AUNTHENTICATOR)
      value[x]MakeReference("USR",%SIGNER%,"Practitioner")
   identifierMakeIdentifier("RI",getSiteSystem("EncounterId"),%VID%)
   statusMapCode(%ESTATUS%,"ENCOUNTERSTATUS")
   type
      coding
      coding (SNOMEDCODE)MapCoding(%TYPE%, "ENCOUNTERTYPE")
      coding (DOCTYPE)
         codeMakeCode(%TYPE%)
         display%DESCRIPTION%
   priorityMapConcept(%PRIORITY%,"ENCOUNTERPRIORITY")
   subjectMakeReference("PATIENTPROFILE",%PID%,"Patient")
   participantMakeEncounterParticipantList("USR",%PARTICIPANTS%,"Practitioner",%STARTDATE%,%ENDDATE%,%PARTICIPANT_TYPE%,"ENCOUNTERPARTICIPANTTYPE")
   appointmentMakeReference("APPOINTMENTS",%APPTID%,"Appointment")
   periodMakeEMRPeriod(%STARTDATE%,%ENDDATE%)
   reasonCodeMakeTextConcept(%REASON%)
   reasonReferenceMakeReferenceList("PROBLEM",%PROBLEMID%,"Condition")
   hospitalization
      dischargeDispositionMakeConcept("oth","http://terminology.hl7.org/CodeSystem/discharge-disposition","Other")
   location
      locationMakeReference("LOCREG",%DOCLOCATIONID%,"Location")

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

AthenaEncounter
EncounterEvent
   identifierEvent.identifier
   statusEvent.status
   typeEvent.code
   serviceTypeEvent.code
   subjectEvent.subject
   episodeOfCareEvent.context
   basedOnEvent.basedOn
   participantEvent.performer
      typeEvent.performer.function
      individualEvent.performer.actor
   appointmentEvent.basedOn
   periodEvent.occurrence[x]
   lengthEvent.occurrence[x]
   reasonCodeEvent.reasonCode
   reasonReferenceEvent.reasonCode
   diagnosis
      conditionEvent.reasonReference
   location
      locationEvent.location
   serviceProviderEvent.performer.actor
   partOfEvent.partOf

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

AthenaEncounter
EncounterEntity. Role, or Act, Encounter[@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 (SUMMARY)
      idn/a
      extensionn/a
      urlN/A
      value[x]N/A
   extension (DESCRIPTION)
      idn/a
      extensionn/a
      urlN/A
      value[x]N/A
   extension (AUNTHENTICATOR)
      idn/a
      extensionn/a
      urlN/A
      value[x]N/A
   modifierExtensionN/A
   identifier.id
   status.statusCode
   statusHistoryn/a
      idn/a
      extensionn/a
      modifierExtensionN/A
      statusn/a
      periodn/a
   class.inboundRelationship[typeCode=SUBJ].source[classCode=LIST].code
      idn/a
      extensionn/a
      system./codeSystem
      version./codeSystemVersion
      code./code
      displayCV.displayName
      userSelectedCD.codingRationale
   classHistoryn/a
      idn/a
      extensionn/a
      modifierExtensionN/A
      classn/a
      periodn/a
   type.code
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (SNOMEDCODE)union(., ./translation)
      coding (DOCTYPE)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   serviceTypen/a
   priority.priorityCode
   subject.participation[typeCode=SBJ]/role[classCode=PAT]
   episodeOfCaren/a
   basedOn.reason.ClinicalDocument
   participant.participation[typeCode=PFM]
      idn/a
      extensionn/a
      modifierExtensionN/A
      type.functionCode
      period.time
      individual.role
   appointment.outboundRelationship[typeCode=FLFS].target[classCode=ENC, moodCode=APT]
   period.effectiveTime (low & high)
   length.lengthOfStayQuantity
   reasonCode.reasonCode
   reasonReference.reasonCode
   diagnosis.outboundRelationship[typeCode=RSON]
      idn/a
      extensionn/a
      modifierExtensionN/A
      condition.outboundRelationship[typeCode=RSON].target
      usen/a
      rank.outboundRelationship[typeCode=RSON].priority
   account.pertains.A_Account
   hospitalization.outboundRelationship[typeCode=COMP].target[classCode=ENC, moodCode=EVN]
      idn/a
      extensionn/a
      modifierExtensionN/A
      preAdmissionIdentifier.id
      origin.participation[typeCode=ORG].role
      admitSource.admissionReferralSourceCode
      reAdmissionn/a
      dietPreference.outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=EVN, code="diet"]
      specialCourtesy.specialCourtesiesCode
      specialArrangement.specialArrangementCode
      destination.participation[typeCode=DST]
      dischargeDisposition.dischargeDispositionCode
   location.participation[typeCode=LOC]
      idn/a
      extensionn/a
      modifierExtensionN/A
      location.role
      status.role.statusCode
      period.time
   serviceProvider.particiaption[typeCode=PFM].role
   partOf.inboundRelationship[typeCode=COMP].source[classCode=COMP, moodCode=EVN]

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

AthenaEncounter
Encounter
   identifierFiveWs.identifier
   statusFiveWs.status
   classFiveWs.class
   typeFiveWs.class
   priorityFiveWs.grade
   subjectFiveWs.subject[x], FiveWs.subject
   episodeOfCareFiveWs.context
   participant
      individualFiveWs.who
   periodFiveWs.done[x]
   reasonCodeFiveWs.why[x]
   reasonReferenceFiveWs.why[x]
   diagnosis
      conditionFiveWs.why[x]
   location
      locationFiveWs.where[x]

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

AthenaEncounter
Encounter
   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
   identifierPV1-19
   statusNo clear equivalent in HL7 v2; active/finished could be inferred from PV1-44, PV1-45, PV2-24; inactive could be inferred from PV2-16
   classPV1-2
      systemC*E.3
      versionC*E.7
      codeC*E.1
      displayC*E.2 - but note this is not well followed
      userSelectedSometimes implied by being first
   typePV1-4 / PV1-18
      codingC*E.1-8, C*E.10-22
      coding (SNOMEDCODE)C*E.1-8, C*E.10-22
      coding (DOCTYPE)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
      textC*E.9. But note many systems use C*E.2 for this
   serviceTypePV1-10
   priorityPV2-25
   subjectPID-3
   episodeOfCarePV1-54, PV1-53
   participantROL
      typeROL-3 (or maybe PRT-4)
      periodROL-5, ROL-6 (or maybe PRT-5)
      individualROL-4
   appointmentSCH-1 / SCH-2
   periodPV1-44, PV1-45
   length(PV1-45 less PV1-44) iff ( (PV1-44 not empty) and (PV1-45 not empty) ); units in minutes
   reasonCodeEVN-4 / PV2-3 (note: PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
   reasonReferenceEVN-4 / PV2-3 (note: PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
   diagnosis
      conditionResources that would commonly referenced at Encounter.indication would be Condition and/or Procedure. These most closely align with DG1/PRB and PR1 respectively.
   hospitalization
      preAdmissionIdentifierPV1-5
      admitSourcePV1-14
      reAdmissionPV1-13
      dietPreferencePV1-38
      specialCourtesyPV1-16
      specialArrangementPV1-15 / OBR-30 / OBR-43
      destinationPV1-37
      dischargeDispositionPV1-36
   location
      locationPV1-3 / PV1-6 / PV1-11 / PV1-42 / PV1-43
   serviceProviderPL.6 & PL.1