Implementation Guide
23.1.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaProcedure - Mappings

Active as of 2022-03-01

Mappings for the athena-procedure-profile resource profile.

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

AthenaProcedure
ProcedureFHIRR4_PROCEDUREVIEW
   id%RESOURCEID%
   meta
      versionIdMakeId(%ORDERID%)
      lastUpdated%DB_UPDATED_DATE%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      security (LOCATION)
         systemgetSiteCodeSystem("Location")
         code%LOCATIONID%
      security (CONFTYPEID)
         systemgetSiteCodeSystem("ConfTypeId")
         code%CONFTYPEID%
      tagMakeChangeTagSwitchList(%CHANGE%)
   identifierMakeIdentifier("U",getSiteSystem("ORDERNUM"),%ORDERNUM%)
   basedOnMakeReference("ORDERS",%RESOURCEID%,"ServiceRequest")
   statusMapCode(%DSTATUS%,"PROCEDURESTATUS")
   statusReasonMakeTextConcept(%CANCELREASON%)
   codeMakeOrderCodeConcept(%CODE%, %DESCRIPTION%,%SYSTEM%)
   subjectMakeReference("PERSON",%PID%,"Patient")
   encounterMakeReference("DOCUMENT",%SDID%,"Encounter")
   performed[x]%COMPLETED_DT%
   performer
      actorMakeReference("USR",%PERFORMER%,"Practitioner")
   reasonReferenceMakeReference("PROBLEM",%SPRID%,"Condition")
   notemakeAnnotation(%CLINCOMMENTS%)

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

AthenaProcedure
ProcedureFHIRR4_PROCEDUREVIEW
   id%RESOURCEID%
   meta
      versionIdMakeId(%ORDERID%)
      lastUpdated%DB_UPDATED_DATE%
      security
      security (SENSITIVECHART)CheckSensitive(%SENSITIVECHART%)
      security (CONFABBR)
         systemgetSiteCodeSystem("ConfidentialDocument")
         code%CONFABBR%
      security (LOCATION)
         systemgetSiteCodeSystem("Location")
         code%LOCATIONID%
      security (CONFTYPEID)
         systemgetSiteCodeSystem("ConfTypeId")
         code%CONFTYPEID%
      tagMakeChangeTagSwitchList(%CHANGE%)
   identifierMakeIdentifier("U",getSiteSystem("ORDERNUM"),%ORDERNUM%)
   basedOnMakeReference("ORDERS",%RESOURCEID%,"ServiceRequest")
   statusMapCode(%DSTATUS%,"PROCEDURESTATUS")
   statusReasonMakeTextConcept(%CANCELREASON%)
   codeMakeOrderCodeConcept(%CODE%, %DESCRIPTION%,%SYSTEM%)
   subjectMakeReference("PERSON",%PID%,"Patient")
   encounterMakeReference("DOCUMENT",%SDID%,"Encounter")
   performed[x]%COMPLETED_DT%
   performer
      actorMakeReference("USR",%PERFORMER%,"Practitioner")
   reasonReferenceMakeReference("PROBLEM",%SPRID%,"Condition")
   notemakeAnnotation(%CLINCOMMENTS%)

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

AthenaProcedure
ProcedureEvent
   identifierEvent.identifier
   instantiatesCanonicalEvent.instantiatesCanonical
   instantiatesUriEvent.instantiatesUri
   basedOnEvent.basedOn
   partOfEvent.partOf
   statusEvent.status
   statusReasonEvent.statusReason
   codeEvent.code
   subjectEvent.subject
   encounterEvent.context
   performed[x]Event.occurrence[x]
   performerEvent.performer
      functionEvent.performer.function
      actorEvent.performer.actor
   reasonCodeEvent.reasonCode
   reasonReferenceEvent.reasonReference
   noteEvent.note

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

AthenaProcedure
ProcedureEntity. Role, or Act, Procedure[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
      security (LOCATION)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      security (CONFTYPEID)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
   instantiatesCanonical.outboundRelationship[typeCode=DEFN].target
   instantiatesUri.outboundRelationship[typeCode=DEFN].target
   basedOn.outboundRelationship[typeCode=FLFS].target[classCode=(various e.g. PROC, OBS, PCPR, ACT, moodCode=RQO].code
   partOf.inboundRelationship[typeCode=COMP].source[classCode=SBADM or PROC or OBS, moodCode=EVN]
   statusstatusCode
   statusReason.reason.Observation.value
   category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
   code.code
   subject.participation[typeCode=SBJ].role
   encounter.inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
   performed[x].effectiveTime
   recorder.participation[typeCode=AUT].role
   asserter.participation[typeCode=INF].role
   performer.participation[typeCode=PRF]
      idn/a
      extensionn/a
      modifierExtensionN/A
      function.functionCode
      actor.role
      onBehalfOf.scoper
   location.participation[typeCode=LOC].role[classCode=SDLOC]
   reasonCode.reasonCode
   reasonReference.reasonCode
   bodySite.targetSiteCode
   outcome.outboundRelationship[typeCode=OUT].target.text
   report.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN]
   complication.outboundRelationship[typeCode=OUTC].target[classCode=OBS, code="complication", moodCode=EVN].value
   complicationDetail.outboundRelationship[typeCode=OUTC].target[classCode=OBS, code="complication", moodCode=EVN].value
   followUp.outboundRelationship[typeCode=COMP].target[classCode=ACT, moodCode=INT].code
   note.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
   focalDevice.participation[typeCode=DEV].role[classCode=MANU]
      idn/a
      extensionn/a
      modifierExtensionN/A
      action.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="procedure device action"].value=:procedure device action codes
      manipulated.participation[typeCode=DEV].role[classCode=SDLOC]
   usedReference.participation[typeCode=DEV].role[classCode=MANU] or .participation[typeCode=CSM].role[classCode=ADMM] (for Medication or Substance)
   usedCodeparticipation[typeCode=Dev].role[classCode=MANU]

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

AthenaProcedure
Procedure
   identifierFiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   performed[x]FiveWs.done[x]
   recorderFiveWs.author
   asserterFiveWs.source
   performer
      actorFiveWs.actor
   locationFiveWs.where[x]
   reasonCodeFiveWs.why[x]
   reasonReferenceFiveWs.why[x]

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

AthenaProcedure
Procedure
   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
      security (LOCATION)
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      security (CONFTYPEID)
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
   identifierSome combination of ORC-2 / ORC-3 / OBR-2 / OBR-3 / IPC-1 / IPC-2 / IPC-3 / IPC-4
   codeOBR-44/OBR-45
   subjectPID-3
   encounterPV1-19
   performed[x]OBR-7
   performer
      functionSome combination of STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17 / OBX-25
      actorORC-19/PRT-5
   bodySiteOBX-20
   noteNTE