Moderne Patient:innenabrechnung und Datenkommunikation on FHIR (MOPED)
0.1.0 - ci-build

Moderne Patient:innenabrechnung und Datenkommunikation on FHIR (MOPED) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: MopedPatientSV - Mappings

Draft as of 2025-06-26

Mappings for the MopedPatientSV resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameAllgemeiner Implementierungsleitfaden v3FiveWs Pattern MappingRIM MappingInterface PatternCDA (R2)HL7 V2 MappingLOINC code for the elementdoco
.. Patient
ClinicalDocument.recordTarget.patientRole
administrative.individual
  • Entity
  • Role
  • or Act
  • Patient[classCode=PAT]
ParticipantLiving
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
FiveWs.identifier
id
Participant.identifier
.id
PID-3
.... identifier:All Slices
..... id
n/a
..... extension
n/a
..... use
Role.code or implied by context
N/A
..... type
Role.code or implied by context
CX.5
..... system
II.root or Role.id.root
CX.4 / EI-2-4
..... value
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)
.... identifier:socialSecurityNumber
FiveWs.identifier
id
Participant.identifier
.id
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
FiveWs.identifier
id
Participant.identifier
.id
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
FiveWs.identifier
id
Participant.identifier
.id
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
FiveWs.status
statusCode
Participant.active
n/a
... name
.patient.name
name
Participant.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
ParticipantContactable.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
ParticipantLiving.gender
.patient.administrativeGenderCode
PID-8
.... id
.... Slices for extension
..... extension:AdministrativeGenderAddition
.... value
... birthDate
.patient.birthTime.value
player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
ParticipantLiving.birthDate
.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
ParticipantContactable.address
.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
ParticipantLiving.photo
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
ParticipantLiving.communication
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