This page is part of the CH-CRL (R4) (v0.1.0: STU Draft). This is the current published version. For a full list of available versions, see the Directory of published versions
The official URL for this profile is:
http://fhir.ch/ig/ch-crl/StructureDefinition/ch-crl-composition
Profile on Composition for Reporting to the Cancer Registry
This profile builds on CHCoreComposition.
This profile was published on Mon Sep 02 00:00:00 CEST 2019 as a draft by Bundesamt für Gesundheit BAG.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
Path | Conformance | ValueSet / Code |
Composition.language | preferred | CommonLanguages Max Binding: AllLanguages |
Composition.status | required | CompositionStatus |
Composition.type | preferred | Pattern: LOINC code 72134-0("Cancer event report") |
Composition.category | example | DocumentClassValueSet |
Composition.subject.type | extensible | ResourceType |
Composition.author.type | extensible | ResourceType |
Composition.confidentiality | required | v3.ConfidentialityClassification |
Composition.attester.mode | required | CompositionAttestationMode |
Composition.relatesTo.code | required | DocumentRelationshipType |
Composition.event.code | example | v3.ActCode |
Composition.section.code | example | DocumentSectionCodes |
Composition.section.mode | required | ListMode |
Composition.section.orderedBy | preferred | ListOrderCodes |
Composition.section.entry:documentReference.type | extensible | ResourceType |
Composition.section.entry:communication.type | extensible | ResourceType |
Composition.section.emptyReason | preferred | ListEmptyReasons |
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-3 | 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 | 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 | Composition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Composition | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Composition.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children : hasValue() or (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() or (children().count() > id.count()) | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.subject.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.subject.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.subject.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.subject.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.subject.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.subject.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.date | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.author | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.author.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.author.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.author.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.author.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.author.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.author.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.title | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.confidentiality | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.confidentiality.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.confidentiality.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.confidentiality.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.confidentiality.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() or (children().count() > id.count()) | |
ele-1 | Composition.attester.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.attester.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.attester.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.attester.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.attester.mode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.attester.time | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.attester.party | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.custodian | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.relatesTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.relatesTo.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.relatesTo.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.relatesTo.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.relatesTo.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.relatesTo.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.relatesTo.target[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.event | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.event.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.event.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.event.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.event.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.event.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.event.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.event.detail | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
cmp-1 | 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 | Composition.section | A section can only have an emptyReason if it is empty : emptyReason.empty() or entry.empty() | |
ele-1 | Composition.section | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.section.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.section.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.section.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.section.title | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.author | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.focus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.mode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.orderedBy | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.section.entry.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
dom-2 | Composition.section.entry.reference | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Composition.section.entry.reference | 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 | Composition.section.entry.reference | 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 | Composition.section.entry.reference | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Composition.section.entry.reference | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Composition.section.entry.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.section.entry.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
dom-2 | Composition.section.entry.reference | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Composition.section.entry.reference | 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 | Composition.section.entry.reference | 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 | Composition.section.entry.reference | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Composition.section.entry.reference | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Composition.section.entry.reference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.emptyReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.section | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |