HL7® Austria FHIR® Core Implementation Guide
1.1.0 - STU2

Resource Profile: HL7ATCorePatient - Mappings

Mappings for the at-core-patient resource profile.

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

HL7ATCorePatient
PatientEntity. Role, or Act, Patient[classCode=PAT]
   textAct.text?
   containedn/a
   extension
   extension (citizenship)
      idn/a
      extensionn/a
      extension (code)
         idn/a
         urln/a
         value[x]n/a
            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
      extension (period)
         idn/a
         urln/a
         value[x]n/a
      urln/a
   modifierExtensionn/a
   identifierid
   identifier (socialSecurityNumber)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
         idn/a
         extensionn/a
         referencen/a
         typen/a
         identifier.identifier
         displayn/a
   identifier (bPK)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
         idn/a
         extensionn/a
         referencen/a
         typen/a
         identifier.identifier
         displayn/a
   identifier (localPatientId)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>"]
   genderplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
   birthDateplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
   deceased[x]player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
   deceased[x] (deceasedBoolean)player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
   deceased[x] (deceasedDateTime)player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
   addressn/a, AD
      idn/a
      extensionn/a
      useunique(./use)
      typeunique(./use)
      text./formatted
      lineAD.part[parttype = AL]
         extension (street)ADXP[partType=STR]
         extension (streetNumber)ADXP[partType=BNR]
         extension (floorDoorNumber)ADXP[partType=ADL]
      cityAD.part[parttype = CTY]
      stateAD.part[parttype = STA]
      postalCodeAD.part[parttype = ZIP]
      countryAD.part[parttype = CNT]
   maritalStatusplayer[classCode=PSN]/maritalStatusCode
      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
   multipleBirth[x]player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
   multipleBirth[x] (multipleBirthBoolean)player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
   multipleBirth[x] (multipleBirthInteger)player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
   photoplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
   contactplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
      idn/a
      extensionn/a
      modifierExtensionn/a
      relationshipcode
         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
      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>"]
      addressn/a, AD
         idn/a
         extensionn/a
         useunique(./use)
         typeunique(./use)
         text./formatted
         lineAD.part[parttype = AL]
            extension (street)ADXP[partType=STR]
            extension (streetNumber)ADXP[partType=BNR]
            extension (floorDoorNumber)ADXP[partType=ADL]
         cityAD.part[parttype = CTY]
         stateAD.part[parttype = STA]
         postalCodeAD.part[parttype = ZIP]
         countryAD.part[parttype = CNT]
      genderplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
      organizationscoper
      periodeffectiveTime
   communicationLanguageCommunication
      idn/a
      extensionn/a
      modifierExtensionn/a
      languageplayer[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code
      preferredpreferenceInd
   generalPractitionersubjectOf.CareEvent.performer.AssignedEntity
   managingOrganizationscoper
   linkoutboundLink
      idn/a
      extensionn/a
      modifierExtensionn/a
      otherid
      typetypeCode

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

HL7ATCorePatient
PatientClinicalDocument.recordTarget.patientRole
   identifier.id
   identifier (socialSecurityNumber).id
   identifier (bPK).id
   identifier (localPatientId).id
   activen/a
   name.patient.name
   telecom.telecom
   gender.patient.administrativeGenderCode
   birthDate.patient.birthTime
   deceased[x]n/a
   deceased[x] (deceasedBoolean)n/a
   deceased[x] (deceasedDateTime)n/a
   maritalStatus.patient.maritalStatusCode
   multipleBirth[x]n/a
   multipleBirth[x] (multipleBirthBoolean)n/a
   multipleBirth[x] (multipleBirthInteger)n/a
   photon/a
   contactn/a
      relationshipn/a
      namen/a
      telecomn/a
      gendern/a
      organizationn/a
      periodn/a
   communicationpatient.languageCommunication
      language.languageCode
      preferred.preferenceInd
   generalPractitionern/a
   managingOrganization.providerOrganization
   linkn/a
      othern/a
      typen/a

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

HL7ATCorePatient
Patient
   identifierFiveWs.identifier
   identifier (socialSecurityNumber)FiveWs.identifier
   identifier (bPK)FiveWs.identifier
   identifier (localPatientId)FiveWs.identifier
   activeFiveWs.status

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

HL7ATCorePatient
Patient
   extension
   extension (citizenship)
      extension
      extension (code)
         value[x]
            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
   identifierPID-3
   identifier (socialSecurityNumber)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 (bPK)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 (localPatientId)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
   genderPID-8
   birthDatePID-7
   deceased[x]PID-30 (bool) and PID-29 (datetime)
   deceased[x] (deceasedBoolean)PID-30 (bool) and PID-29 (datetime)
   deceased[x] (deceasedDateTime)PID-30 (bool) and PID-29 (datetime)
   addressXAD
      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
      stateXAD.4
      postalCodeXAD.5
      countryXAD.6
   maritalStatusPID-16
      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
   multipleBirth[x]PID-24 (bool), PID-25 (integer)
   multipleBirth[x] (multipleBirthBoolean)PID-24 (bool), PID-25 (integer)
   multipleBirth[x] (multipleBirthInteger)PID-24 (bool), PID-25 (integer)
   photoOBX-5 - needs a profile
   contact
      relationshipNK1-7, NK1-3
         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
      nameNK1-2
         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
      telecomNK1-5, NK1-6, NK1-40
         systemXTN.3
         valueXTN.1 (or XTN.12)
         useXTN.2 - but often indicated by field
         rankn/a
         periodn/a
      addressXAD
         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
         stateXAD.4
         postalCodeXAD.5
         countryXAD.6
      genderNK1-15
      organizationNK1-13, NK1-30, NK1-31, NK1-32, NK1-41
   communication
      languagePID-15, LAN-2
      preferredPID-15
   generalPractitionerPD1-4
   link
      otherPID-3, MRG-1

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

HL7ATCorePatient
Patient
   birthDate21112-8

Mappings for Allgemeiner Implementierungsleitfaden v3 (https://wiki.hl7.at/index.php?title=ILF:Allgemeiner_Implementierungsleitfaden_(Version_3))

HL7ATCorePatient
PatientClinicalDocument.recordTarget.patientRole
   identifier
   identifier (socialSecurityNumber)
      system.id[1].root
      value.id[1].extension
   identifier (bPK)
      system.id.where(root='1.2.40.0.10.2.1.1.149').root
      value.id.where(root='1.2.40.0.10.2.1.1.149').extension
   identifier (localPatientId)
      system.id[0].root
      value.id[0].extension
   activen/a
   name.patient.name
      family.patient.name.family.dataString
      given.patient.name.given.dataString
      prefix.patient.name.prefix.dataString
      suffix.patient.name.suffix.dataString
   telecom
      system.telecom.value
      value.telecom.value
      use.telecom.use
   gender.patient.administrativeGenderCode.displayName
   birthDate.patient.birthTime.value
   deceased[x] (deceasedBoolean).patient.deceasedInd
   deceased[x] (deceasedDateTime).patient.deceasedTime
   address
      use.addr.use
      text.addr.select(streetAddressLine.dataString + ' ' + postalCode.dataString + ' ' + city.dataString + ' ' + country.dataString)
      line.addr.streetAddressLine
      city.addr.city.dataString
      state.addr.state.dataString
      postalCode.addr.postalCode.dataString
      country.addr.country.dataString
   maritalStatus
      coding
         system.patient.maritalStatusCode.codeSystem
         code.patient.maritalStatusCode.code
         display.patient.maritalStatusCode.displayName
   multipleBirth[x] (multipleBirthBoolean)n/a
   multipleBirth[x] (multipleBirthInteger)n/a
   photon/a
   contact
      relationship
         coding
            systemClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.code.codeSystem
            codeClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.code.code
            displayClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.code.displayName
      name
         familyClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.associatedPerson.name.family
         givenClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.associatedPerson.name.given
      telecom
         systemClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.telecom.system
         valueClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.telecom.value
         useClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.telecom.use
      address
         useClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.use
         textClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.select(streetAddressLine.dataString + ' ' + postalCode.dataString + ' ' + city.dataString + ' ' + country.dataString)
         lineClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.streetAddressLine
         cityClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.city.dataString
         stateClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.state.dataString
         postalCodeClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.postalCode.dataString
         countryClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.country.dataString
      gendern/a
      organizationClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.scopingOrganization.id[0]
      periodn/a
   communication
      language.patient.languageCommunication.languageCode.code
      preferred.patient.languageCommunication.preferenceInd.value
   generalPractitionerClinicalDocument.participant.where(functionCode='PCP').associatedEntity.id
   managingOrganizationClinicalDocument.custodian.assignedCustodian.representedCustodianOrganization.id
   link
      othern/a
      typen/a