Polska specyfikacja bazowa HL7 FHIR (HL7 FHIR PL Base)
0.1.2 - ci-build

Polska specyfikacja bazowa HL7 FHIR (HL7 FHIR PL Base), published by HL7 Poland. This guide is not an authorized publication; it is the continuous build for version 0.1.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Poland/pl-fhir-base/ and changes regularly. See the Directory of published versions

Resource Profile: PLBaseComposition - Mappings

Draft as of 2025-09-03

Mappings for the pl-base-composition resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameWorkflow PatternFiveWs Pattern MappingRIM MappingCDA (R2)FHIR DocumentReferencedoco
.. Composition
Event
infrastructure.documents
  • Entity
  • Role
  • or Act
  • Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]
ClinicalDocument
when described by DocumentReference
... id
... meta
... implicitRules
... language
... text
Act.text?
... contained
N/A
... Slices for extension
.... extension:version
.... extension:informationRecipient
.... extension:basedOnOrder
.... extension:payorIdentifier
... modifierExtension
N/A
... url
FiveWs.identifier
... identifier
Event.identifier
FiveWs.identifier
Document.id / Document.setId
.setId
DocumentReference.identifier
.... id
n/a
.... extension
n/a
.... use
Role.code or implied by context
.... type
Role.code or implied by context
.... system
II.root or Role.id.root
.... value
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
.... period
Role.effectiveTime or implied by context
.... assigner
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
... version
FiveWs.version
.versionNumber
DocumentReference.version
... status
Event.status
FiveWs.status
  • .completionCode="IN" & ./statusCode[isNormalDatatype()]="active"; final: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and not(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition"
  • .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition"
  • .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
n/a
DocumentReference.docStatus
... type
Event.code
FiveWs.class
./code
.code
DocumentReference.type
... category
FiveWs.class
  • .outboundRelationship[typeCode="COMP].target[classCode="LIST"
  • moodCode="EVN"].code
n/a
DocumenttReference.category
... subject
Event.subject
FiveWs.subject[x]
.participation[typeCode="SBJ"].role[typeCode="PAT"]
.recordTarget
DocumentReference.subject
... encounter
Event.encounter
FiveWs.context
  • unique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]
  • priorityNumber)/target[moodCode="EVN" and classCode=("ENC"
  • "PCPR") and isNormalAct])
.componentOf.encompassingEncounter
DocumentReference.context
... date
Event.occurrence[x]
FiveWs.done[x]
.effectiveTime[type="TS"]
.effectiveTime
  • DocumentReference.content.attachment.date
  • DocumentReference.date
... useContext
... author
Event.performer
FiveWs.author
.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
.author.assignedAuthor
DocumentReference.author
... name
... title
./title
.title
  • DocumentReference.description
  • DocumentReference.content.attachment.title
... note
... Slices for attester
.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
.authenticator/.legalAuthenticator
DocumentReference.attester
.... attester:All Slices
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... mode
unique(./modeCode)
implied by .authenticator/.legalAuthenticator
DocumentReference.attester.mode
..... time
./time[type="TS" and isNormalDatatype()]
.authenticator.time
DocumentReference.attester.time
..... party
FiveWs.witness
  • ./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV"
  • "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()]
.authenticator.assignedEnttty
DocumentReference.attester.party
.... attester:legalAuthenticator
.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
.authenticator/.legalAuthenticator
DocumentReference.attester
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... mode
unique(./modeCode)
implied by .authenticator/.legalAuthenticator
DocumentReference.attester.mode
..... time
./time[type="TS" and isNormalDatatype()]
.authenticator.time
DocumentReference.attester.time
..... party
FiveWs.witness
  • ./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV"
  • "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()]
.authenticator.assignedEnttty
DocumentReference.attester.party
.... attester:authenticator
.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
.authenticator/.legalAuthenticator
DocumentReference.attester
..... id
n/a
..... extension
n/a
..... modifierExtension
N/A
..... mode
unique(./modeCode)
implied by .authenticator/.legalAuthenticator
DocumentReference.attester.mode
..... time
./time[type="TS" and isNormalDatatype()]
.authenticator.time
DocumentReference.attester.time
..... party
FiveWs.witness
  • ./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV"
  • "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()]
.authenticator.assignedEnttty
DocumentReference.attester.party
... custodian
.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
.custodian.assignedCustodian
DocumentReference.custodian
... relatesTo
.outboundRelationship
.relatedDocument
DocumentReference.relatesTo
.... id
n/a
.... Slices for extension
..... extension:version
.... type
.... classifier
.... label
.... display
.... citation
.... document
.... resource
.... resourceReference
.... publicationStatus
.... publicationDate
... event
outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
.documentationOf.serviceEvent
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... period
.effectiveTime
.effectiveTime
DocumentReference.period
.... detail
.outboundRelationship[typeCode="SUBJ"].target
n/a
DocumentReference.event
..... id
n/a
..... extension
n/a
..... concept
N/A
...... id
n/a
...... extension
n/a
...... Slices for coding
  • union(.
  • ./translation)
....... coding:icd9PLCode
  • union(.
  • ./translation)
...... text
./originalText[mediaType/code="text/plain"]/data
..... reference
N/A
... section
./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
.component.structuredBody.component.section
.... id
n/a
.... extension
n/a
.... modifierExtension
N/A
.... title
./title
.title
.... code
./code
.code
.... author
FiveWs.author
.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
.author.assignedAuthor
.... focus
.subject? (CDA did not differentiate between subject and focus)
.... text
.text
.text
.... orderedBy
.outboundRelationship[typeCode=COMP].sequenceNumber > 1
n/a
.... entry
.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
.entry
.... emptyReason
  • .inboundRelationship[typeCode=SUBJ
  • code<ListEmptyReason].value[type=CD]
n/a
.... section
./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
.component.section

doco Documentation for this format