This page is part of the Clinical Guidelines (v1.0.0: STU 1) based on FHIR R4. This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
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.
Summary
Must-Support: 10 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | 0..* | Composition | A set of resources composed into a single coherent clinical statement with clinical attestation | |
id | Σ | 0..1 | string | 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: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 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 | |
workflow-instantiatesCanonical | S | 0..1 | canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire) | Source URL: http://hl7.org/fhir/StructureDefinition/workflow-instantiatesCanonical |
cpg-summaryFor | S | 0..1 | Reference(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..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 0..1 | Identifier | Version-independent identifier for the Composition |
status | ?!SΣ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): The workflow/clinical status of the composition. |
type | SΣ | 1..1 | CodeableConcept | Kind of composition (LOINC if possible) Binding: FHIRDocumentTypeCodes (preferred): Type of a composition. |
category | SΣ | 0..* | CodeableConcept | Categorization of Composition Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level. |
subject | SΣ | 0..1 | Reference(CPGPatient) | Who and/or what the composition is about |
encounter | SΣ | 0..1 | Reference(CPGEncounter) | Context of the Composition |
date | SΣ | 1..1 | dateTime | Composition editing time |
author | SΣ | 1..* | Reference(CPGPractitioner | CPGPractitionerRole) | 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: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition. |
attester | 0..* | BackboneElement | Attests to accuracy of composition | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
mode | 1..1 | code | personal | professional | legal | official Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition. | |
time | 0..1 | dateTime | When the composition was attested | |
party | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) | Who attested the composition | |
custodian | Σ | 0..1 | Reference(Organization) | Organization which maintains the composition |
relatesTo | 0..* | BackboneElement | Relationships to other compositions/documents | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents. | |
target[x] | 1..1 | Target of the relationship | ||
targetIdentifier | Identifier | |||
targetReference | Reference(Composition) | |||
event | Σ | 0..* | BackboneElement | The clinical service(s) being documented |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 0..* | CodeableConcept | Code(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..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 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..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
title | 0..1 | string | Label for section (e.g. for ToC) | |
code | 0..1 | CodeableConcept | Classification 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..1 | Reference(Resource) | Who/what the section is about, when it is not about the subject of composition | |
text | I | 0..1 | Narrative | Text summary of the section, for human interpretation |
mode | 0..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this section. | |
orderedBy | 0..1 | CodeableConcept | Order of section entries Binding: ListOrderCodes (preferred): What order applies to the items in the entry. | |
entry | I | 0..* | Reference(Resource) | A reference to data that supports this section |
emptyReason | I | 0..1 | CodeableConcept | Why the section is empty Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty. |
section | I | 0..* | See section (Composition) | Nested Section |
Documentation for this format |
Summary
Must-Support: 10 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | 0..* | Composition | A set of resources composed into a single coherent clinical statement with clinical attestation | |
id | Σ | 0..1 | string | 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: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 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 | |
workflow-instantiatesCanonical | S | 0..1 | canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire) | Source URL: http://hl7.org/fhir/StructureDefinition/workflow-instantiatesCanonical |
cpg-summaryFor | S | 0..1 | Reference(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..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 0..1 | Identifier | Version-independent identifier for the Composition |
status | ?!SΣ | 1..1 | code | preliminary | final | amended | entered-in-error Binding: CompositionStatus (required): The workflow/clinical status of the composition. |
type | SΣ | 1..1 | CodeableConcept | Kind of composition (LOINC if possible) Binding: FHIRDocumentTypeCodes (preferred): Type of a composition. |
category | SΣ | 0..* | CodeableConcept | Categorization of Composition Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level. |
subject | SΣ | 0..1 | Reference(CPGPatient) | Who and/or what the composition is about |
encounter | SΣ | 0..1 | Reference(CPGEncounter) | Context of the Composition |
date | SΣ | 1..1 | dateTime | Composition editing time |
author | SΣ | 1..* | Reference(CPGPractitioner | CPGPractitionerRole) | 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: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition. |
attester | 0..* | BackboneElement | Attests to accuracy of composition | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
mode | 1..1 | code | personal | professional | legal | official Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition. | |
time | 0..1 | dateTime | When the composition was attested | |
party | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) | Who attested the composition | |
custodian | Σ | 0..1 | Reference(Organization) | Organization which maintains the composition |
relatesTo | 0..* | BackboneElement | Relationships to other compositions/documents | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents. | |
target[x] | 1..1 | Target of the relationship | ||
targetIdentifier | Identifier | |||
targetReference | Reference(Composition) | |||
event | Σ | 0..* | BackboneElement | The clinical service(s) being documented |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 0..* | CodeableConcept | Code(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..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 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..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
title | 0..1 | string | Label for section (e.g. for ToC) | |
code | 0..1 | CodeableConcept | Classification 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..1 | Reference(Resource) | Who/what the section is about, when it is not about the subject of composition | |
text | I | 0..1 | Narrative | Text summary of the section, for human interpretation |
mode | 0..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this section. | |
orderedBy | 0..1 | CodeableConcept | Order of section entries Binding: ListOrderCodes (preferred): What order applies to the items in the entry. | |
entry | I | 0..* | Reference(Resource) | A reference to data that supports this section |
emptyReason | I | 0..1 | CodeableConcept | Why the section is empty Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty. |
section | I | 0..* | See section (Composition) | Nested Section |
Documentation for this format |
Path | Conformance | ValueSet |
Composition.language | preferred | CommonLanguages Max Binding: AllLanguages |
Composition.status | required | CompositionStatus |
Composition.type | preferred | FHIRDocumentTypeCodes |
Composition.category | example | DocumentClassValueSet |
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.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:instantiatesCanonical | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.extension:instantiatesCanonical | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.extension:summaryFor | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.extension:summaryFor | 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.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.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.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.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()) |