CH_CRL (v0.1.0)

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

StructureDefinition: ch-crl-composition

Formal Views of Profile Content

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.

This structure is derived from CHCoreComposition

Summary

Mandatory: 4 elements (2 nested mandatory elements)

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Composition.section.entry is sliced based on the value of profile:reference

 

Terminology Bindings

PathConformanceValueSet / Code
Composition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Composition.statusrequiredCompositionStatus
Composition.typepreferredPattern: LOINC code 72134-0("Cancer event report")
Composition.categoryexampleDocumentClassValueSet
Composition.subject.typeextensibleResourceType
Composition.author.typeextensibleResourceType
Composition.confidentialityrequiredv3.ConfidentialityClassification
Composition.attester.moderequiredCompositionAttestationMode
Composition.relatesTo.coderequiredDocumentRelationshipType
Composition.event.codeexamplev3.ActCode
Composition.section.codeexampleDocumentSectionCodes
Composition.section.moderequiredListMode
Composition.section.orderedBypreferredListOrderCodes
Composition.section.entry:documentReference.typeextensibleResourceType
Composition.section.entry:communication.typeextensibleResourceType
Composition.section.emptyReasonpreferredListEmptyReasons

Constraints

IdPathDetailsRequirements
dom-2CompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3CompositionIf 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-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-5CompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6CompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1Composition.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.subject.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.subject.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.subject.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.subject.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.subject.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.subject.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.author.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.author.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.author.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.author.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.author.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.author.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.confidentialityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.confidentiality.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.confidentiality.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.confidentiality.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.confidentiality.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.attesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.attester.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.attester.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.attester.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.attester.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.timeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.partyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.custodianAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesTo.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.relatesTo.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.relatesTo.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.relatesTo.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.relatesTo.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesTo.target[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.eventAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.event.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.event.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.event.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.event.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.detailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cmp-1Composition.sectionA section must contain 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()
ele-1Composition.sectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.orderedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entry.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section.entry.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
dom-2Composition.section.entry.referenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3Composition.section.entry.referenceIf 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-4Composition.section.entry.referenceIf 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-5Composition.section.entry.referenceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Composition.section.entry.referenceA resource should have narrative for robust management
: text.`div`.exists()
ele-1Composition.section.entry.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entry.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entry.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entry.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entry.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section.entry.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
dom-2Composition.section.entry.referenceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3Composition.section.entry.referenceIf 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-4Composition.section.entry.referenceIf 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-5Composition.section.entry.referenceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Composition.section.entry.referenceA resource should have narrative for robust management
: text.`div`.exists()
ele-1Composition.section.entry.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entry.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entry.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entry.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.emptyReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.sectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
.