A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained.
In scope of the eHealth infrastructure, the Composition is used primarily for internal use when assembling resources into documents during publication to national document sharing.
When retrieving documents from national document sharing, these are represented as Clinical Document Architecture (CDA) XML documents. When choosing to transform the content to FHIR resources, the resulting Composition is the FHIR resource tying the other, resulting resources together as a document.
The official URL for this profile is:
http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-composition
This profile builds on Composition.
This profile was published on Fri Nov 08 13:01:00 UTC 2019 as a draft by ehealth.sundhed.dk.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Composition
Summary
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
This structure is derived from Composition
This structure is derived from Composition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | I | 0..* | A set of resources composed into a single coherent clinical statement with clinical attestation | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: Common Languages (extensible) Max Binding: All Languages | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
ehealth-composition-authorOrganization | I | 0..* | Reference() | Organization that authored the Composition URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-composition-authorOrganization |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |
url | 1..1 | uri | "http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-composition-authorOrganization" | |
value[x] | 0..1 | (Slice Definition) | Value of extension Slice: Unordered, Closed by type:$this | |
value[x]:valueReference | 1..1 | Reference(eHealth Organization) {bc} | Value of extension | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..1 | Identifier | Logical identifier of composition (version-independent) |
status | ?!Σ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required) |
type | Σ | 1..1 | CodeableConcept | Kind of composition (LOINC if possible) Binding: DocumentType (required) |
class | Σ | 0..1 | CodeableConcept | Categorization of Composition Binding: DocumentClass (required) |
subject | Σ | 1..1 | Reference(Resource) {bc} | Who and/or what the composition is about |
encounter | Σ | 0..1 | Reference(Encounter) {bc} | Context of the Composition |
date | Σ | 1..1 | dateTime | Composition editing time |
author | Σ | 1..* | Reference(eHealth Practitioner | eHealth Device | eHealth Patient | eHealth RelatedPerson) {bc} | Who and/or what authored the composition |
title | Σ | 1..1 | string | Human Readable name/title |
confidentiality | ?!Σ | 0..1 | code | As defined by affinity domain Binding: ConfidentialityClassification (required) |
attester | ΣI | 0..* | BackboneElement | Attests to accuracy of composition |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
mode | Σ | 1..* | code | personal | professional | legal | official Binding: CompositionAttestationMode (required) |
time | Σ | 0..1 | dateTime | When the composition was attested |
party | Σ | 0..1 | Reference(eHealth Patient | eHealth Practitioner | eHealth Organization) | Who attested the composition |
custodian | Σ | 0..1 | Reference(eHealth Organization) {bc} | Organization which maintains the composition |
relatesTo | ΣI | 0..* | BackboneElement | Relationships to other compositions/documents |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
code | Σ | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required) |
target[x] | Σ | 1..1 | Target of the relationship | |
targetIdentifier | Identifier | |||
targetReference | Reference(ehealth-composition) | |||
event | ΣI | 0..* | BackboneElement | The clinical service(s) being documented |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
code | Σ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: EventTypeCodes (required) |
period | Σ | 0..1 | Period | The period covered by the documentation |
detail | Σ | 0..* | Reference(Resource) | The event(s) being documented |
section | I | 0..* | BackboneElement | Composition is broken into sections cmp-1: A section must at least one of text, entries, or sub-sections cmp-2: A section can only have an emptyReason if it is empty |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
title | 0..1 | string | Label for section (e.g. for ToC) | |
code | 0..1 | CodeableConcept | Classification of section (recommended) Binding: Document Section Codes (example) | |
text | I | 0..1 | Narrative | Text summary of the section, for human interpretation |
mode | ?!Σ | 0..1 | code | working | snapshot | changes Binding: ListMode (required) |
orderedBy | 0..1 | CodeableConcept | Order of section entries Binding: List Order Codes (preferred) | |
entry | I | 0..* | Reference(Resource) {b} | A reference to data that supports this section |
emptyReason | I | 0..1 | CodeableConcept | Why the section is empty Binding: List Empty Reasons (preferred) |
section | I | 0..* | Unknown reference to #Composition.section Nested Section | |
Documentation for this format |
This structure is derived from Composition
Summary
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from Composition
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | I | 0..* | A set of resources composed into a single coherent clinical statement with clinical attestation | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: Common Languages (extensible) Max Binding: All Languages | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
ehealth-composition-authorOrganization | I | 0..* | Reference() | Organization that authored the Composition URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-composition-authorOrganization |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url | |
url | 1..1 | uri | "http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-composition-authorOrganization" | |
value[x] | 0..1 | (Slice Definition) | Value of extension Slice: Unordered, Closed by type:$this | |
value[x]:valueReference | 1..1 | Reference(eHealth Organization) {bc} | Value of extension | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..1 | Identifier | Logical identifier of composition (version-independent) |
status | ?!Σ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required) |
type | Σ | 1..1 | CodeableConcept | Kind of composition (LOINC if possible) Binding: DocumentType (required) |
class | Σ | 0..1 | CodeableConcept | Categorization of Composition Binding: DocumentClass (required) |
subject | Σ | 1..1 | Reference(Resource) {bc} | Who and/or what the composition is about |
encounter | Σ | 0..1 | Reference(Encounter) {bc} | Context of the Composition |
date | Σ | 1..1 | dateTime | Composition editing time |
author | Σ | 1..* | Reference(eHealth Practitioner | eHealth Device | eHealth Patient | eHealth RelatedPerson) {bc} | Who and/or what authored the composition |
title | Σ | 1..1 | string | Human Readable name/title |
confidentiality | ?!Σ | 0..1 | code | As defined by affinity domain Binding: ConfidentialityClassification (required) |
attester | ΣI | 0..* | BackboneElement | Attests to accuracy of composition |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
mode | Σ | 1..* | code | personal | professional | legal | official Binding: CompositionAttestationMode (required) |
time | Σ | 0..1 | dateTime | When the composition was attested |
party | Σ | 0..1 | Reference(eHealth Patient | eHealth Practitioner | eHealth Organization) | Who attested the composition |
custodian | Σ | 0..1 | Reference(eHealth Organization) {bc} | Organization which maintains the composition |
relatesTo | ΣI | 0..* | BackboneElement | Relationships to other compositions/documents |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
code | Σ | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required) |
target[x] | Σ | 1..1 | Target of the relationship | |
targetIdentifier | Identifier | |||
targetReference | Reference(ehealth-composition) | |||
event | ΣI | 0..* | BackboneElement | The clinical service(s) being documented |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
code | Σ | 0..* | CodeableConcept | Code(s) that apply to the event being documented Binding: EventTypeCodes (required) |
period | Σ | 0..1 | Period | The period covered by the documentation |
detail | Σ | 0..* | Reference(Resource) | The event(s) being documented |
section | I | 0..* | BackboneElement | Composition is broken into sections cmp-1: A section must at least one of text, entries, or sub-sections cmp-2: A section can only have an emptyReason if it is empty |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
title | 0..1 | string | Label for section (e.g. for ToC) | |
code | 0..1 | CodeableConcept | Classification of section (recommended) Binding: Document Section Codes (example) | |
text | I | 0..1 | Narrative | Text summary of the section, for human interpretation |
mode | ?!Σ | 0..1 | code | working | snapshot | changes Binding: ListMode (required) |
orderedBy | 0..1 | CodeableConcept | Order of section entries Binding: List Order Codes (preferred) | |
entry | I | 0..* | Reference(Resource) {b} | A reference to data that supports this section |
emptyReason | I | 0..1 | CodeableConcept | Why the section is empty Binding: List Empty Reasons (preferred) |
section | I | 0..* | Unknown reference to #Composition.section Nested Section | |
Documentation for this format |
Path | Conformance | ValueSet |
Composition.language | extensible | Common Languages Max Binding: All Languages |
Composition.status | required | CompositionStatus |
Composition.type | required | DocumentType |
Composition.class | required | DocumentClass |
Composition.confidentiality | required | ConfidentialityClassification |
Composition.attester.mode | required | CompositionAttestationMode |
Composition.relatesTo.code | required | DocumentRelationshipType |
Composition.event.code | required | EventTypeCodes |
Composition.section.code | example | Document Section Codes |
Composition.section.mode | required | ListMode |
Composition.section.orderedBy | preferred | List Order Codes |
Composition.section.emptyReason | preferred | List Empty Reasons |
Id | Path | Details | Requirements |
dom-2 | Composition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-1 | Composition | If the resource is contained in another resource, it SHALL NOT contain any narrative : contained.text.empty() | |
dom-4 | 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-3 | Composition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource : contained.where(('#'+id in %resource.descendants().reference).not()).empty() | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.attester | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | Composition.relatesTo | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | Composition.event | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | Composition.section | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
cmp-1 | Composition.section | A section must at least one of text, entries, or sub-sections : text.exists() or entry.exists() or section.exists() | |
cmp-2 | Composition.section | A section can only have an emptyReason if it is empty : emptyReason.empty() or entry.empty() |