Austrian Patient Summary (R4)
0.2.0 - STU1

Austrian Patient Summary (R4), published by ELGA GmbH. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7Austria/ELGA-AustrianPatientSummary-R4/ and changes regularly. See the Directory of published versions

Resource Profile: AtApsPatient - Mappings

Active as of 2025-08-14

Mappings for the at-aps-patient resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameAllgemeiner Implementierungsleitfaden v3RIM MappingCDA (R2)FiveWs Pattern MappingHL7 v2 MappingLOINC code for the elementdoco
.. Patient
ClinicalDocument.recordTarget.patientRole
Patient[classCode=PAT]
ClinicalDocument.recordTarget.patientRole
... id
... meta
... implicitRules
... text
Act.text?
... contained
N/A
... Slices for extension
.... extension:citizenship
..... id
n/a
..... Slices for extension
n/a
...... extension:code
....... id
n/a
....... extension
....... url
N/A
....... value[x]
N/A
...... extension:period
....... id
n/a
....... extension
....... url
N/A
....... value[x]
N/A
..... url
N/A
..... value[x]
N/A
.... extension:PatientReligion
.... extension:birthPlace
..... id
n/a
..... extension
..... url
N/A
..... value[x]
N/A
... modifierExtension
N/A
... Slices for identifier
id
.id
FiveWs.identifier
PID-3
.... identifier:socialSecurityNumber
id
.id
FiveWs.identifier
PID-3
..... id
n/a
..... extension
n/a
..... use
Role.code or implied by context
N/A
..... type
Role.code or implied by context
CX.5
...... id
n/a
...... extension
n/a
...... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
....... id
n/a
....... extension
n/a
....... system
./codeSystem
C*E.3
....... version
./codeSystemVersion
C*E.7
....... code
./code
C*E.1
....... display
CV.displayName
C*E.2 - but note this is not well followed
....... userSelected
CD.codingRationale
Sometimes implied by being first
...... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
..... system
.id[1].root
II.root or Role.id.root
CX.4 / EI-2-4
..... value
.id[1].extension
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
..... period
Role.effectiveTime or implied by context
CX.7 + CX.8
..... assigner
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
...... id
n/a
...... extension
n/a
...... reference
N/A
...... type
N/A
...... identifier
.identifier
...... display
N/A
.... identifier:bPK
id
.id
FiveWs.identifier
PID-3
..... id
n/a
..... extension
n/a
..... use
Role.code or implied by context
N/A
..... type
Role.code or implied by context
CX.5
...... id
n/a
...... extension
n/a
...... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
....... id
n/a
....... extension
n/a
....... system
./codeSystem
C*E.3
....... version
./codeSystemVersion
C*E.7
....... code
./code
C*E.1
....... display
CV.displayName
C*E.2 - but note this is not well followed
....... userSelected
CD.codingRationale
Sometimes implied by being first
...... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
..... system
.id.where(root='1.2.40.0.10.2.1.1.149').root
II.root or Role.id.root
CX.4 / EI-2-4
..... value
.id.where(root='1.2.40.0.10.2.1.1.149').extension
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
..... period
Role.effectiveTime or implied by context
CX.7 + CX.8
..... assigner
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
...... id
n/a
...... extension
n/a
...... reference
N/A
...... type
N/A
...... identifier
.identifier
...... display
N/A
.... identifier:localPatientId
id
.id
FiveWs.identifier
PID-3
..... id
n/a
..... extension
n/a
..... use
Role.code or implied by context
N/A
..... type
Role.code or implied by context
CX.5
...... id
n/a
...... extension
n/a
...... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
....... id
n/a
....... extension
n/a
....... system
./codeSystem
C*E.3
....... version
./codeSystemVersion
C*E.7
....... code
./code
C*E.1
....... display
CV.displayName
C*E.2 - but note this is not well followed
....... userSelected
CD.codingRationale
Sometimes implied by being first
...... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
..... system
.id[0].root
II.root or Role.id.root
CX.4 / EI-2-4
..... value
.id[0].extension
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
CX.1 / EI.1
..... period
Role.effectiveTime or implied by context
CX.7 + CX.8
..... assigner
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
... active
n/a
statusCode
n/a
FiveWs.status
... name
.patient.name
name
.patient.name
  • PID-5
  • PID-9
.... id
n/a
.... extension
n/a
.... use
unique(./use)
  • XPN.7
  • but often indicated by which field contains the name
.... text
./formatted
implied by XPN.11
.... family
.patient.name.family.dataString
./part[partType = FAM]
XPN.1/FN.1
.... given
.patient.name.given.dataString
./part[partType = GIV]
XPN.2 + XPN.3
.... prefix
.patient.name.prefix.dataString
./part[partType = PFX]
XPN.5
.... suffix
.patient.name.suffix.dataString
./part[partType = SFX]
XPN/4
.... period
./usablePeriod[type="IVL<TS>"]
XPN.13 + XPN.14
... telecom
telecom
.telecom
  • PID-13
  • PID-14
  • PID-40
.... id
n/a
.... extension
n/a
.... system
.telecom.value
./scheme
XTN.3
.... value
.telecom.value
./url
XTN.1 (or XTN.12)
.... use
.telecom.use
unique(./use)
XTN.2 - but often indicated by field
.... rank
n/a
n/a
.... period
./usablePeriod[type="IVL<TS>"]
N/A
... gender
.patient.administrativeGenderCode.displayName
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
.patient.administrativeGenderCode
PID-8
.... id
.... Slices for extension
..... extension:AdministrativeGenderAddition
.... value
... birthDate
.patient.birthTime.value
player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
.patient.birthTime
PID-7
21112-8
... Slices for deceased[x]
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
n/a
PID-30 (bool) and PID-29 (datetime)
.... deceased[x]:deceasedBoolean
.patient.deceasedInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
n/a
PID-30 (bool) and PID-29 (datetime)
.... deceased[x]:deceasedDateTime
.patient.deceasedTime
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
n/a
PID-30 (bool) and PID-29 (datetime)
... address
addr
.addr
PID-11
.... id
n/a
.... Slices for extension
n/a
..... extension:municipalityCode
.... use
.addr.use
unique(./use)
XAD.7
.... type
unique(./use)
XAD.18
.... text
.addr.select(streetAddressLine.dataString + ' ' + postalCode.dataString + ' ' + city.dataString + ' ' + country.dataString)
./formatted
XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
.... line
.addr.streetAddressLine
AD.part[parttype = AL]
XAD.1 and XAD.2 have different meanings for a company address than for a person address)
..... id
..... Slices for extension
...... extension:street
ADXP[partType=STR]
...... extension:streetNumber
ADXP[partType=BNR]
...... extension:floorDoorNumber
ADXP[partType=ADL]
...... extension:additionalInformation
..... value
.... city
.addr.city.dataString
AD.part[parttype = CTY]
XAD.3
.... district
AD.part[parttype = CNT | CPA]
XAD.9
.... state
.addr.state.dataString
AD.part[parttype = STA]
XAD.4
.... postalCode
.addr.postalCode.dataString
AD.part[parttype = ZIP]
XAD.5
.... country
.addr.country.dataString
AD.part[parttype = CNT]
XAD.6
.... period
./usablePeriod[type="IVL<TS>"]
XAD.12 / XAD.13 + XAD.14
... maritalStatus
player[classCode=PSN]/maritalStatusCode
.patient.maritalStatusCode
PID-16
.... id
n/a
.... extension
n/a
.... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
..... id
n/a
..... extension
n/a
..... system
.patient.maritalStatusCode.codeSystem
./codeSystem
C*E.3
..... version
./codeSystemVersion
C*E.7
..... code
.patient.maritalStatusCode.code
./code
C*E.1
..... display
.patient.maritalStatusCode.displayName
CV.displayName
C*E.2 - but note this is not well followed
..... userSelected
CD.codingRationale
Sometimes implied by being first
.... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
... Slices for multipleBirth[x]
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
n/a
  • PID-24 (bool)
  • PID-25 (integer)
.... multipleBirth[x]:multipleBirthBoolean
n/a
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
n/a
  • PID-24 (bool)
  • PID-25 (integer)
.... multipleBirth[x]:multipleBirthInteger
n/a
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd
  • player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
n/a
  • PID-24 (bool)
  • PID-25 (integer)
... photo
n/a
player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
n/a
OBX-5 - needs a profile
... contact
player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
n/a
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... relationship
code
n/a
  • NK1-7
  • NK1-3
..... id
n/a
..... extension
n/a
..... coding
  • union(.
  • ./translation)
  • C*E.1-8
  • C*E.10-22
...... id
n/a
...... extension
n/a
...... system
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.code.codeSystem
./codeSystem
C*E.3
...... version
./codeSystemVersion
C*E.7
...... code
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.code.code
./code
C*E.1
...... display
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.code.displayName
CV.displayName
C*E.2 - but note this is not well followed
...... userSelected
CD.codingRationale
Sometimes implied by being first
..... text
./originalText[mediaType/code="text/plain"]/data
C*E.9. But note many systems use C*E.2 for this
.... name
name
n/a
NK1-2
..... id
n/a
..... extension
n/a
..... use
unique(./use)
  • XPN.7
  • but often indicated by which field contains the name
..... text
./formatted
implied by XPN.11
..... family
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.associatedPerson.name.family
./part[partType = FAM]
XPN.1/FN.1
..... given
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.associatedPerson.name.given
./part[partType = GIV]
XPN.2 + XPN.3
..... prefix
./part[partType = PFX]
XPN.5
..... suffix
./part[partType = SFX]
XPN/4
..... period
./usablePeriod[type="IVL<TS>"]
XPN.13 + XPN.14
.... telecom
telecom
n/a
  • NK1-5
  • NK1-6
  • NK1-40
..... id
n/a
..... extension
n/a
..... system
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.telecom.system
./scheme
XTN.3
..... value
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.telecom.value
./url
XTN.1 (or XTN.12)
..... use
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.telecom.use
unique(./use)
XTN.2 - but often indicated by field
..... rank
n/a
n/a
..... period
./usablePeriod[type="IVL<TS>"]
N/A
.... address
addr
n/a
NK1-4
..... id
n/a
..... Slices for extension
n/a
...... extension:municipalityCode
..... use
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.use
unique(./use)
XAD.7
..... type
unique(./use)
XAD.18
..... text
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.select(streetAddressLine.dataString + ' ' + postalCode.dataString + ' ' + city.dataString + ' ' + country.dataString)
./formatted
XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
..... line
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.streetAddressLine
AD.part[parttype = AL]
XAD.1 and XAD.2 have different meanings for a company address than for a person address)
...... id
...... Slices for extension
....... extension:street
ADXP[partType=STR]
....... extension:streetNumber
ADXP[partType=BNR]
....... extension:floorDoorNumber
ADXP[partType=ADL]
....... extension:additionalInformation
...... value
..... city
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.city.dataString
AD.part[parttype = CTY]
XAD.3
..... district
AD.part[parttype = CNT | CPA]
XAD.9
..... state
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.state.dataString
AD.part[parttype = STA]
XAD.4
..... postalCode
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.postalCode.dataString
AD.part[parttype = ZIP]
XAD.5
..... country
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.addr.country.dataString
AD.part[parttype = CNT]
XAD.6
..... period
./usablePeriod[type="IVL<TS>"]
XAD.12 / XAD.13 + XAD.14
.... gender
n/a
player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
n/a
NK1-15
..... id
..... Slices for extension
...... extension:AdministrativeGenderAddition
..... value
.... organization
ClinicalDocument.participant.where(associatedEntity.classCode='ECON').associatedEntity.scopingOrganization.id[0]
scoper
n/a
  • NK1-13
  • NK1-30
  • NK1-31
  • NK1-32
  • NK1-41
.... period
n/a
effectiveTime
n/a
... communication
LanguageCommunication
patient.languageCommunication
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... language
.patient.languageCommunication.languageCode.code
player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code
.languageCode
  • PID-15
  • LAN-2
.... preferred
.patient.languageCommunication.preferenceInd.value
preferenceInd
.preferenceInd
PID-15
... generalPractitioner
ClinicalDocument.participant.where(functionCode='PCP').associatedEntity.id
subjectOf.CareEvent.performer.AssignedEntity
n/a
PD1-4
... managingOrganization
ClinicalDocument.custodian.assignedCustodian.representedCustodianOrganization.id
scoper
.providerOrganization
... link
outboundLink
n/a
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... other
n/a
id
n/a
  • PID-3
  • MRG-1
.... type
n/a
typeCode
n/a

doco Documentation for this format