openIMIS FHIR R4 Implementation Guide
1.0.0 - ci-build

openIMIS FHIR R4 Implementation Guide - Local Development build (v1.0.0). See the Directory of published versions

Resource Profile: OpenIMISPatient - Mappings

Active as of 2022-05-31

Mappings for the openimis-patient resource profile.

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

OpenIMISPatient
PatientEntity. Role, or Act, Patient[classCode=PAT]
   textAct.text?
   containedN/A
   modifierExtensionN/A
   identifierid
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         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
      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 (Code)id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         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
      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 (UUID)id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         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
      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
   activestatusCode
   namename
      idn/a
      extensionn/a
      useunique(./use)
      text./formatted
      family./part[partType = FAM]
      given./part[partType = GIV]
      prefix./part[partType = PFX]
      suffix./part[partType = SFX]
      period./usablePeriod[type="IVL<TS>"]
   telecomtelecom
      idn/a
      extensionn/a
      system./scheme
      value./url
      useunique(./use)
      rankn/a
      period./usablePeriod[type="IVL<TS>"]
   telecom (email)telecom
      idn/a
      extensionn/a
      system./scheme
      value./url
      useunique(./use)
      rankn/a
      period./usablePeriod[type="IVL<TS>"]
   telecom (phone)telecom
      idn/a
      extensionn/a
      system./scheme
      value./url
      useunique(./use)
      rankn/a
      period./usablePeriod[type="IVL<TS>"]
   genderplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
   birthDateplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
   addressaddr
      idn/a
      useunique(./use)
      typeunique(./use)
      text./formatted
      lineAD.part[parttype = AL]
      cityAD.part[parttype = CTY]
      districtAD.part[parttype = CNT | CPA]
      stateAD.part[parttype = STA]
      period./usablePeriod[type="IVL<TS>"]
   address (FamilyAddress)addr
      idn/a
      extensionn/a
      useunique(./use)
      typeunique(./use)
      text./formatted
      lineAD.part[parttype = AL]
      cityAD.part[parttype = CTY]
      districtAD.part[parttype = CNT | CPA]
      stateAD.part[parttype = STA]
      postalCodeAD.part[parttype = ZIP]
      countryAD.part[parttype = CNT]
      period./usablePeriod[type="IVL<TS>"]
   address (InsureeAddress)addr
      idn/a
      extensionn/a
      useunique(./use)
      typeunique(./use)
      text./formatted
      lineAD.part[parttype = AL]
      cityAD.part[parttype = CTY]
      districtAD.part[parttype = CNT | CPA]
      stateAD.part[parttype = STA]
      postalCodeAD.part[parttype = ZIP]
      countryAD.part[parttype = CNT]
      period./usablePeriod[type="IVL<TS>"]
   maritalStatusplayer[classCode=PSN]/maritalStatusCode
   photoplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
      idn/a
      extensionn/a
      contentType./mediaType, ./charset
      language./language
      data./data
      url./reference/literal
      sizeN/A (needs data type R3 proposal)
      hash.integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"]
      title./title/data
      creationN/A (needs data type R3 proposal)
   photo (URL)player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
      idn/a
      extensionn/a
      contentType./mediaType, ./charset
      language./language
      url./reference/literal
      sizeN/A (needs data type R3 proposal)
      hash.integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"]
      title./title/data
      creationN/A (needs data type R3 proposal)
   photo (Data)player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
      idn/a
      extensionn/a
      contentType./mediaType, ./charset
      language./language
      data./data
      sizeN/A (needs data type R3 proposal)
      hash.integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"]
      title./title/data
      creationN/A (needs data type R3 proposal)
   contactplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
      idn/a
      extensionn/a
      modifierExtensionN/A
      relationshipcode
      namename
         idn/a
         extensionn/a
         family./part[partType = FAM]
         given./part[partType = GIV]
      telecomtelecom
      addressaddr
      genderplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
      organizationscoper
      periodeffectiveTime
   generalPractitionersubjectOf.CareEvent.performer.AssignedEntity

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

OpenIMISPatient
PatientClinicalDocument.recordTarget.patientRole
   identifier.id
   identifier (Code).id
   identifier (UUID).id
   activen/a
   name.patient.name
   telecom.telecom
   telecom (email).telecom
   telecom (phone).telecom
   gender.patient.administrativeGenderCode
   birthDate.patient.birthTime
   address.addr
   address (FamilyAddress).addr
   address (InsureeAddress).addr
   maritalStatus.patient.maritalStatusCode
   photon/a
   photo (URL)n/a
   photo (Data)n/a
   contactn/a
      relationshipn/a
      namen/a
      telecomn/a
      addressn/a
      gendern/a
      organizationn/a
      periodn/a
   generalPractitionern/a

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

OpenIMISPatient
Patient
   identifierFiveWs.identifier
   identifier (Code)FiveWs.identifier
   identifier (UUID)FiveWs.identifier
   activeFiveWs.status

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

OpenIMISPatient
Patient
   identifierPID-3
      useN/A
      typeCX.5
         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
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   identifier (Code)PID-3
      useN/A
      typeCX.5
         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
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   identifier (UUID)PID-3
      useN/A
      typeCX.5
         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
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   namePID-5, PID-9
      useXPN.7, but often indicated by which field contains the name
      textimplied by XPN.11
      familyXPN.1/FN.1
      givenXPN.2 + XPN.3
      prefixXPN.5
      suffixXPN/4
      periodXPN.13 + XPN.14
   telecomPID-13, PID-14, PID-40
      systemXTN.3
      valueXTN.1 (or XTN.12)
      useXTN.2 - but often indicated by field
      rankn/a
      periodN/A
   telecom (email)PID-13, PID-14, PID-40
      systemXTN.3
      valueXTN.1 (or XTN.12)
      useXTN.2 - but often indicated by field
      rankn/a
      periodN/A
   telecom (phone)PID-13, PID-14, PID-40
      systemXTN.3
      valueXTN.1 (or XTN.12)
      useXTN.2 - but often indicated by field
      rankn/a
      periodN/A
   genderPID-8
   birthDatePID-7
   addressPID-11
      useXAD.7
      typeXAD.18
      textXAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
      lineXAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
      cityXAD.3
      districtXAD.9
      stateXAD.4
      periodXAD.12 / XAD.13 + XAD.14
   address (FamilyAddress)PID-11
      useXAD.7
      typeXAD.18
      textXAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
      lineXAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
      cityXAD.3
      districtXAD.9
      stateXAD.4
      postalCodeXAD.5
      countryXAD.6
      periodXAD.12 / XAD.13 + XAD.14
   address (InsureeAddress)PID-11
      useXAD.7
      typeXAD.18
      textXAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
      lineXAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
      cityXAD.3
      districtXAD.9
      stateXAD.4
      postalCodeXAD.5
      countryXAD.6
      periodXAD.12 / XAD.13 + XAD.14
   maritalStatusPID-16
   photoOBX-5 - needs a profile
      contentTypeED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
      dataED.5
      urlRP.1+RP.2 - if they refer to a URL (see v2.6)
   photo (URL)OBX-5 - needs a profile
      contentTypeED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
      urlRP.1+RP.2 - if they refer to a URL (see v2.6)
   photo (Data)OBX-5 - needs a profile
      contentTypeED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
      dataED.5
   contact
      relationshipNK1-7, NK1-3
      nameNK1-2
         familyXPN.1/FN.1
         givenXPN.2 + XPN.3
      telecomNK1-5, NK1-6, NK1-40
      addressNK1-4
      genderNK1-15
      organizationNK1-13, NK1-30, NK1-31, NK1-32, NK1-41
   generalPractitionerPD1-4

Mappings for LOINC code for the element (http://loinc.org)

OpenIMISPatient
Patient
   birthDate21112-8