DK MedCom Document
2.0.0 - release
DK
This page is part of the DK MedCom Document (v2.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions
| Official URL: http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-composition | Version: 2.0.0 | |||
| Active as of 2026-01-14 |
Realm: |
Computable Name: MedComDocumentComposition | ||
The profile of the MedCom Document Composition containing the minimum allowed content.
The MedComDocumentComposition profile defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document - the Composition must be the first entry in a Bundle where Bundle.type = document. Any other resources referenced from Composition must be included as subsequent entries in the Bundle.
The Composition resource organizes clinical and administrative content into sections, each of which contains a narrative, and references other resources for supporting data.
Several elements in this profile map directly to IHE XDS DocumentEntry metadata to ensure compatibility with existing national and international document exchange infrastructures.
The author element allows up to two references and must always include exactly one author organization and optionally one author person.
Author institution: The slice author:institution is mandatory and restricts the reference to a MedComDocumentOrganization. This ensures that every document has one clear author organization responsible for its creation.
Author person: An additional author element that does not match the institutional slice is interpreted as an author person. If used, it MUST reference exactly one resource of the allowed types: MedComDocumentPractitioner, MedComDocumentPractitionerRole, MedComDocumentPatient, DkCoreRelatedPerson, or Device.
MedCom has developed a mapping. Find the mapping from IHE XDS metadata to FHIR Composition here.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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
| ||||
![]() ![]() |
SΣ | 1..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
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..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
SO | 1..1 | code | [DocumentEntry.languageCode] Human language of the content Binding: IHE LanguageCode_TEMP (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 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | ||||
![]() ![]() ![]() |
SC | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Identifier | The Composition identifier | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() |
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 | ||||
![]() ![]() |
?!SOΣ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): The workflow/clinical status of the composition. Required Pattern: final
| ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | [DocumentEntry.typeCode] Kind of document Binding: IHE TypeCode_TEMP (required) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system
| ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system
| ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document Binding: IHE ClassCode_TEMP (extensible) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system
| ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system
| ||||
![]() ![]() |
SOΣ | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about
| ||||
![]() ![]() |
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..1 | Reference(MedComDocumentOrganization) | The organization who authored the document.
| ||||
![]() ![]() |
SOΣ | 1..1 | string | [DocumentEntry.title] The readable title of the document.
| ||||
![]() ![]() |
SOΣ | 1..1 | code | As defined by affinity domain Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.
| ||||
![]() ![]() |
S | 0..1 | BackboneElement | Attests to accuracy of composition | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SO | 1..1 | code | personal | professional | legal | official Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.
| ||||
![]() ![]() ![]() |
SO | 0..1 | Reference(MedComDocumentPractitioner) {b} | [DocumentEntry.legalAuthenticator] Who authenticated the document.
| ||||
![]() ![]() |
SΣ | 1..1 | BackboneElement | The clinical service(s) being documented | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SOΣ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: v3 Code System ActCode (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. | ||||
![]() ![]() ![]() ![]() |
SOΣC | 1..1 | dateTime | Starting time with inclusive boundary
| ||||
![]() ![]() ![]() ![]() |
SOΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
| ||||
![]() ![]() ![]() |
SOΣ | 0..* | Reference(Resource) | [DocumentEntry.referenceIdList] Related identifiers or resources
| ||||
![]() ![]() |
SC | 1..* | BackboneElement | Composition is broken into sections Constraints: cmp-1, cmp-2 | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SOC | 0..* | Reference(Resource) | A reference to data that supports this section
| ||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet / Code | URI |
| Composition.language | extensible | MedComIHE_CoreLanguageCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-languagecode-VS-TEMPFrom this IG | |
| Composition.text.status | required | NarrativeStatushttp://hl7.org/fhir/ValueSet/narrative-status|4.0.1From the FHIR Standard | |
| Composition.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1From the FHIR Standard | |
| Composition.status | required | Pattern Value: finalhttp://hl7.org/fhir/ValueSet/composition-status|4.0.1From the FHIR Standard | |
| Composition.type | required | MedComIHE_CoreTypeCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-typecode-VS-TEMPFrom this IG | |
| Composition.category | extensible | MedComIHE_CoreClassCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-classcode-VS-TEMPFrom this IG | |
| Composition.confidentiality | required | v3.ConfidentialityClassificationhttp://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification|2014-03-26From the FHIR Standard | |
| Composition.attester.mode | required | CompositionAttestationModehttp://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1From the FHIR Standard | |
| Composition.event.code | example | ActCodehttp://terminology.hl7.org/ValueSet/v3-ActCode |
| Id | Grade | Path(s) | Details | Requirements |
| cmp-1 | error | Composition.section | A section must contain at least one of text, entries, or sub-sections : text.exists() or entry.exists() or section.exists() | |
| cmp-2 | error | Composition.section | A section can only have an emptyReason if it is empty : emptyReason.empty() or entry.empty() | |
| dom-2 | error | Composition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Composition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Composition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
| dom-5 | error | Composition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Composition | A resource should have narrative for robust management : text.`div`.exists() | |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
| medcom-canonical-semver | error | Composition.meta.profile | The canonical SHALL include an explicit semantic version (semver) with optional prerelease (-...) and build metadata (+...). : matches('^.*[|][0-9]+[.][0-9]+([.][0-9]+)?(-[0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?([+][0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?$') | |
| medcom-uuid | error | Composition.identifier.value | The value shall correspond to the structure of an UUID : $this.matches('(?i)^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$') | |
| txt-1 | error | Composition.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes : htmlChecks() | |
| txt-2 | error | Composition.text.div | The narrative SHALL have some non-whitespace content : htmlChecks() |
This structure is derived from Composition
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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
| ||||
![]() ![]() |
S | 1..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
SOC | 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 | 1..1 | code | [DocumentEntry.languageCode] Human language of the content Binding: IHE LanguageCode_TEMP (extensible)
| ||||
![]() ![]() |
S | 1..1 | Narrative | The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle. | ||||
![]() ![]() ![]() |
S | 1..1 | code | generated | extensions | additional | empty | ||||
![]() ![]() ![]() |
S | 1..1 | xhtml | Limited xhtml content | ||||
![]() ![]() |
S | 1..1 | Identifier | The Composition identifier | ||||
![]() ![]() ![]() |
S | 1..1 | uri | [DocumentEntry.uniqueId] Sender organization OID (Object Identifier). Example: 1.2.208.184 (MedCom OID). | ||||
![]() ![]() ![]() |
SC | 1..1 | string | [DocumentEntry.uniqueId] UUID. Constraints: medcom-uuid | ||||
![]() ![]() |
SO | 1..1 | code | preliminary | final | amended | entered-in-error Required Pattern: final
| ||||
![]() ![]() |
S | 1..1 | CodeableConcept | [DocumentEntry.typeCode] Kind of document Binding: IHE TypeCode_TEMP (required) | ||||
![]() ![]() ![]() |
S | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | code | Symbol in syntax defined by the system
| ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | string | Representation defined by the system
| ||||
![]() ![]() |
S | 0..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document Binding: IHE ClassCode_TEMP (extensible) | ||||
![]() ![]() ![]() |
S | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | code | Symbol in syntax defined by the system
| ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | string | Representation defined by the system
| ||||
![]() ![]() |
SO | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about
| ||||
![]() ![]() |
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..1 | Reference(MedComDocumentOrganization) | The organization who authored the document.
| ||||
![]() ![]() |
SO | 1..1 | string | [DocumentEntry.title] The readable title of the document.
| ||||
![]() ![]() |
SO | 1..1 | code | As defined by affinity domain
| ||||
![]() ![]() |
S | 0..1 | BackboneElement | Attests to accuracy of composition | ||||
![]() ![]() ![]() |
SO | 1..1 | code | personal | professional | legal | official
| ||||
![]() ![]() ![]() |
SO | 0..1 | Reference(MedComDocumentPractitioner) {b} | [DocumentEntry.legalAuthenticator] Who authenticated the document.
| ||||
![]() ![]() |
S | 1..1 | BackboneElement | The clinical service(s) being documented | ||||
![]() ![]() ![]() |
SO | 0..* | CodeableConcept | Code(s) that apply to the event being documented
| ||||
![]() ![]() ![]() |
S | 1..1 | Period | [DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented. | ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | dateTime | Starting time with inclusive boundary
| ||||
![]() ![]() ![]() ![]() |
SO | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
| ||||
![]() ![]() ![]() |
SO | 0..* | Reference(Resource) | [DocumentEntry.referenceIdList] Related identifiers or resources
| ||||
![]() ![]() |
S | 1..* | BackboneElement | Composition is broken into sections | ||||
![]() ![]() ![]() |
SO | 0..* | Reference(Resource) | A reference to data that supports this section
| ||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet | URI |
| Composition.language | extensible | MedComIHE_CoreLanguageCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-languagecode-VS-TEMPFrom this IG | |
| Composition.type | required | MedComIHE_CoreTypeCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-typecode-VS-TEMPFrom this IG | |
| Composition.category | extensible | MedComIHE_CoreClassCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-classcode-VS-TEMPFrom this IG |
| Id | Grade | Path(s) | Details | Requirements |
| medcom-canonical-semver | error | Composition.meta.profile | The canonical SHALL include an explicit semantic version (semver) with optional prerelease (-...) and build metadata (+...). : matches('^.*[|][0-9]+[.][0-9]+([.][0-9]+)?(-[0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?([+][0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?$') | |
| medcom-uuid | error | Composition.identifier.value | The value shall correspond to the structure of an UUID : $this.matches('(?i)^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$') |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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
| ||||
![]() ![]() |
SΣ | 1..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 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
| ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (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 | ||||
![]() ![]() |
SO | 1..1 | code | [DocumentEntry.languageCode] Human language of the content Binding: IHE LanguageCode_TEMP (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 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 1..1 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | ||||
![]() ![]() ![]() |
SC | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Identifier | The Composition identifier | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (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Σ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 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
?!SOΣ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): The workflow/clinical status of the composition. Required Pattern: final
| ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | [DocumentEntry.typeCode] Kind of document Binding: IHE TypeCode_TEMP (required) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax 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 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document Binding: IHE ClassCode_TEMP (extensible) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax 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 | string | Plain text representation of the concept | ||||
![]() ![]() |
SOΣ | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about
| ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Context of the Composition | ||||
![]() ![]() |
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..1 | Reference(MedComDocumentOrganization) | The organization who authored the document.
| ||||
![]() ![]() |
SOΣ | 1..1 | string | [DocumentEntry.title] The readable title of the document.
| ||||
![]() ![]() |
SOΣ | 1..1 | code | As defined by affinity domain Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.
| ||||
![]() ![]() |
S | 0..1 | BackboneElement | Attests to accuracy of composition | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SO | 1..1 | code | personal | professional | legal | official Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.
| ||||
![]() ![]() ![]() |
0..1 | dateTime | When the composition was attested | |||||
![]() ![]() ![]() |
SO | 0..1 | Reference(MedComDocumentPractitioner) {b} | [DocumentEntry.legalAuthenticator] Who authenticated the document.
| ||||
![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization which maintains the composition | ||||
![]() ![]() |
0..* | BackboneElement | Relationships to other compositions/documents | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents. | |||||
![]() ![]() ![]() |
1..1 | Target of the relationship | ||||||
![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() |
Reference(Composition) | |||||||
![]() ![]() |
SΣ | 1..1 | BackboneElement | The clinical service(s) being documented | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SOΣ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: v3 Code System ActCode (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. | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
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 | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
| ||||
![]() ![]() ![]() |
SOΣ | 0..* | Reference(Resource) | [DocumentEntry.referenceIdList] Related identifiers or resources
| ||||
![]() ![]() |
SC | 1..* | BackboneElement | Composition is broken into sections Constraints: cmp-1, cmp-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | string | Label for section (e.g. for ToC) | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Classification of section (recommended) Binding: DocumentSectionCodes (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..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 | ||||
![]() ![]() ![]() |
0..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this section. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Order of section entries Binding: ListOrderCodes (preferred): What order applies to the items in the entry. | |||||
![]() ![]() ![]() |
SOC | 0..* | Reference(Resource) | A reference to data that supports this section
| ||||
![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the section is empty Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty. | ||||
![]() ![]() ![]() |
C | 0..* | See section (Composition) | Nested Section | ||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet / Code | URI |
| Composition.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels|4.0.1From the FHIR Standard | |
| Composition.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags|4.0.1From the FHIR Standard | |
| Composition.language | extensible | MedComIHE_CoreLanguageCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-languagecode-VS-TEMPFrom this IG | |
| Composition.text.status | required | NarrativeStatushttp://hl7.org/fhir/ValueSet/narrative-status|4.0.1From the FHIR Standard | |
| Composition.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1From the FHIR Standard | |
| Composition.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type|4.0.1From the FHIR Standard | |
| Composition.status | required | Pattern Value: finalhttp://hl7.org/fhir/ValueSet/composition-status|4.0.1From the FHIR Standard | |
| Composition.type | required | MedComIHE_CoreTypeCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-typecode-VS-TEMPFrom this IG | |
| Composition.category | extensible | MedComIHE_CoreClassCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-classcode-VS-TEMPFrom this IG | |
| Composition.confidentiality | required | v3.ConfidentialityClassificationhttp://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification|2014-03-26From the FHIR Standard | |
| Composition.attester.mode | required | CompositionAttestationModehttp://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1From the FHIR Standard | |
| Composition.relatesTo.code | required | DocumentRelationshipTypehttp://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1From the FHIR Standard | |
| Composition.event.code | example | ActCodehttp://terminology.hl7.org/ValueSet/v3-ActCode | |
| Composition.section.code | example | DocumentSectionCodeshttp://hl7.org/fhir/ValueSet/doc-section-codes|4.0.1From the FHIR Standard | |
| Composition.section.mode | required | ListModehttp://hl7.org/fhir/ValueSet/list-mode|4.0.1From the FHIR Standard | |
| Composition.section.orderedBy | preferred | ListOrderCodeshttp://hl7.org/fhir/ValueSet/list-order|4.0.1From the FHIR Standard | |
| Composition.section.emptyReason | preferred | ListEmptyReasonshttp://hl7.org/fhir/ValueSet/list-empty-reason|4.0.1From the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| cmp-1 | error | Composition.section | A section must contain at least one of text, entries, or sub-sections : text.exists() or entry.exists() or section.exists() | |
| cmp-2 | error | Composition.section | A section can only have an emptyReason if it is empty : emptyReason.empty() or entry.empty() | |
| dom-2 | error | Composition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Composition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Composition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
| dom-5 | error | Composition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Composition | A resource should have narrative for robust management : text.`div`.exists() | |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
| medcom-canonical-semver | error | Composition.meta.profile | The canonical SHALL include an explicit semantic version (semver) with optional prerelease (-...) and build metadata (+...). : matches('^.*[|][0-9]+[.][0-9]+([.][0-9]+)?(-[0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?([+][0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?$') | |
| medcom-uuid | error | Composition.identifier.value | The value shall correspond to the structure of an UUID : $this.matches('(?i)^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$') | |
| txt-1 | error | Composition.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes : htmlChecks() | |
| txt-2 | error | Composition.text.div | The narrative SHALL have some non-whitespace content : htmlChecks() |
This structure is derived from Composition
Summary
Mandatory: 19 elements(4 nested mandatory elements)
Must-Support: 38 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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
| ||||
![]() ![]() |
SΣ | 1..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
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..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
SO | 1..1 | code | [DocumentEntry.languageCode] Human language of the content Binding: IHE LanguageCode_TEMP (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 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | ||||
![]() ![]() ![]() |
SC | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Identifier | The Composition identifier | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() |
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 | ||||
![]() ![]() |
?!SOΣ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): The workflow/clinical status of the composition. Required Pattern: final
| ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | [DocumentEntry.typeCode] Kind of document Binding: IHE TypeCode_TEMP (required) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system
| ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system
| ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document Binding: IHE ClassCode_TEMP (extensible) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system
| ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system
| ||||
![]() ![]() |
SOΣ | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about
| ||||
![]() ![]() |
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..1 | Reference(MedComDocumentOrganization) | The organization who authored the document.
| ||||
![]() ![]() |
SOΣ | 1..1 | string | [DocumentEntry.title] The readable title of the document.
| ||||
![]() ![]() |
SOΣ | 1..1 | code | As defined by affinity domain Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.
| ||||
![]() ![]() |
S | 0..1 | BackboneElement | Attests to accuracy of composition | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SO | 1..1 | code | personal | professional | legal | official Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.
| ||||
![]() ![]() ![]() |
SO | 0..1 | Reference(MedComDocumentPractitioner) {b} | [DocumentEntry.legalAuthenticator] Who authenticated the document.
| ||||
![]() ![]() |
SΣ | 1..1 | BackboneElement | The clinical service(s) being documented | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SOΣ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: v3 Code System ActCode (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. | ||||
![]() ![]() ![]() ![]() |
SOΣC | 1..1 | dateTime | Starting time with inclusive boundary
| ||||
![]() ![]() ![]() ![]() |
SOΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
| ||||
![]() ![]() ![]() |
SOΣ | 0..* | Reference(Resource) | [DocumentEntry.referenceIdList] Related identifiers or resources
| ||||
![]() ![]() |
SC | 1..* | BackboneElement | Composition is broken into sections Constraints: cmp-1, cmp-2 | ||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SOC | 0..* | Reference(Resource) | A reference to data that supports this section
| ||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet / Code | URI |
| Composition.language | extensible | MedComIHE_CoreLanguageCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-languagecode-VS-TEMPFrom this IG | |
| Composition.text.status | required | NarrativeStatushttp://hl7.org/fhir/ValueSet/narrative-status|4.0.1From the FHIR Standard | |
| Composition.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1From the FHIR Standard | |
| Composition.status | required | Pattern Value: finalhttp://hl7.org/fhir/ValueSet/composition-status|4.0.1From the FHIR Standard | |
| Composition.type | required | MedComIHE_CoreTypeCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-typecode-VS-TEMPFrom this IG | |
| Composition.category | extensible | MedComIHE_CoreClassCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-classcode-VS-TEMPFrom this IG | |
| Composition.confidentiality | required | v3.ConfidentialityClassificationhttp://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification|2014-03-26From the FHIR Standard | |
| Composition.attester.mode | required | CompositionAttestationModehttp://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1From the FHIR Standard | |
| Composition.event.code | example | ActCodehttp://terminology.hl7.org/ValueSet/v3-ActCode |
| Id | Grade | Path(s) | Details | Requirements |
| cmp-1 | error | Composition.section | A section must contain at least one of text, entries, or sub-sections : text.exists() or entry.exists() or section.exists() | |
| cmp-2 | error | Composition.section | A section can only have an emptyReason if it is empty : emptyReason.empty() or entry.empty() | |
| dom-2 | error | Composition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Composition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Composition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
| dom-5 | error | Composition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Composition | A resource should have narrative for robust management : text.`div`.exists() | |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
| medcom-canonical-semver | error | Composition.meta.profile | The canonical SHALL include an explicit semantic version (semver) with optional prerelease (-...) and build metadata (+...). : matches('^.*[|][0-9]+[.][0-9]+([.][0-9]+)?(-[0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?([+][0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?$') | |
| medcom-uuid | error | Composition.identifier.value | The value shall correspond to the structure of an UUID : $this.matches('(?i)^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$') | |
| txt-1 | error | Composition.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes : htmlChecks() | |
| txt-2 | error | Composition.text.div | The narrative SHALL have some non-whitespace content : htmlChecks() |
Differential View
This structure is derived from Composition
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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
| ||||
![]() ![]() |
S | 1..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
SOC | 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 | 1..1 | code | [DocumentEntry.languageCode] Human language of the content Binding: IHE LanguageCode_TEMP (extensible)
| ||||
![]() ![]() |
S | 1..1 | Narrative | The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle. | ||||
![]() ![]() ![]() |
S | 1..1 | code | generated | extensions | additional | empty | ||||
![]() ![]() ![]() |
S | 1..1 | xhtml | Limited xhtml content | ||||
![]() ![]() |
S | 1..1 | Identifier | The Composition identifier | ||||
![]() ![]() ![]() |
S | 1..1 | uri | [DocumentEntry.uniqueId] Sender organization OID (Object Identifier). Example: 1.2.208.184 (MedCom OID). | ||||
![]() ![]() ![]() |
SC | 1..1 | string | [DocumentEntry.uniqueId] UUID. Constraints: medcom-uuid | ||||
![]() ![]() |
SO | 1..1 | code | preliminary | final | amended | entered-in-error Required Pattern: final
| ||||
![]() ![]() |
S | 1..1 | CodeableConcept | [DocumentEntry.typeCode] Kind of document Binding: IHE TypeCode_TEMP (required) | ||||
![]() ![]() ![]() |
S | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | code | Symbol in syntax defined by the system
| ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | string | Representation defined by the system
| ||||
![]() ![]() |
S | 0..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document Binding: IHE ClassCode_TEMP (extensible) | ||||
![]() ![]() ![]() |
S | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | code | Symbol in syntax defined by the system
| ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | string | Representation defined by the system
| ||||
![]() ![]() |
SO | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about
| ||||
![]() ![]() |
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..1 | Reference(MedComDocumentOrganization) | The organization who authored the document.
| ||||
![]() ![]() |
SO | 1..1 | string | [DocumentEntry.title] The readable title of the document.
| ||||
![]() ![]() |
SO | 1..1 | code | As defined by affinity domain
| ||||
![]() ![]() |
S | 0..1 | BackboneElement | Attests to accuracy of composition | ||||
![]() ![]() ![]() |
SO | 1..1 | code | personal | professional | legal | official
| ||||
![]() ![]() ![]() |
SO | 0..1 | Reference(MedComDocumentPractitioner) {b} | [DocumentEntry.legalAuthenticator] Who authenticated the document.
| ||||
![]() ![]() |
S | 1..1 | BackboneElement | The clinical service(s) being documented | ||||
![]() ![]() ![]() |
SO | 0..* | CodeableConcept | Code(s) that apply to the event being documented
| ||||
![]() ![]() ![]() |
S | 1..1 | Period | [DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented. | ||||
![]() ![]() ![]() ![]() |
SO | 1..1 | dateTime | Starting time with inclusive boundary
| ||||
![]() ![]() ![]() ![]() |
SO | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
| ||||
![]() ![]() ![]() |
SO | 0..* | Reference(Resource) | [DocumentEntry.referenceIdList] Related identifiers or resources
| ||||
![]() ![]() |
S | 1..* | BackboneElement | Composition is broken into sections | ||||
![]() ![]() ![]() |
SO | 0..* | Reference(Resource) | A reference to data that supports this section
| ||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet | URI |
| Composition.language | extensible | MedComIHE_CoreLanguageCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-languagecode-VS-TEMPFrom this IG | |
| Composition.type | required | MedComIHE_CoreTypeCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-typecode-VS-TEMPFrom this IG | |
| Composition.category | extensible | MedComIHE_CoreClassCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-classcode-VS-TEMPFrom this IG |
| Id | Grade | Path(s) | Details | Requirements |
| medcom-canonical-semver | error | Composition.meta.profile | The canonical SHALL include an explicit semantic version (semver) with optional prerelease (-...) and build metadata (+...). : matches('^.*[|][0-9]+[.][0-9]+([.][0-9]+)?(-[0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?([+][0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?$') | |
| medcom-uuid | error | Composition.identifier.value | The value shall correspond to the structure of an UUID : $this.matches('(?i)^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$') |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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
| ||||
![]() ![]() |
SΣ | 1..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 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
| ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (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 | ||||
![]() ![]() |
SO | 1..1 | code | [DocumentEntry.languageCode] Human language of the content Binding: IHE LanguageCode_TEMP (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 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 1..1 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | ||||
![]() ![]() ![]() |
SC | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Identifier | The Composition identifier | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (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Σ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 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
?!SOΣ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): The workflow/clinical status of the composition. Required Pattern: final
| ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | [DocumentEntry.typeCode] Kind of document Binding: IHE TypeCode_TEMP (required) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax 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 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document Binding: IHE ClassCode_TEMP (extensible) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | Identity of the terminology system
| ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax 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 | string | Plain text representation of the concept | ||||
![]() ![]() |
SOΣ | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about
| ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Context of the Composition | ||||
![]() ![]() |
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..1 | Reference(MedComDocumentOrganization) | The organization who authored the document.
| ||||
![]() ![]() |
SOΣ | 1..1 | string | [DocumentEntry.title] The readable title of the document.
| ||||
![]() ![]() |
SOΣ | 1..1 | code | As defined by affinity domain Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.
| ||||
![]() ![]() |
S | 0..1 | BackboneElement | Attests to accuracy of composition | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SO | 1..1 | code | personal | professional | legal | official Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.
| ||||
![]() ![]() ![]() |
0..1 | dateTime | When the composition was attested | |||||
![]() ![]() ![]() |
SO | 0..1 | Reference(MedComDocumentPractitioner) {b} | [DocumentEntry.legalAuthenticator] Who authenticated the document.
| ||||
![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization which maintains the composition | ||||
![]() ![]() |
0..* | BackboneElement | Relationships to other compositions/documents | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents. | |||||
![]() ![]() ![]() |
1..1 | Target of the relationship | ||||||
![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() |
Reference(Composition) | |||||||
![]() ![]() |
SΣ | 1..1 | BackboneElement | The clinical service(s) being documented | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SOΣ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: v3 Code System ActCode (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. | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
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 | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
| ||||
![]() ![]() ![]() |
SOΣ | 0..* | Reference(Resource) | [DocumentEntry.referenceIdList] Related identifiers or resources
| ||||
![]() ![]() |
SC | 1..* | BackboneElement | Composition is broken into sections Constraints: cmp-1, cmp-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | string | Label for section (e.g. for ToC) | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Classification of section (recommended) Binding: DocumentSectionCodes (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..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 | ||||
![]() ![]() ![]() |
0..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this section. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Order of section entries Binding: ListOrderCodes (preferred): What order applies to the items in the entry. | |||||
![]() ![]() ![]() |
SOC | 0..* | Reference(Resource) | A reference to data that supports this section
| ||||
![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the section is empty Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty. | ||||
![]() ![]() ![]() |
C | 0..* | See section (Composition) | Nested Section | ||||
Documentation for this format | ||||||||
| Path | Conformance | ValueSet / Code | URI |
| Composition.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels|4.0.1From the FHIR Standard | |
| Composition.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags|4.0.1From the FHIR Standard | |
| Composition.language | extensible | MedComIHE_CoreLanguageCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-languagecode-VS-TEMPFrom this IG | |
| Composition.text.status | required | NarrativeStatushttp://hl7.org/fhir/ValueSet/narrative-status|4.0.1From the FHIR Standard | |
| Composition.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1From the FHIR Standard | |
| Composition.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type|4.0.1From the FHIR Standard | |
| Composition.status | required | Pattern Value: finalhttp://hl7.org/fhir/ValueSet/composition-status|4.0.1From the FHIR Standard | |
| Composition.type | required | MedComIHE_CoreTypeCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-typecode-VS-TEMPFrom this IG | |
| Composition.category | extensible | MedComIHE_CoreClassCode_TEMPhttp://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-classcode-VS-TEMPFrom this IG | |
| Composition.confidentiality | required | v3.ConfidentialityClassificationhttp://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification|2014-03-26From the FHIR Standard | |
| Composition.attester.mode | required | CompositionAttestationModehttp://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1From the FHIR Standard | |
| Composition.relatesTo.code | required | DocumentRelationshipTypehttp://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1From the FHIR Standard | |
| Composition.event.code | example | ActCodehttp://terminology.hl7.org/ValueSet/v3-ActCode | |
| Composition.section.code | example | DocumentSectionCodeshttp://hl7.org/fhir/ValueSet/doc-section-codes|4.0.1From the FHIR Standard | |
| Composition.section.mode | required | ListModehttp://hl7.org/fhir/ValueSet/list-mode|4.0.1From the FHIR Standard | |
| Composition.section.orderedBy | preferred | ListOrderCodeshttp://hl7.org/fhir/ValueSet/list-order|4.0.1From the FHIR Standard | |
| Composition.section.emptyReason | preferred | ListEmptyReasonshttp://hl7.org/fhir/ValueSet/list-empty-reason|4.0.1From the FHIR Standard |
| Id | Grade | Path(s) | Details | Requirements |
| cmp-1 | error | Composition.section | A section must contain at least one of text, entries, or sub-sections : text.exists() or entry.exists() or section.exists() | |
| cmp-2 | error | Composition.section | A section can only have an emptyReason if it is empty : emptyReason.empty() or entry.empty() | |
| dom-2 | error | Composition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
| dom-3 | error | Composition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
| dom-4 | error | Composition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
| dom-5 | error | Composition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
| dom-6 | best practice | Composition | A resource should have narrative for robust management : text.`div`.exists() | |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
| medcom-canonical-semver | error | Composition.meta.profile | The canonical SHALL include an explicit semantic version (semver) with optional prerelease (-...) and build metadata (+...). : matches('^.*[|][0-9]+[.][0-9]+([.][0-9]+)?(-[0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?([+][0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?$') | |
| medcom-uuid | error | Composition.identifier.value | The value shall correspond to the structure of an UUID : $this.matches('(?i)^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$') | |
| txt-1 | error | Composition.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes : htmlChecks() | |
| txt-2 | error | Composition.text.div | The narrative SHALL have some non-whitespace content : htmlChecks() |
This structure is derived from Composition
Summary
Mandatory: 19 elements(4 nested mandatory elements)
Must-Support: 38 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron