Interweave Implementation Guide
0.1.0 - ci-build United Kingdom flag

Interweave Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the STU3 profiles here.

Resource Profile: InterweaveProcedure - Mappings

Draft as of 2024-07-15

Mappings for the Interweave-Procedure resource profile.

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

InterweaveProcedure
ProcedureEvent
   identifierEvent.identifier
   identifier (localIdentifier)Event.identifier
   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)

InterweaveProcedure
ProcedureEntity. Role, or Act, Procedure[moodCode=EVN]
   meta
      extensionn/a
      tag
      tag (Source)
         extensionn/a
         system./codeSystem
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      tag (Provenance)
         extensionn/a
         system./codeSystem
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   identifier (localIdentifier).id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   statusstatusCode
   statusReason.reason.Observation.value
   category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   code.code
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (snomedCT)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   subject.participation[typeCode=SBJ].role
      referenceN/A
      identifier.identifier
      displayN/A
   encounter.inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
      referenceN/A
      identifier.identifier
      displayN/A
   performed[x].effectiveTime
      start./low
      end./high
   performer.participation[typeCode=PRF]
      modifierExtensionN/A
      function.functionCode
      actor.role
   location.participation[typeCode=LOC].role[classCode=SDLOC]
   reasonCode.reasonCode
   reasonReference.reasonCode
   bodySite.targetSiteCode
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   outcome.outboundRelationship[typeCode=OUT].target.text
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   report.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN]
   complication.outboundRelationship[typeCode=OUTC].target[classCode=OBS, code="complication", moodCode=EVN].value
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   complicationDetail.outboundRelationship[typeCode=OUTC].target[classCode=OBS, code="complication", moodCode=EVN].value
   followUp.outboundRelationship[typeCode=COMP].target[classCode=ACT, moodCode=INT].code
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   note.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
      author[x]Act.participant[typeCode=AUT].role
      timeAct.effectiveTime
      textAct.text
   focalDevice.participation[typeCode=DEV].role[classCode=MANU]
      modifierExtensionN/A
      action.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="procedure device action"].value=:procedure device action codes
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      manipulated.participation[typeCode=DEV].role[classCode=SDLOC]
         referenceN/A
         typeN/A
         identifier.identifier
         displayN/A
   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)

InterweaveProcedure
Procedure
   identifierFiveWs.identifier
   identifier (localIdentifier)FiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   performed[x]FiveWs.done[x]
   performer
      actorFiveWs.actor
   locationFiveWs.where[x]
   reasonCodeFiveWs.why[x]
   reasonReferenceFiveWs.why[x]

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

InterweaveProcedure
Procedure
   meta
      tag
      tag (Source)
         systemC*E.3
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      tag (Provenance)
         systemC*E.3
         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
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   identifier (localIdentifier)Some combination of ORC-2 / ORC-3 / OBR-2 / OBR-3 / IPC-1 / IPC-2 / IPC-3 / IPC-4
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      assignerCX.4 / (CX.4,CX.9,CX.10)
   category
      codingC*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
   codeOBR-44/OBR-45
      codingC*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 (snomedCT)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
   subjectPID-3
   encounterPV1-19
   performed[x]OBR-7
      startDR.1
      endDR.2
   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
      codingC*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
   outcome
      codingC*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
   complication
      codingC*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
   followUp
      codingC*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
   noteNTE
      author[x]N/A
      timeN/A
      textN/A
   focalDevice
      action
         codingC*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