DK MedCom Notes
0.1.0 - draft
DK MedCom Notes, published by MedCom. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/medcomdk/dk-medcom-notes/ and changes regularly. See the Directory of published versions
| Official URL: http://medcomfhir.dk/ig/notes/StructureDefinition/medcom-notes-composition | Version: 0.1.0 | |||
| Draft as of 2026-02-02 | Computable Name: MedComNotesComposition | |||
A profile for the MedCom Notes Composition resource.
This page describes how the MedCom Notes Composition profile is intended to be used within the MedCom Notes standard.
The MedComNotesComposition profile defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type is 'document', and any other resources referenced from Composition must be included as subsequent entries in the Bundle.entry element. The Composition resource organizes clinical and administrative content into sections, each of which contains a narrative, and references other resources.
The Composition.section.entry element MUST reference the MedComNotesObservation that contains the note from the healtcare provider e.g. general practitioner. As there is only supposed to be one note in each document, it is only allowed to reference one MedComNotesObservation.
The Composition.title MUST be (in Danish) "Journalnotat for 'CPR-nummer'", where 'CPR-nummer' is the actual identifier for the patient (Patient.identifier.value).
The Composition.type is fixed to the LOINC code "11488-4 Consult note", as it represents the content of the document on a high level.
The Composition.date MUST be the last update date of the note performed by the patient's healthcare provider e.g. general practitioner must be included (Da: dato og tid for seneste opdatering af notatet).
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..* | MedComDocumentComposition | 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] The profile canonical SHALL include the major and minor version of the standard in the form `|x.y`. Constraints: medcom-canonical-semver, medcom-canonical-fixed-major |
![]() ![]() |
?!Σ | 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) Fixed Value: da |
![]() ![]() |
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 Fixed Value: http://loinc.org |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 11488-4 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Fixed Value: Consult note |
![]() ![]() |
SΣ | 1..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 Required Pattern: http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-classcode-CS |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system Required Pattern: 001 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Required Pattern: Klinisk rapport |
![]() ![]() |
SOΣ | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about |
![]() ![]() |
SOΣ | 1..1 | dateTime | Last update of the note (Da: Seneste opdatering af notatet) |
![]() ![]() |
SOΣ | 1..2 | Reference(MedComDocumentOrganization | MedComDocumentPractitioner | MedComDocumentPractitionerRole) {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) {b} | The organization who authored the document. |
![]() ![]() |
SOΣ | 1..1 | string | Title MUST be 'Journalnotat for **CPR-nummer**' |
![]() ![]() |
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. Fixed Value: N |
![]() ![]() |
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..1 | BackboneElement | Composition is broken into sections Constraints: cmp-1, cmp-2 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SOC | 1..1 | Reference(MedComNotesObservation) | A reference to data that supports this section |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Composition.language | Base | extensible | IHE LanguageCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.text.status | Base | required | NarrativeStatus | 📍4.0.1 | FHIR Std. |
| Composition.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Composition.status | Base | required | CompositionStatus | 📍4.0.1 | FHIR Std. |
| Composition.type | Base | required | IHE TypeCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.category | Base | extensible | IHE ClassCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.confidentiality | Base | required | V3 Value SetConfidentialityClassification | 📍2014-03-26 | FHIR Std. |
| Composition.attester.mode | Base | required | CompositionAttestationMode | 📍4.0.1 | FHIR Std. |
| Composition.event.code | Base | example | v3 Code System ActCode | 📦3.0.0 | THO v7.0 |
| Id | Grade | Path(s) | Description | Expression |
| 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-fixed-major | error | Composition.meta.profile | If a version is present in the canonical, MAJOR SHALL be a fixed value. |
matches('^.*[|]0[.].*$')
|
| 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 MedComDocumentComposition
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
MedComDocumentComposition | |||
![]() ![]() |
||||
![]() ![]() ![]() |
C | 1..1 | canonical(StructureDefinition) | [DocumentEntry.formatCode] The profile canonical SHALL include the major and minor version of the standard in the form `|x.y`. Constraints: medcom-canonical-fixed-major |
![]() ![]() |
1..1 | code | [DocumentEntry.languageCode] Human language of the content Fixed Value: da | |
![]() ![]() |
||||
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: 11488-4 | |
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Consult note | |
![]() ![]() |
1..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-classcode-CS | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Required Pattern: 001 | |
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Required Pattern: Klinisk rapport | |
![]() ![]() |
1..1 | dateTime | Last update of the note (Da: Seneste opdatering af notatet) | |
![]() ![]() |
1..2 | Reference(MedComDocumentOrganization | MedComDocumentPractitioner | MedComDocumentPractitionerRole) {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. | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
1..1 | Reference(MedComDocumentOrganization) {b} | The organization who authored the document. | |
![]() ![]() |
1..1 | string | Title MUST be 'Journalnotat for **CPR-nummer**' | |
![]() ![]() |
1..1 | code | As defined by affinity domain Fixed Value: N | |
![]() ![]() |
1..1 | BackboneElement | Composition is broken into sections | |
![]() ![]() ![]() |
1..1 | Reference(MedComNotesObservation) | A reference to data that supports this section | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| medcom-canonical-fixed-major | error | Composition.meta.profile | If a version is present in the canonical, MAJOR SHALL be a fixed value. |
matches('^.*[|]0[.].*$')
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | MedComDocumentComposition | 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] The profile canonical SHALL include the major and minor version of the standard in the form `|x.y`. Constraints: medcom-canonical-semver, medcom-canonical-fixed-major |
![]() ![]() ![]() |
Σ | 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) Fixed Value: da |
![]() ![]() |
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 Fixed Value: http://loinc.org |
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 11488-4 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Fixed Value: Consult note |
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user |
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept |
![]() ![]() |
SΣ | 1..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 Required Pattern: http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-classcode-CS |
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system Required Pattern: 001 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Required Pattern: Klinisk rapport |
![]() ![]() ![]() ![]() |
Σ | 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 | Last update of the note (Da: Seneste opdatering af notatet) |
![]() ![]() |
SOΣ | 1..2 | Reference(MedComDocumentOrganization | MedComDocumentPractitioner | MedComDocumentPractitionerRole) {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) {b} | The organization who authored the document. |
![]() ![]() |
SOΣ | 1..1 | string | Title MUST be 'Journalnotat for **CPR-nummer**' |
![]() ![]() |
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. Fixed Value: N |
![]() ![]() |
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..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 | 1..1 | Reference(MedComNotesObservation) | 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 | Status | Usage | ValueSet | Version | Source |
| Composition.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std. |
| Composition.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std. |
| Composition.language | Base | extensible | IHE LanguageCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.text.status | Base | required | NarrativeStatus | 📍4.0.1 | FHIR Std. |
| Composition.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Composition.identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Composition.status | Base | required | CompositionStatus | 📍4.0.1 | FHIR Std. |
| Composition.type | Base | required | IHE TypeCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.category | Base | extensible | IHE ClassCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.confidentiality | Base | required | V3 Value SetConfidentialityClassification | 📍2014-03-26 | FHIR Std. |
| Composition.attester.mode | Base | required | CompositionAttestationMode | 📍4.0.1 | FHIR Std. |
| Composition.relatesTo.code | Base | required | DocumentRelationshipType | 📍4.0.1 | FHIR Std. |
| Composition.event.code | Base | example | v3 Code System ActCode | 📦3.0.0 | THO v7.0 |
| Composition.section.code | Base | example | Document Section Codes | 📍4.0.1 | FHIR Std. |
| Composition.section.mode | Base | required | ListMode | 📍4.0.1 | FHIR Std. |
| Composition.section.orderedBy | Base | preferred | List Order Codes | 📍4.0.1 | FHIR Std. |
| Composition.section.emptyReason | Base | preferred | List Empty Reasons | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| 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-fixed-major | error | Composition.meta.profile | If a version is present in the canonical, MAJOR SHALL be a fixed value. |
matches('^.*[|]0[.].*$')
|
| 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 MedComDocumentComposition
Summary
Mandatory: 2 elements
Fixed: 5 elements
Structures
This structure refers to these other structures:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | MedComDocumentComposition | 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] The profile canonical SHALL include the major and minor version of the standard in the form `|x.y`. Constraints: medcom-canonical-semver, medcom-canonical-fixed-major |
![]() ![]() |
?!Σ | 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) Fixed Value: da |
![]() ![]() |
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 Fixed Value: http://loinc.org |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 11488-4 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Fixed Value: Consult note |
![]() ![]() |
SΣ | 1..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 Required Pattern: http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-classcode-CS |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system Required Pattern: 001 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Required Pattern: Klinisk rapport |
![]() ![]() |
SOΣ | 1..1 | Reference(MedComDocumentPatient) {b} | Who and/or what the composition is about |
![]() ![]() |
SOΣ | 1..1 | dateTime | Last update of the note (Da: Seneste opdatering af notatet) |
![]() ![]() |
SOΣ | 1..2 | Reference(MedComDocumentOrganization | MedComDocumentPractitioner | MedComDocumentPractitionerRole) {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) {b} | The organization who authored the document. |
![]() ![]() |
SOΣ | 1..1 | string | Title MUST be 'Journalnotat for **CPR-nummer**' |
![]() ![]() |
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. Fixed Value: N |
![]() ![]() |
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..1 | BackboneElement | Composition is broken into sections Constraints: cmp-1, cmp-2 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SOC | 1..1 | Reference(MedComNotesObservation) | A reference to data that supports this section |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Composition.language | Base | extensible | IHE LanguageCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.text.status | Base | required | NarrativeStatus | 📍4.0.1 | FHIR Std. |
| Composition.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Composition.status | Base | required | CompositionStatus | 📍4.0.1 | FHIR Std. |
| Composition.type | Base | required | IHE TypeCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.category | Base | extensible | IHE ClassCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.confidentiality | Base | required | V3 Value SetConfidentialityClassification | 📍2014-03-26 | FHIR Std. |
| Composition.attester.mode | Base | required | CompositionAttestationMode | 📍4.0.1 | FHIR Std. |
| Composition.event.code | Base | example | v3 Code System ActCode | 📦3.0.0 | THO v7.0 |
| Id | Grade | Path(s) | Description | Expression |
| 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-fixed-major | error | Composition.meta.profile | If a version is present in the canonical, MAJOR SHALL be a fixed value. |
matches('^.*[|]0[.].*$')
|
| 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 MedComDocumentComposition
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
MedComDocumentComposition | |||
![]() ![]() |
||||
![]() ![]() ![]() |
C | 1..1 | canonical(StructureDefinition) | [DocumentEntry.formatCode] The profile canonical SHALL include the major and minor version of the standard in the form `|x.y`. Constraints: medcom-canonical-fixed-major |
![]() ![]() |
1..1 | code | [DocumentEntry.languageCode] Human language of the content Fixed Value: da | |
![]() ![]() |
||||
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: 11488-4 | |
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Consult note | |
![]() ![]() |
1..1 | CodeableConcept | [DocumentEntry.classCode] Categorization of document | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-classcode-CS | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Required Pattern: 001 | |
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Required Pattern: Klinisk rapport | |
![]() ![]() |
1..1 | dateTime | Last update of the note (Da: Seneste opdatering af notatet) | |
![]() ![]() |
1..2 | Reference(MedComDocumentOrganization | MedComDocumentPractitioner | MedComDocumentPractitionerRole) {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. | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
1..1 | Reference(MedComDocumentOrganization) {b} | The organization who authored the document. | |
![]() ![]() |
1..1 | string | Title MUST be 'Journalnotat for **CPR-nummer**' | |
![]() ![]() |
1..1 | code | As defined by affinity domain Fixed Value: N | |
![]() ![]() |
1..1 | BackboneElement | Composition is broken into sections | |
![]() ![]() ![]() |
1..1 | Reference(MedComNotesObservation) | A reference to data that supports this section | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| medcom-canonical-fixed-major | error | Composition.meta.profile | If a version is present in the canonical, MAJOR SHALL be a fixed value. |
matches('^.*[|]0[.].*$')
|
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | MedComDocumentComposition | 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] The profile canonical SHALL include the major and minor version of the standard in the form `|x.y`. Constraints: medcom-canonical-semver, medcom-canonical-fixed-major |
![]() ![]() ![]() |
Σ | 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) Fixed Value: da |
![]() ![]() |
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 Fixed Value: http://loinc.org |
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 11488-4 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Fixed Value: Consult note |
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user |
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept |
![]() ![]() |
SΣ | 1..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 Required Pattern: http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-classcode-CS |
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | code | Symbol in syntax defined by the system Required Pattern: 001 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Required Pattern: Klinisk rapport |
![]() ![]() ![]() ![]() |
Σ | 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 | Last update of the note (Da: Seneste opdatering af notatet) |
![]() ![]() |
SOΣ | 1..2 | Reference(MedComDocumentOrganization | MedComDocumentPractitioner | MedComDocumentPractitionerRole) {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) {b} | The organization who authored the document. |
![]() ![]() |
SOΣ | 1..1 | string | Title MUST be 'Journalnotat for **CPR-nummer**' |
![]() ![]() |
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. Fixed Value: N |
![]() ![]() |
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..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 | 1..1 | Reference(MedComNotesObservation) | 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 | Status | Usage | ValueSet | Version | Source |
| Composition.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std. |
| Composition.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std. |
| Composition.language | Base | extensible | IHE LanguageCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.text.status | Base | required | NarrativeStatus | 📍4.0.1 | FHIR Std. |
| Composition.identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Composition.identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Composition.status | Base | required | CompositionStatus | 📍4.0.1 | FHIR Std. |
| Composition.type | Base | required | IHE TypeCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.category | Base | extensible | IHE ClassCode_TEMP | 📦2.0.0 | DK MedCom Document v2.0 |
| Composition.confidentiality | Base | required | V3 Value SetConfidentialityClassification | 📍2014-03-26 | FHIR Std. |
| Composition.attester.mode | Base | required | CompositionAttestationMode | 📍4.0.1 | FHIR Std. |
| Composition.relatesTo.code | Base | required | DocumentRelationshipType | 📍4.0.1 | FHIR Std. |
| Composition.event.code | Base | example | v3 Code System ActCode | 📦3.0.0 | THO v7.0 |
| Composition.section.code | Base | example | Document Section Codes | 📍4.0.1 | FHIR Std. |
| Composition.section.mode | Base | required | ListMode | 📍4.0.1 | FHIR Std. |
| Composition.section.orderedBy | Base | preferred | List Order Codes | 📍4.0.1 | FHIR Std. |
| Composition.section.emptyReason | Base | preferred | List Empty Reasons | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| 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-fixed-major | error | Composition.meta.profile | If a version is present in the canonical, MAJOR SHALL be a fixed value. |
matches('^.*[|]0[.].*$')
|
| 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 MedComDocumentComposition
Summary
Mandatory: 2 elements
Fixed: 5 elements
Structures
This structure refers to these other structures:
Other representations of profile: CSV, Excel, Schematron