0.4.4 - ci-build

StandardPatientHealthRecordIG, published by MITRE. This is not an authorized publication; it is the continuous build for version 0.4.4). This version is based on the current content of https://github.com/HL7/standard-patient-health-record-ig/ and changes regularly. See the Directory of published versions

Resource Profile: PhrComposition

Official URL: https://open-health-manager.github.io/standard-patient-health-record-ig/StructureDefinition/PhrComposition Version: 0.4.4
Draft as of 2023-09-13 Computable Name: PhrComposition

Standard PHR profile of the Composition resource.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Composition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA set of resources composed into a single coherent clinical statement with clinical attestation
... type 1..1CodeableConceptKind of composition (LOINC if possible)
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 11503-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Medical records
... subject S1..1Reference(Resource)Who and/or what the composition is about

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA set of resources composed into a single coherent clinical statement with clinical attestation
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 11503-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Medical records
... subject SΣ1..1Reference(Resource)Who and/or what the composition is about
... date Σ1..1dateTimeComposition editing time
... author Σ1..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)Who and/or what authored the composition
... title Σ1..1stringHuman Readable name/title

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Composition.statusrequiredCompositionStatus
Composition.typepreferredPattern: LOINC code 11503-0("Medical records")

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf 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-4errorCompositionIf 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-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA 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
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..1IdentifierVersion-independent identifier for the Composition
... status ?!Σ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

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


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 11503-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Medical records
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... category Σ0..*CodeableConceptCategorization of Composition
Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.


... subject SΣ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(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)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 C0..*BackboneElementComposition is broken into sections
.... 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 C0..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 C0..*Reference(Resource)A reference to data that supports this section
.... emptyReason C0..1CodeableConceptWhy the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.

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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Composition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Composition.statusrequiredCompositionStatus
Composition.typepreferredPattern: LOINC code 11503-0("Medical records")
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

Constraints

IdGradePath(s)DetailsRequirements
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf 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-4errorCompositionIf 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-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Composition

Summary

Mandatory: 1 element
Must-Support: 1 element

Differential View

This structure is derived from Composition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA set of resources composed into a single coherent clinical statement with clinical attestation
... type 1..1CodeableConceptKind of composition (LOINC if possible)
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 11503-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Medical records
... subject S1..1Reference(Resource)Who and/or what the composition is about

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA set of resources composed into a single coherent clinical statement with clinical attestation
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 11503-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Medical records
... subject SΣ1..1Reference(Resource)Who and/or what the composition is about
... date Σ1..1dateTimeComposition editing time
... author Σ1..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)Who and/or what authored the composition
... title Σ1..1stringHuman Readable name/title

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Composition.statusrequiredCompositionStatus
Composition.typepreferredPattern: LOINC code 11503-0("Medical records")

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf 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-4errorCompositionIf 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-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*CompositionA 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
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..1IdentifierVersion-independent identifier for the Composition
... status ?!Σ1..1codepreliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

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


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: 11503-0
..... display1..1stringRepresentation defined by the system
Fixed Value: Medical records
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... category Σ0..*CodeableConceptCategorization of Composition
Binding: DocumentClassValueSet (example): High-level kind of a clinical document at a macro level.


... subject SΣ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(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)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 C0..*BackboneElementComposition is broken into sections
.... 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 C0..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 C0..*Reference(Resource)A reference to data that supports this section
.... emptyReason C0..1CodeableConceptWhy the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.

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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Composition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Composition.statusrequiredCompositionStatus
Composition.typepreferredPattern: LOINC code 11503-0("Medical records")
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

Constraints

IdGradePath(s)DetailsRequirements
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf 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-4errorCompositionIf 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-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Composition

Summary

Mandatory: 1 element
Must-Support: 1 element

 

Other representations of profile: CSV, Excel, Schematron