DK MedCom EKG
1.0.2 - release
This page is part of the DK MedCom EKG (v1.0.2: 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/ekg/StructureDefinition/medcom-ekg-recording-composition | Version: 1.0.2 | |||
| Active as of 2026-01-28 | Computable Name: MedComEkgRecordingComposition | |||
A profile for the MedCom Ekg Recording Composition resource.
This page describes how the MedCom Ekg Recording Composition profile is used within the MedCom EKG Recording standard.
The MedComDocumentComposition 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.
This resource links the various resources used for sharing EKG recordings. The specific resources are:
Observation (MedComEkgRecordingObservation)Patient (MedComDocumentPatient)Organization (MedComDocumentOrganization)PractitionerRole (MedComDocumentPractitionerRole) and/or Practitioner (MedComDocumentPractitioner) (both optional)The section.entry element MUST reference the MedComEkgRecordingObservation that contains the EKG PDF-A attachment.
It is required to use the profiles MedComEkgRecordingObservation (representing the EKG PDF-A file and an optional note), MedComDocumentPatient (the patient of the EKG recording) and MedComDocumentOrganization (the author organization of the EKG recording), whereas it is optional to include a MedComDocumentPractitionerRole and/or MedComDocumentPractitioner (representing the author person).
The meta.profile element identifies the applied FHIR Composition profile, including the major and minor version of the MedCom document standard. Systems SHALL be able to receive and process documents where the minor version differs in this element, as long as the major version remains unchanged.
The XDS formatCode urn:ad:dk:medcom:ekg-v[major].[minor]:full
maps to the FHIR Composition.meta.profile http://medcomfhir.dk/ig/ekg/StructureDefinition/medcom-ekg-recording-composition|[major].[minor].
The [major].[minor] version components are versioned in lockstep. Any change to either the major or minor version SHALL be reflected in both to maintain semantic alignment between the MedCom XDS Metadata and the FHIR representation.
Example (v1.0):
XDS formatCode:
urn:ad:dk:medcom:ekg-v1.0:full
FHIR Composition.meta.profile:
http://medcomfhir.dk/ig/ekg/StructureDefinition/medcom-ekg-recording-composition|1.0
Composition.event.period.start and Composition.event.period.end is used to represent the time interval of the EKG recording.
If Observation.effectivePeriod.start is known, this MUST be inserted as Composition.event.period.start.
If Observation.effectivePeriod.start is NOT known, Observation.effectiveDateTime MUST be inserted as Composition.event.period.start instead.
If Observation.effectivePeriod.end is known, this MUST be inserted as Composition.event.period.end. If this is NOT known, this can be left empty, as it is optional.
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: 11524-6 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Fixed Value: EKG study |
![]() ![]() |
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 | The clinical date and time when the clinical report represented by this Composition was finalized, typically equal to the event.period.end of the recorded EKG. If event.period.end is not available, use event.period.start or Observation.effectiveDateTime. |
![]() ![]() |
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 'Elektrokardiogram-12-aflednings' Fixed Value: Elektrokardiogram-12-aflednings |
![]() ![]() |
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 | The end time of the EKG recording Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() ![]() |
SOΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() |
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 | 1..* | Reference(MedComEkgRecordingObservation) | 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('^.*[|]1[.].*$')
|
| 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-datetime-has-time-offset-zulu | error | Composition.event.period.start, Composition.event.period.end | dateTime must include date, time, and time zone. |
$this.toString().matches('^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
|
| 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: 11524-6 | |
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: EKG study | |
![]() ![]() |
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 | The clinical date and time when the clinical report represented by this Composition was finalized, typically equal to the event.period.end of the recorded EKG. If event.period.end is not available, use event.period.start or Observation.effectiveDateTime. | |
![]() ![]() |
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 'Elektrokardiogram-12-aflednings' Fixed Value: Elektrokardiogram-12-aflednings | |
![]() ![]() |
1..1 | code | As defined by affinity domain Fixed Value: N | |
![]() ![]() |
||||
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
C | 1..1 | dateTime | The end time of the EKG recording Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() ![]() |
C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Reference(MedComEkgRecordingObservation) | 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('^.*[|]1[.].*$')
|
| medcom-datetime-has-time-offset-zulu | error | Composition.event.period.start, Composition.event.period.end | dateTime must include date, time, and time zone. |
$this.toString().matches('^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
|
| 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: 11524-6 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Fixed Value: EKG study |
![]() ![]() ![]() ![]() |
Σ | 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 | The clinical date and time when the clinical report represented by this Composition was finalized, typically equal to the event.period.end of the recorded EKG. If event.period.end is not available, use event.period.start or Observation.effectiveDateTime. |
![]() ![]() |
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 'Elektrokardiogram-12-aflednings' Fixed Value: Elektrokardiogram-12-aflednings |
![]() ![]() |
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 | The end time of the EKG recording Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() ![]() |
SOΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() |
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 | 1..* | Reference(MedComEkgRecordingObservation) | 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('^.*[|]1[.].*$')
|
| 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-datetime-has-time-offset-zulu | error | Composition.event.period.start, Composition.event.period.end | dateTime must include date, time, and time zone. |
$this.toString().matches('^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
|
| 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: 6 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: 11524-6 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Fixed Value: EKG study |
![]() ![]() |
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 | The clinical date and time when the clinical report represented by this Composition was finalized, typically equal to the event.period.end of the recorded EKG. If event.period.end is not available, use event.period.start or Observation.effectiveDateTime. |
![]() ![]() |
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 'Elektrokardiogram-12-aflednings' Fixed Value: Elektrokardiogram-12-aflednings |
![]() ![]() |
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 | The end time of the EKG recording Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() ![]() |
SOΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() |
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 | 1..* | Reference(MedComEkgRecordingObservation) | 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('^.*[|]1[.].*$')
|
| 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-datetime-has-time-offset-zulu | error | Composition.event.period.start, Composition.event.period.end | dateTime must include date, time, and time zone. |
$this.toString().matches('^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
|
| 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: 11524-6 | |
![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: EKG study | |
![]() ![]() |
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 | The clinical date and time when the clinical report represented by this Composition was finalized, typically equal to the event.period.end of the recorded EKG. If event.period.end is not available, use event.period.start or Observation.effectiveDateTime. | |
![]() ![]() |
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 'Elektrokardiogram-12-aflednings' Fixed Value: Elektrokardiogram-12-aflednings | |
![]() ![]() |
1..1 | code | As defined by affinity domain Fixed Value: N | |
![]() ![]() |
||||
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
C | 1..1 | dateTime | The end time of the EKG recording Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() ![]() |
C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Reference(MedComEkgRecordingObservation) | 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('^.*[|]1[.].*$')
|
| medcom-datetime-has-time-offset-zulu | error | Composition.event.period.start, Composition.event.period.end | dateTime must include date, time, and time zone. |
$this.toString().matches('^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
|
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: 11524-6 |
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Representation defined by the system Fixed Value: EKG study |
![]() ![]() ![]() ![]() |
Σ | 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 | The clinical date and time when the clinical report represented by this Composition was finalized, typically equal to the event.period.end of the recorded EKG. If event.period.end is not available, use event.period.start or Observation.effectiveDateTime. |
![]() ![]() |
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 'Elektrokardiogram-12-aflednings' Fixed Value: Elektrokardiogram-12-aflednings |
![]() ![]() |
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 | The end time of the EKG recording Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() ![]() |
SOΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing Constraints: medcom-datetime-has-time-offset-zulu |
![]() ![]() ![]() |
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 | 1..* | Reference(MedComEkgRecordingObservation) | 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('^.*[|]1[.].*$')
|
| 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-datetime-has-time-offset-zulu | error | Composition.event.period.start, Composition.event.period.end | dateTime must include date, time, and time zone. |
$this.toString().matches('^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$')
|
| 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: 6 elements
Structures
This structure refers to these other structures:
Other representations of profile: CSV, Excel, Schematron