eHealth Infrastructure (v2019.5)

StructureDefinition: ehealth-composition

Formal Views of Profile Content

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 Wed May 08 06:17:13 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

This structure is derived from Composition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition I0..*A set of resources composed into a single coherent clinical statement with clinical attestation
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-composition-authorOrganization 0..*Reference(eHealth Organization) {r}Organization that authored the Composition
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-composition-authorOrganization
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... url 1..1uriidentifies the meaning of the extension
.... valueReference 0..1Reference(eHealth Organization)Value of extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..1IdentifierLogical identifier of composition (version-independent)
... status ?!Σ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required)
... type Σ1..1CodeableConceptKind of composition (LOINC if possible)
Binding: DocumentType (required)
... class Σ0..1CodeableConceptCategorization of Composition
Binding: DocumentClass (required)
... subject Σ1..1Reference(Resource)Who and/or what the composition is about
... encounter Σ0..1Reference(Encounter)Context of the Composition
... date Σ1..1dateTimeComposition editing time
... author Σ1..*Reference(eHealth Practitioner | eHealth Device | eHealth Patient | eHealth RelatedPerson)Who and/or what authored the composition
... title Σ1..1stringHuman Readable name/title
... confidentiality ?!Σ0..1codeAs defined by affinity domain
Binding: ConfidentialityClassification (required)
... attester ΣI0..*BackboneElementAttests to accuracy of composition
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... mode Σ1..*codepersonal | professional | legal | official
Binding: CompositionAttestationMode (required)
.... time Σ0..1dateTimeWhen the composition was attested
.... party Σ0..1Reference(eHealth Patient | eHealth Practitioner | eHealth Organization)Who attested the composition
... custodian Σ0..1Reference(Organization)Organization which maintains the composition
... relatesTo ΣI0..*BackboneElementRelationships to other compositions/documents
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required)
.... target[x] Σ1..1Identifier, Reference(ehealth-composition)Target of the relationship
... event ΣI0..*BackboneElementThe clinical service(s) being documented
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ0..*CodeableConceptCode(s) that apply to the event being documented
Binding: EventTypeCodes (required)
.... period Σ0..1PeriodThe period covered by the documentation
.... detail Σ0..*Reference(Resource)The event(s) being documented
... section I0..*BackboneElementComposition 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..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... title 0..1stringLabel for section (e.g. for ToC)
.... code 0..1CodeableConceptClassification of section (recommended)
Binding: Document Section Codes (example)
.... text I0..1NarrativeText summary of the section, for human interpretation
.... mode ?!Σ0..1codeworking | snapshot | changes
Binding: ListMode (required)
.... orderedBy 0..1CodeableConceptOrder of section entries
Binding: List Order Codes (preferred)
.... entry I0..*Reference(Resource)A reference to data that supports this section
.... emptyReason I0..1CodeableConceptWhy the section is empty
Binding: List Empty Reasons (preferred)
.... section I0..*Unknown reference to #Composition.section
Nested Section

doco Documentation for this format

Differential View

This structure is derived from Composition

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition I0..*A set of resources composed into a single coherent clinical statement with clinical attestation
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-composition-authorOrganization 0..*Reference(eHealth Organization) {r}Organization that authored the Composition
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-composition-authorOrganization
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... url 1..1uriidentifies the meaning of the extension
.... valueReference 0..1Reference(eHealth Organization)Value of extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..1IdentifierLogical identifier of composition (version-independent)
... status ?!Σ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required)
... type Σ1..1CodeableConceptKind of composition (LOINC if possible)
Binding: DocumentType (required)
... class Σ0..1CodeableConceptCategorization of Composition
Binding: DocumentClass (required)
... subject Σ1..1Reference(Resource)Who and/or what the composition is about
... encounter Σ0..1Reference(Encounter)Context of the Composition
... date Σ1..1dateTimeComposition editing time
... author Σ1..*Reference(eHealth Practitioner | eHealth Device | eHealth Patient | eHealth RelatedPerson)Who and/or what authored the composition
... title Σ1..1stringHuman Readable name/title
... confidentiality ?!Σ0..1codeAs defined by affinity domain
Binding: ConfidentialityClassification (required)
... attester ΣI0..*BackboneElementAttests to accuracy of composition
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... mode Σ1..*codepersonal | professional | legal | official
Binding: CompositionAttestationMode (required)
.... time Σ0..1dateTimeWhen the composition was attested
.... party Σ0..1Reference(eHealth Patient | eHealth Practitioner | eHealth Organization)Who attested the composition
... custodian Σ0..1Reference(Organization)Organization which maintains the composition
... relatesTo ΣI0..*BackboneElementRelationships to other compositions/documents
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required)
.... target[x] Σ1..1Identifier, Reference(ehealth-composition)Target of the relationship
... event ΣI0..*BackboneElementThe clinical service(s) being documented
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... code Σ0..*CodeableConceptCode(s) that apply to the event being documented
Binding: EventTypeCodes (required)
.... period Σ0..1PeriodThe period covered by the documentation
.... detail Σ0..*Reference(Resource)The event(s) being documented
... section I0..*BackboneElementComposition 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..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... title 0..1stringLabel for section (e.g. for ToC)
.... code 0..1CodeableConceptClassification of section (recommended)
Binding: Document Section Codes (example)
.... text I0..1NarrativeText summary of the section, for human interpretation
.... mode ?!Σ0..1codeworking | snapshot | changes
Binding: ListMode (required)
.... orderedBy 0..1CodeableConceptOrder of section entries
Binding: List Order Codes (preferred)
.... entry I0..*Reference(Resource)A reference to data that supports this section
.... emptyReason I0..1CodeableConceptWhy the section is empty
Binding: List Empty Reasons (preferred)
.... section I0..*Unknown reference to #Composition.section
Nested Section

doco Documentation for this format

 

Terminology Bindings

PathNameConformanceValueSet
Composition.languageCommon LanguagesextensibleCommon Languages
Composition.statusCompositionStatusrequiredCompositionStatus
Composition.typeDocumentTyperequiredDocumentType
Composition.classDocumentClassrequiredDocumentClass
Composition.confidentialityConfidentialityClassificationrequiredConfidentialityClassification
Composition.attester.modeCompositionAttestationModerequiredCompositionAttestationMode
Composition.relatesTo.codeDocumentRelationshipTyperequiredDocumentRelationshipType
Composition.event.codeEventTypeCodesrequiredEventTypeCodes
Composition.section.codeDocument Section CodesexampleDocument Section Codes
Composition.section.modeListModerequiredListMode
Composition.section.orderedByList Order CodespreferredList Order Codes
Composition.section.emptyReasonList Empty ReasonspreferredList Empty Reasons

Constraints

IdPathDetailsRequirements
dom-2CompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1CompositionIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4CompositionIf 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-3CompositionIf 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-1Composition.attesterAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Composition.relatesToAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Composition.eventAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Composition.sectionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
cmp-1Composition.sectionA section must at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2Composition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
.