FHIR Clinical Guidelines (v1.0.0) (STU1)

Clinical Practice Guidelines, published by Clinical Decision Support WG. This is not an authorized publication; it is the continuous build for version 1.0.0). This version is based on the current content of https://github.com/HL7/cqf-recommendations/ and changes regularly. See the Directory of published versions

D.4.1 StructureDefinition-cpg-casesummary

Introduction:

Examples:

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-casesummary

CPG Case Summary is the set of case features and feature groups that completely represent the case data scoped by the clinical practice guideline. This expresses the complete patient state at any given point in time.

This profile builds on Composition.

This profile was published on Thu Jun 06 00:00:00 UTC 2019 as a draft by Health Level Seven, Inc. - CDS WG.

Description of Profiles, Differentials, and Snapshots.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA set of resources composed into a single coherent clinical statement with clinical attestation
... workflow-instantiatesCanonical S0..1canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire)Source
URL: http://hl7.org/fhir/StructureDefinition/workflow-instantiatesCanonical
... cpg-summaryFor S0..1Reference(CPGCase | CPGCarePlan | CPGStrategy | CPGCommunicationRequest | CPGImmunizationRecommendation | CPGProposeDiagnosisTask | CPGQuestionnaireTask | CPGRecordDetectedIssueTask | CPGRecordInferenceTask | CPGMedicationRequest | CPGReportFlagTask | CPGServiceRequest)Which case?
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-summaryFor
... identifier S0..1IdentifierVersion-independent identifier for the Composition
... status S1..1codepreliminary | final | amended | entered-in-error
... type S1..1CodeableConceptKind of composition (LOINC if possible)
... category S0..*CodeableConceptCategorization of Composition
... subject S0..1Reference(CPGPatient)Who and/or what the composition is about
... encounter S0..1Reference(CPGEncounter)Context of the Composition
... date S1..1dateTimeComposition editing time
... author S1..*Reference(CPGPractitioner | CPGPractitionerRole)Who and/or what authored the composition

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA set of resources composed into a single coherent clinical statement with clinical attestation
... id Σ0..1stringLogical 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: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... workflow-instantiatesCanonical S0..1canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire)Source
URL: http://hl7.org/fhir/StructureDefinition/workflow-instantiatesCanonical
... cpg-summaryFor S0..1Reference(CPGCase | CPGCarePlan | CPGStrategy | CPGCommunicationRequest | CPGImmunizationRecommendation | CPGProposeDiagnosisTask | CPGQuestionnaireTask | CPGRecordDetectedIssueTask | CPGRecordInferenceTask | CPGMedicationRequest | CPGReportFlagTask | CPGServiceRequest)Which case?
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-summaryFor
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..1IdentifierVersion-independent identifier for the Composition
... status ?!SΣ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

... type SΣ1..1CodeableConceptKind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (preferred): Type of a composition.

... category SΣ0..*CodeableConceptCategorization of Composition
Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.


... subject SΣ0..1Reference(CPGPatient)Who and/or what the composition is about
... encounter SΣ0..1Reference(CPGEncounter)Context of the Composition
... date SΣ1..1dateTimeComposition editing time
... author SΣ1..*Reference(CPGPractitioner | CPGPractitionerRole)Who and/or what authored the composition
... title Σ1..1stringHuman Readable name/title
... confidentiality Σ0..1codeAs defined by affinity domain
Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.

... attester 0..*BackboneElementAttests to accuracy of composition
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... mode 1..1codepersonal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.

.... time 0..1dateTimeWhen the composition was attested
.... party 0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)Who attested the composition
... custodian Σ0..1Reference(Organization)Organization which maintains the composition
... relatesTo 0..*BackboneElementRelationships to other compositions/documents
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code 1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

.... target[x] 1..1Target of the relationship
..... targetIdentifierIdentifier
..... targetReferenceReference(Composition)
... event Σ0..*BackboneElementThe clinical service(s) being documented
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ0..*CodeableConceptCode(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.


.... 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 contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... title 0..1stringLabel for section (e.g. for ToC)
.... code 0..1CodeableConceptClassification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.

.... author 0..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)Who and/or what authored the section
.... focus 0..1Reference(Resource)Who/what the section is about, when it is not about the subject of composition
.... text I0..1NarrativeText summary of the section, for human interpretation
.... mode 0..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this section.

.... orderedBy 0..1CodeableConceptOrder of section entries
Binding: ListOrderCodes (preferred): What order applies to the items in the entry.

.... entry I0..*Reference(Resource)A reference to data that supports this section
.... emptyReason I0..1CodeableConceptWhy the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.

.... section I0..*See section (Composition)Nested Section

doco Documentation for this format

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA set of resources composed into a single coherent clinical statement with clinical attestation
... workflow-instantiatesCanonical S0..1canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire)Source
URL: http://hl7.org/fhir/StructureDefinition/workflow-instantiatesCanonical
... cpg-summaryFor S0..1Reference(CPGCase | CPGCarePlan | CPGStrategy | CPGCommunicationRequest | CPGImmunizationRecommendation | CPGProposeDiagnosisTask | CPGQuestionnaireTask | CPGRecordDetectedIssueTask | CPGRecordInferenceTask | CPGMedicationRequest | CPGReportFlagTask | CPGServiceRequest)Which case?
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-summaryFor
... identifier S0..1IdentifierVersion-independent identifier for the Composition
... status S1..1codepreliminary | final | amended | entered-in-error
... type S1..1CodeableConceptKind of composition (LOINC if possible)
... category S0..*CodeableConceptCategorization of Composition
... subject S0..1Reference(CPGPatient)Who and/or what the composition is about
... encounter S0..1Reference(CPGEncounter)Context of the Composition
... date S1..1dateTimeComposition editing time
... author S1..*Reference(CPGPractitioner | CPGPractitionerRole)Who and/or what authored the composition

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA set of resources composed into a single coherent clinical statement with clinical attestation
... id Σ0..1stringLogical 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: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... workflow-instantiatesCanonical S0..1canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire)Source
URL: http://hl7.org/fhir/StructureDefinition/workflow-instantiatesCanonical
... cpg-summaryFor S0..1Reference(CPGCase | CPGCarePlan | CPGStrategy | CPGCommunicationRequest | CPGImmunizationRecommendation | CPGProposeDiagnosisTask | CPGQuestionnaireTask | CPGRecordDetectedIssueTask | CPGRecordInferenceTask | CPGMedicationRequest | CPGReportFlagTask | CPGServiceRequest)Which case?
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-summaryFor
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..1IdentifierVersion-independent identifier for the Composition
... status ?!SΣ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

... type SΣ1..1CodeableConceptKind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (preferred): Type of a composition.

... category SΣ0..*CodeableConceptCategorization of Composition
Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.


... subject SΣ0..1Reference(CPGPatient)Who and/or what the composition is about
... encounter SΣ0..1Reference(CPGEncounter)Context of the Composition
... date SΣ1..1dateTimeComposition editing time
... author SΣ1..*Reference(CPGPractitioner | CPGPractitionerRole)Who and/or what authored the composition
... title Σ1..1stringHuman Readable name/title
... confidentiality Σ0..1codeAs defined by affinity domain
Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.

... attester 0..*BackboneElementAttests to accuracy of composition
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... mode 1..1codepersonal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.

.... time 0..1dateTimeWhen the composition was attested
.... party 0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)Who attested the composition
... custodian Σ0..1Reference(Organization)Organization which maintains the composition
... relatesTo 0..*BackboneElementRelationships to other compositions/documents
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code 1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

.... target[x] 1..1Target of the relationship
..... targetIdentifierIdentifier
..... targetReferenceReference(Composition)
... event Σ0..*BackboneElementThe clinical service(s) being documented
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ0..*CodeableConceptCode(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.


.... 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 contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... title 0..1stringLabel for section (e.g. for ToC)
.... code 0..1CodeableConceptClassification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.

.... author 0..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)Who and/or what authored the section
.... focus 0..1Reference(Resource)Who/what the section is about, when it is not about the subject of composition
.... text I0..1NarrativeText summary of the section, for human interpretation
.... mode 0..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this section.

.... orderedBy 0..1CodeableConceptOrder of section entries
Binding: ListOrderCodes (preferred): What order applies to the items in the entry.

.... entry I0..*Reference(Resource)A reference to data that supports this section
.... emptyReason I0..1CodeableConceptWhy the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.

.... section I0..*See section (Composition)Nested Section

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Composition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Composition.statusrequiredCompositionStatus
Composition.typepreferredFHIRDocumentTypeCodes
Composition.categoryexampleDocumentClassValueSet
Composition.confidentialityrequiredv3.ConfidentialityClassification
Composition.attester.moderequiredCompositionAttestationMode
Composition.relatesTo.coderequiredDocumentRelationshipType
Composition.event.codeexampleActCode
Composition.section.codeexampleDocumentSectionCodes
Composition.section.moderequiredListMode
Composition.section.orderedBypreferredListOrderCodes
Composition.section.emptyReasonpreferredListEmptyReasons

D.4.1.3 Constraints

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.extension:instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.extension:instantiatesCanonicalMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.extension:summaryForAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.extension:summaryForMust 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.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.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.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.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())