| Left: | MedComDocumentComposition (http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-composition) |
| Right: | MedComDocumentComposition (http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-composition) |
| Error | StructureDefinition.version | Values for version differ: '2.0.1' vs '2.0.2' |
| Information | StructureDefinition.status | Values for status differ: 'active' vs 'draft' |
| Information | StructureDefinition.date | Values for date differ: '2026-03-10T10:51:18+00:00' vs '2026-04-17T08:01:26+00:00' |
| Name | Value | Comments | |
|---|---|---|---|
abstract | false | ||
baseDefinition | http://hl7.org/fhir/StructureDefinition/Composition | ||
copyright | |||
date | 2026-03-10T10:51:18+00:00 | 2026-04-17T08:01:26+00:00 |
|
description | The profile of the MedCom Document Composition containing the minimum allowed content. | ||
experimental | |||
fhirVersion | 4.0.1 | ||
jurisdiction | |||
![]() jurisdiction[0] | urn:iso:std:iso:3166#DK | ||
kind | resource | ||
name | MedComDocumentComposition | ||
publisher | MedCom | ||
purpose | |||
status | active | draft |
|
title | |||
type | Composition | ||
url | http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-composition | ||
version | 2.0.1 | 2.0.2 |
|
| Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments![]() | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]() | 0..* | Composition | A set of resources composed into a single coherent clinical statement with clinical attestation | 0..* | Composition | A set of resources composed into a single coherent clinical statement with clinical attestation | |||||||||||
![]() ![]() | SOΣ | 1..1 | id | Logical id of this artifact
| SOΣ | 1..1 | id | Logical id of this artifact
| |||||||||
![]() ![]() | SΣ | 1..1 | Meta | Metadata about the resource | SΣ | 1..1 | Meta | Metadata about the resource | |||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||
![]() ![]() ![]() | Σ | 0..1 | id | Version specific identifier | Σ | 0..1 | id | Version specific identifier | |||||||||
![]() ![]() ![]() | Σ | 0..1 | instant | When the resource version last changed | Σ | 0..1 | instant | When the resource version last changed | |||||||||
![]() ![]() ![]() | Σ | 0..1 | uri | Identifies where the resource comes from | Σ | 0..1 | uri | Identifies where the resource comes from | |||||||||
![]() ![]() ![]() | SOΣC | 1..1 | canonical(StructureDefinition) | [DocumentEntry.formatCode] Indicates the FHIR Composition profile canonical, including an explicit version `|x.y.z`. The value does not map 1:1 to XDS DocumentEntry.formatCode and SHALL be mapped. Constraints: medcom-canonical-semver
| SOΣC | 1..1 | canonical(StructureDefinition) | [DocumentEntry.formatCode] Indicates the FHIR Composition profile canonical, including an explicit version `|x.y.z`. The value does not map 1:1 to XDS DocumentEntry.formatCode and SHALL be mapped. Constraints: medcom-canonical-semver
| |||||||||
![]() ![]() ![]() | Σ | 0..* | Coding | Security Labels applied to this resource Binding: ?? (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | Σ | 0..* | Coding | Security Labels applied to this resource Binding: ?? (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | |||||||||
![]() ![]() ![]() | Σ | 0..* | Coding | Tags applied to this resource Binding: ?? (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | Σ | 0..* | Coding | Tags applied to this resource Binding: ?? (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | |||||||||
![]() ![]() | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created | |||||||||
![]() ![]() | SO | 1..1 | code | [DocumentEntry.languageCode] Human language of the content Binding: ?? (extensible)
| SO | 1..1 | code | [DocumentEntry.languageCode] Human language of the content Binding: ?? (extensible)
| |||||||||
![]() ![]() | S | 1..1 | Narrative | The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle. This profile does not constrain the narrative in regard to content, language, or traceability to data elements | S | 1..1 | Narrative | The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle. This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||
![]() ![]() ![]() | S | 1..1 | code | generated | extensions | additional | empty Binding: ?? (required): The status of a resource narrative. | S | 1..1 | code | generated | extensions | additional | empty Binding: ?? (required): The status of a resource narrative. | |||||||||
![]() ![]() ![]() | SC | 1..1 | xhtml | Limited xhtml content | SC | 1..1 | xhtml | Limited xhtml content | |||||||||
![]() ![]() | 0..* | Resource | Contained, inline Resources | 0..* | Resource | Contained, inline Resources | |||||||||||
![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored | |||||||||
![]() ![]() | SΣ | 1..1 | Identifier | The Composition identifier | SΣ | 1..1 | Identifier | The Composition identifier | |||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||
![]() ![]() ![]() | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: ?? (required): Identifies the purpose for this identifier, if known . | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: ?? (required): Identifies the purpose for this identifier, if known . | |||||||||
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | Description of identifier Binding: ?? (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | Σ | 0..1 | CodeableConcept | Description of identifier Binding: ?? (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | |||||||||
![]() ![]() ![]() | SΣ | 1..1 | uri | [DocumentEntry.uniqueId] Sender organization OID (Object Identifier). Example: 1.2.208.184 (MedCom OID). Example General: http://www.acme.com/identifiers/patient | SΣ | 1..1 | uri | [DocumentEntry.uniqueId] Sender organization OID (Object Identifier). Example: 1.2.208.184 (MedCom OID). Example General: http://www.acme.com/identifiers/patient | |||||||||
![]() ![]() ![]() | SΣC | 1..1 | string | [DocumentEntry.uniqueId] UUID. Constraints: medcom-uuid Example General: 123456 | SΣC | 1..1 | string | [DocumentEntry.uniqueId] UUID. Constraints: medcom-uuid Example General: 123456 | |||||||||
![]() ![]() ![]() | Σ | 0..1 | Period | Time period when id is/was valid for use | Σ | 0..1 | Period | Time period when id is/was valid for use | |||||||||
![]() ![]() ![]() | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | |||||||||
![]() ![]() | ?!SOΣ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: ?? (required): The workflow/clinical status of the composition. Required Pattern: final
| ?!SOΣ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: ?? (required): The workflow/clinical status of the composition. Required Pattern: final
| |||||||||
![]() ![]() | SΣ | 1..1 | CodeableConcept | [DocumentEntry.typeCode] Kind of document Binding: ?? (required) | SΣ | 1..1 | CodeableConcept | [DocumentEntry.typeCode] Kind of document Binding: ?? (required) | |||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||
![]() ![]() ![]() | SΣ | 1..1 | Coding | Code defined by a terminology system | SΣ | 1..1 | Coding | Code defined by a terminology system | |||||||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||
![]() ![]() ![]() ![]() | SOΣ | 1..1 | uri | Identity of the terminology system
| SOΣ | 1..1 | uri | Identity of the terminology system
| |||||||||
![]() ![]() ![]() ![]() | Σ | 0..1 | string | Version of the system - if relevant | Σ | 0..1 | string | Version of the system - if relevant | |||||||||
![]() ![]() ![]() ![]() | SOΣ | 1..1 | code | Symbol in syntax defined by the system
| SOΣ | 1..1 | code | Symbol in syntax defined by the system
| |||||||||
![]() ![]() ![]() ![]() | SOΣ | 1..1 | string | Representation defined by the system
| SOΣ | 1..1 | string | Representation defined by the system
| |||||||||
![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user | |||||||||
![]() ![]() ![]() | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept | |||||||||
![]() ![]() | SΣ | 0..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document Binding: ?? (extensible) | SΣ | 0..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document Binding: ?? (extensible) | |||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||
![]() ![]() ![]() | SΣ | 1..1 | Coding | Code defined by a terminology system | SΣ | 1..1 | Coding | Code defined by a terminology system | |||||||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||
![]() ![]() ![]() ![]() | SOΣ | 1..1 | uri | Identity of the terminology system
| SOΣ | 1..1 | uri | Identity of the terminology system
| |||||||||
![]() ![]() ![]() ![]() | Σ | 0..1 | string | Version of the system - if relevant | Σ | 0..1 | string | Version of the system - if relevant | |||||||||
![]() ![]() ![]() ![]() | SOΣ | 1..1 | code | Symbol in syntax defined by the system
| SOΣ | 1..1 | code | Symbol in syntax defined by the system
| |||||||||
![]() ![]() ![]() ![]() | SOΣ | 1..1 | string | Representation defined by the system
| SOΣ | 1..1 | string | Representation defined by the system
| |||||||||
![]() ![]() ![]() ![]() | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user | |||||||||
![]() ![]() ![]() | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept | |||||||||
![]() ![]() | SOΣ | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about
| SOΣ | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about
| |||||||||
![]() ![]() | Σ | 0..1 | Reference(Encounter) | Context of the Composition | Σ | 0..1 | Reference(Encounter) | Context of the Composition | |||||||||
![]() ![]() | SOΣ | 1..1 | dateTime | Composition editing time
| SOΣ | 1..1 | dateTime | Composition editing time
| |||||||||
![]() ![]() | SOΣ | 1..2 | Reference(MedComDocumentOrganization | MedComDocumentPractitionerRole | MedComDocumentPractitioner | MedComDocumentPatient | Danish Core Related Person Profile | Device) {b} | [DocumentEntry.author] The slice author:institution ensures one mandatory organizational author.
Any author element that does not match this slice is interpreted
as an author person. Slice: Unordered, Open by profile:$this.resolve()
| SOΣ | 1..2 | Reference(MedComDocumentOrganization | MedComDocumentPractitionerRole | MedComDocumentPractitioner | MedComDocumentPatient | Danish Core Related Person Profile | Device) {b} | [DocumentEntry.author] The slice author:institution ensures one mandatory organizational author.
Any author element that does not match this slice is interpreted
as an author person. Slice: Unordered, Open by profile:$this.resolve()
| |||||||||
![]() ![]() | SOΣ | 1..1 | string | [DocumentEntry.title] The readable title of the document.
| SOΣ | 1..1 | string | [DocumentEntry.title] The readable title of the document.
| |||||||||
![]() ![]() | SOΣ | 1..1 | code | As defined by affinity domain Binding: ?? (required): Codes specifying the level of confidentiality of the composition.
| SOΣ | 1..1 | code | As defined by affinity domain Binding: ?? (required): Codes specifying the level of confidentiality of the composition.
| |||||||||
![]() ![]() | S | 0..1 | BackboneElement | Attests to accuracy of composition | S | 0..1 | BackboneElement | Attests to accuracy of composition | |||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
![]() ![]() ![]() | SO | 1..1 | code | personal | professional | legal | official Binding: ?? (required): The way in which a person authenticated a composition.
| SO | 1..1 | code | personal | professional | legal | official Binding: ?? (required): The way in which a person authenticated a composition.
| |||||||||
![]() ![]() ![]() | 0..1 | dateTime | When the composition was attested | 0..1 | dateTime | When the composition was attested | |||||||||||
![]() ![]() ![]() | SO | 0..1 | Reference(MedComDocumentPractitioner) {b} | [DocumentEntry.legalAuthenticator] Who authenticated the document.
| SO | 0..1 | Reference(MedComDocumentPractitioner) {b} | [DocumentEntry.legalAuthenticator] Who authenticated the document.
| |||||||||
![]() ![]() | Σ | 0..1 | Reference(Organization) | Organization which maintains the composition | Σ | 0..1 | Reference(Organization) | Organization which maintains the composition | |||||||||
![]() ![]() | 0..* | BackboneElement | Relationships to other compositions/documents | 0..* | BackboneElement | Relationships to other compositions/documents | |||||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
![]() ![]() ![]() | 1..1 | code | replaces | transforms | signs | appends Binding: ?? (required): The type of relationship between documents. | 1..1 | code | replaces | transforms | signs | appends Binding: ?? (required): The type of relationship between documents. | |||||||||||
![]() ![]() ![]() | 1..1 | Identifier, Reference(Composition) | Target of the relationship | 1..1 | Identifier, Reference(Composition) | Target of the relationship | |||||||||||
![]() ![]() | SΣ | 1..1 | BackboneElement | The clinical service(s) being documented | SΣ | 1..1 | BackboneElement | The clinical service(s) being documented | |||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
![]() ![]() ![]() | SOΣ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: ?? (example): This list of codes represents the main clinical acts being documented.
| SOΣ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: ?? (example): This list of codes represents the main clinical acts being documented.
| |||||||||
![]() ![]() ![]() | SΣ | 1..1 | Period | [DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented. | SΣ | 1..1 | Period | [DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented. | |||||||||
![]() ![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||||||
![]() ![]() ![]() ![]() | SOΣC | 1..1 | dateTime | Starting time with inclusive boundary
| SOΣC | 1..1 | dateTime | Starting time with inclusive boundary
| |||||||||
![]() ![]() ![]() ![]() | SOΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
| SOΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
| |||||||||
![]() ![]() ![]() | SOΣ | 0..* | Reference(Resource) | [DocumentEntry.referenceIdList] Related identifiers or resources
| SOΣ | 0..* | Reference(Resource) | [DocumentEntry.referenceIdList] Related identifiers or resources
| |||||||||
![]() ![]() | SC | 1..* | BackboneElement | Composition is broken into sections | SC | 1..* | BackboneElement | Composition is broken into sections | |||||||||
![]() ![]() ![]() | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
![]() ![]() ![]() | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
![]() ![]() ![]() | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
![]() ![]() ![]() | 0..1 | string | Label for section (e.g. for ToC) | 0..1 | string | Label for section (e.g. for ToC) | |||||||||||
![]() ![]() ![]() | 0..1 | CodeableConcept | Classification of section (recommended) Binding: ?? (example): Classification of a section of a composition/document. | 0..1 | CodeableConcept | Classification of section (recommended) Binding: ?? (example): Classification of a section of a composition/document. | |||||||||||
![]() ![]() ![]() | 0..* | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) | Who and/or what authored the section | 0..* | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) | Who and/or what authored the section | |||||||||||
![]() ![]() ![]() | 0..1 | Reference(Resource) | Who/what the section is about, when it is not about the subject of composition | 0..1 | Reference(Resource) | Who/what the section is about, when it is not about the subject of composition | |||||||||||
![]() ![]() ![]() | C | 0..1 | Narrative | Text summary of the section, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | C | 0..1 | Narrative | Text summary of the section, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||||||
![]() ![]() ![]() | 0..1 | code | working | snapshot | changes Binding: ?? (required): The processing mode that applies to this section. | 0..1 | code | working | snapshot | changes Binding: ?? (required): The processing mode that applies to this section. | |||||||||||
![]() ![]() ![]() | 0..1 | CodeableConcept | Order of section entries Binding: ?? (preferred): What order applies to the items in the entry. | 0..1 | CodeableConcept | Order of section entries Binding: ?? (preferred): What order applies to the items in the entry. | |||||||||||
![]() ![]() ![]() | SOC | 0..* | Reference(Resource) | A reference to data that supports this section
| SOC | 0..* | Reference(Resource) | A reference to data that supports this section
| |||||||||
![]() ![]() ![]() | C | 0..1 | CodeableConcept | Why the section is empty Binding: ?? (preferred): If a section is empty, why it is empty. | C | 0..1 | CodeableConcept | Why the section is empty Binding: ?? (preferred): If a section is empty, why it is empty. | |||||||||
![]() ![]() ![]() | C | 0..* | See section (Composition) | Nested Section | C | 0..* | See section (Composition) | Nested Section | |||||||||
Documentation for this format | |||||||||||||||||