A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.).
2.8.1 Scope and Usage
A Composition is the basic structure from which FHIR Documents -
immutable bundles with attested narrative - are built. A single logical composition may be
associated with a series of derived documents, each of which is a frozen copy of the
composition.
Note: EN 13606 uses the term "Composition"
to refer to a single commit to an EHR system, and offers some common examples: a composition
containing a consultation note, a progress note, a report or a letter, an investigation report,
a prescription form or a set of bedside nursing observations. Using Composition for an attested
EHR commit is a valid use of the Composition resource, but for FHIR purposes, it would be usual
to make more granular updates with individual provenance statements.
Composition is a structure for grouping information for purposes of persistence and attestability.
The Composition resource defines a set of healthcare-related information that is assembled
together into a single logical document that provides a single coherent statement of meaning, establishes its own context and
that has clinical attestation with regard to who is making the statement. The Composition resource provides the basic structure
of a FHIR document. The full content of the document is expressed using a Bundle
containing the Composition and its entries.
There are several other grouping structures in FHIR with distinct purposes:
The List resource - enumerates a flat collection of resources and provides features for managing the collection.
While a particular List instance may represent a "snapshot", from a business process perspective, the notion of "list"
is dynamic – items are added and removed over time. The List resource references other resources. Lists may be
curated and have specific business meaning.
The Group resource - defines a group of specific people, animals, devices, etc. by enumerating them,
or by describing qualities that group members have. The Group resource refers to other resources, possibly implicitly.
Groups are intended to be acted upon or observed as a whole (e.g., performing therapy on a group, calculating risk for a group,
etc.). This resource will commonly be used for public health (e.g., describing an at-risk population), clinical trials (e.g.,
defining a test subject pool) and similar purposes.
The Bundle resource - is an infrastructure container for a group of resources. It does not have narrative
and is used to group collections of resources for transmission, persistence or processing (e.g., messages, documents, transactions,
query responses, etc.). The content of bundles is typically algorithmically determined for a particular exchange or persistence purpose.
The QuestionnaireResponse resource - is similar to Composition in that both organize collections of items and can have a hierarchical structure.
Questionnaires are also intended to help guide 'human' presentation of data. However, Compositions organize resources, while Questionnaires/QuestionnaireResponses organize specific elements.
Also, a Questionnaire represents data 'to be gathered' and is subject-independent, while Compositions represent collections of data that are complete and are about a particular subject.
It is possible for StructureDefinitions or GraphDefinitions to act as 'templates' for FHIR documents that guide what data is collected for a
particular purpose (e.g. a referral), but this differs from the gathering process that a Questionnaire provides where there are specific
questions that must be asked and answered and rules that guide which questions are enabled in which circumstances.
The Composition resource organizes clinical and administrative content into sections, each of which contains a narrative,
and references other resources for supporting data. The narrative content of the various sections in a Composition are
supported by the resources referenced in the section entries. The complete set of content to make up a document includes
the Composition resource together with various resources pointed to or indirectly
connected to the Composition. See the FHIR Documents documentation for guidance on how a Composition
is used when creating a document bundle.
2.8.3 Background and Context
2.8.3.1 Composition Status Codes
Every composition has a status element, which describes the status of the content of the composition, taken from this list of codes:
2.8.3.2 The workflow/clinical status of the composition.
registered
The existence of the composition is registered, but there is nothing yet available.
partial
This is a partial (e.g. initial, interim or preliminary) composition: data in the composition may be incomplete or unverified.
preliminary
Verified early results are available, but not all results are final.
final
This version of the composition is complete and verified by an appropriate person and no further work is planned. Any subsequent updates would be on a new version of the composition.
amended
The composition content or the referenced resources have been modified (edited or added to) subsequent to being released as "final" and the composition is complete and verified by an authorized person.
corrected
Subsequent to being final, the composition content has been modified to correct an error in the composition or referenced results.
appended
Subsequent to being final, the composition content has been modified by adding new content. The existing content is unchanged.
cancelled
The composition is unavailable because the measurement was not started or not completed (also sometimes called "aborted").
entered-in-error
The composition or document was originally created/issued in error, and this is an amendment that marks that the entire series should not be considered as valid.
deprecated
This composition has been withdrawn or superseded and should no longer be used.
unknown
The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which.
Composition status generally only moves down through this list - it moves from registered or preliminary to final and then it may progress to amended.
Note that in many workflows, only final compositions are made available and the preliminary status is not used.
A very few compositions are created entirely in error in the workflow - usually the composition concerns the wrong patient or is written by the wrong author,
and the error is only detected after the composition has been used or documents have been derived from it. To support resolution of this case,
the composition is updated to be marked as entered-in-error and a new derived document can be created. This means that the entire series of derived
documents is now considered to be created in error and systems receiving derived documents based on retracted compositions
SHOULD remove data taken from earlier documents from routine use and/or take other appropriate actions. Systems are not required to
provide this workflow or support documents derived from retracted compositions, but they SHALL NOT ignore a status of entered-in-error.
Note that systems that handle compositions or derived documents and don't support the error status need to define
some other way of handling compositions that are created in error; while this is not a common occurrence, some clinical systems
have no provision for removing erroneous information from a patient's record, and there is no way for a user to know that it is not fit for use -
this is not safe.
2.8.3.3 Note for CDA aware readers
Many users of this specification are familiar with the Clinical Document Architecture (CDA) and related specifications.
CDA is a primary design input to the Composition resource (other principal inputs are other HL7 document specifications and EN13606). There are three important structural
differences between CDA and the Composition resource:
A composition is a logical construct - its identifier matches to the CDA ClinicalDocument.setId.
Composition resources are wrapped into Document structures, for exchange
of the whole package (the composition and its parts), and this wrapped, sealed entity is equivalent to a CDA document,
where the where the Bundle.identifier is equivalent to ClinicalDocument.id and Bundle.meta.security is equivalent to ClinicalDocument.confidentialityCode.
The composition section defines a section (or sub-section) of the document, but unlike CDA, the section entries are
actually references to other resources that hold the supporting data content for the section.
This design means that the data can be reused in many other ways.
Unlike CDA, the context defined in the Composition (the subject, author, event, event period and encounter) apply to the composition and do not specifically apply to the resources referenced from
the section.entry. There is no context flow model in FHIR, so each resource referenced from
within a Composition expresses its own individual context. In this way, clinical content can
safely be extracted from the composition.
In addition, note that both the code lists (e.g., Composition.status) and the Composition resource are mapped to HL7 v3 and/or CDA.
Composition is broken into sections + Rule: A section must contain at least one of text, entries, or sub-sections + Rule: A section can only have an emptyReason if no entries are included
@prefix fhir: <http://hl7.org/fhir/> .
[ a fhir:Composition;
fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from Resource: .id, .meta, .implicitRules, and .language
# from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir:url[ uri ] ; # 0..1 Canonical identifier for this Composition, represented as a URI (globally unique)
fhir:identifier ( [ Identifier ] ... ) ; # 0..* Version-independent identifier for the Composition
fhir:version[ string ] ; # 0..1 An explicitly assigned identifier of a variation of the content in the Composition
fhir:status[ code ] ; # 1..1 registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
fhir:type[ CodeableConcept ] ; # 1..1 Kind of composition (LOINC if possible)
fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Categorization of Composition
fhir:subject ( [ Reference(Any) ] ... ) ; # 0..* Who and/or what the composition is about
fhir:encounter[ Reference(Encounter) ] ; # 0..1 Context of the Composition
fhir:date[ dateTime ] ; # 1..1 Composition editing time
fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
fhir:author ( [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ... ) ; # 1..* Who and/or what authored the composition
fhir:name[ string ] ; # 0..1 Name for this Composition (computer friendly)
fhir:title[ string ] ; # 1..1 Human Readable name/title
fhir:note ( [ Annotation ] ... ) ; # 0..* For any additional notes
fhir:attester( [ # 0..* Attests to accuracy of composition
fhir:mode[ CodeableConcept ] ; # 1..1 personal | professional | legal | official
fhir:time[ dateTime ] ; # 0..1 When the composition was attested
fhir:party[ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who attested the composition
] ... ) ;
fhir:custodian[ Reference(Organization) ] ; # 0..1 Organization which maintains the composition
fhir:relatesTo( [ # 0..* Relationships to other compositions/documents
fhir:type[ code ] ; # 1..1 documentation | justification | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | specification-of | created-with | cite-as | summarizes
# target[x]: 1..1 The artifact that is related to this Composition. One of these 5
fhir:target[ a fhir:uri ; uri ]
fhir:target[ a fhir:Attachment ; Attachment ]
fhir:target[ a fhir:canonical ; canonical(Any) ]
fhir:target[ a fhir:Reference ; Reference(Any) ]
fhir:target[ a fhir:markdown ; markdown ]
] ... ) ;
fhir:event( [ # 0..* The clinical service(s) being documented
fhir:period[ Period ] ; # 0..1 The period covered by the documentation
fhir:detail ( [ CodeableReference(Any) ] ... ) ; # 0..* The event(s) being documented, as code(s), reference(s), or both
] ... ) ;
fhir:section( [ # 0..* Composition is broken into sections
fhir:title[ string ] ; # 0..1 Label for section (e.g. for ToC)
fhir:code[ CodeableConcept ] ; # 0..1 Classification of section (recommended)
fhir:author ( [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Who and/or what authored the section, when the section is authored by someone other than the composition.author
fhir:focus[ Reference(Any) ] ; # 0..1 Who/what the section is about, when it is not about the subject of composition
fhir:text[ Narrative ] ; # 0..1 IText summary of the section, for human interpretation
fhir:orderedBy[ CodeableConcept ] ; # 0..1 Order of section entries
fhir:entry ( [ Reference(Any) ] ... ) ; # 0..* IA reference to data that supports this section
fhir:emptyReason[ CodeableConcept ] ; # 0..1 IWhy the section is empty
fhir:section ( [ See Composition.section ] ... ) ; # 0..* Nested Section
] ... ) ;
]
Composition is broken into sections + Rule: A section must contain at least one of text, entries, or sub-sections + Rule: A section can only have an emptyReason if no entries are included
@prefix fhir: <http://hl7.org/fhir/> .
[ a fhir:Composition;
fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from Resource: .id, .meta, .implicitRules, and .language
# from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir:url[ uri ] ; # 0..1 Canonical identifier for this Composition, represented as a URI (globally unique)
fhir:identifier ( [ Identifier ] ... ) ; # 0..* Version-independent identifier for the Composition
fhir:version[ string ] ; # 0..1 An explicitly assigned identifier of a variation of the content in the Composition
fhir:status[ code ] ; # 1..1 registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
fhir:type[ CodeableConcept ] ; # 1..1 Kind of composition (LOINC if possible)
fhir:category ( [ CodeableConcept ] ... ) ; # 0..* Categorization of Composition
fhir:subject ( [ Reference(Any) ] ... ) ; # 0..* Who and/or what the composition is about
fhir:encounter[ Reference(Encounter) ] ; # 0..1 Context of the Composition
fhir:date[ dateTime ] ; # 1..1 Composition editing time
fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
fhir:author ( [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ... ) ; # 1..* Who and/or what authored the composition
fhir:name[ string ] ; # 0..1 Name for this Composition (computer friendly)
fhir:title[ string ] ; # 1..1 Human Readable name/title
fhir:note ( [ Annotation ] ... ) ; # 0..* For any additional notes
fhir:attester( [ # 0..* Attests to accuracy of composition
fhir:mode[ CodeableConcept ] ; # 1..1 personal | professional | legal | official
fhir:time[ dateTime ] ; # 0..1 When the composition was attested
fhir:party[ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who attested the composition
] ... ) ;
fhir:custodian[ Reference(Organization) ] ; # 0..1 Organization which maintains the composition
fhir:relatesTo( [ # 0..* Relationships to other compositions/documents
fhir:type[ code ] ; # 1..1 documentation | justification | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | specification-of | created-with | cite-as | summarizes
# target[x]: 1..1 The artifact that is related to this Composition. One of these 5
fhir:target[ a fhir:uri ; uri ]
fhir:target[ a fhir:Attachment ; Attachment ]
fhir:target[ a fhir:canonical ; canonical(Any) ]
fhir:target[ a fhir:Reference ; Reference(Any) ]
fhir:target[ a fhir:markdown ; markdown ]
] ... ) ;
fhir:event( [ # 0..* The clinical service(s) being documented
fhir:period[ Period ] ; # 0..1 The period covered by the documentation
fhir:detail ( [ CodeableReference(Any) ] ... ) ; # 0..* The event(s) being documented, as code(s), reference(s), or both
] ... ) ;
fhir:section( [ # 0..* Composition is broken into sections
fhir:title[ string ] ; # 0..1 Label for section (e.g. for ToC)
fhir:code[ CodeableConcept ] ; # 0..1 Classification of section (recommended)
fhir:author ( [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ... ) ; # 0..* Who and/or what authored the section, when the section is authored by someone other than the composition.author
fhir:focus[ Reference(Any) ] ; # 0..1 Who/what the section is about, when it is not about the subject of composition
fhir:text[ Narrative ] ; # 0..1 IText summary of the section, for human interpretation
fhir:orderedBy[ CodeableConcept ] ; # 0..1 Order of section entries
fhir:entry ( [ Reference(Any) ] ... ) ; # 0..* IA reference to data that supports this section
fhir:emptyReason[ CodeableConcept ] ; # 0..1 IWhy the section is empty
fhir:section ( [ See Composition.section ] ... ) ; # 0..* Nested Section
] ... ) ;
]
This is the code specifying the high-level kind of document (e.g. Prescription, Discharge Summary, Report, etc.). Made up of a set of non-healthcare specific codes and all LOINC codes where scale type = 'DOC'.
A code specifying the particular kind of Act that the Act-instance represents within its class. Constraints:
The kind of Act (e.g. physical examination, serum potassium, inpatient encounter, charge financial transaction, etc.) is specified with a code from one of several, typically external, coding systems. The coding system will depend on the class of Act, such as LOINC for observations, etc. Conceptually, the Act.code must be a specialization of the Act.classCode. This is why the structure of ActClass domain should be reflected in the superstructure of the ActCode domain and then individual codes or externally referenced vocabularies subordinated under these domains that reflect the ActClass structure. Act.classCode and Act.code are not modifiers of each other but the Act.code concept should really imply the Act.classCode concept. For a negative example, it is not appropriate to use an Act.code "potassium" together with and Act.classCode for "laboratory observation" to somehow mean "potassium laboratory observation" and then use the same Act.code for "potassium" together with Act.classCode for "medication" to mean "substitution of potassium". This mutually modifying use of Act.code and Act.classCode is not permitted.
General reasons for a list to be empty. Reasons are either related to a summary list (i.e. problem or medication list) or to a workflow related list (i.e. consultation list).
A section can only have an emptyReason if no entries are included
emptyReason.empty() or entry.empty()
2.8.6
Notes:
The author and the attester are often the same person, but this might not be the case in some clinical workflows.
The attester attests contents of the document resource, the subject resource and the resources referred to
in the Composition.section.content references. Because documents are often derived Compositions and the attestation
from the composition is held to apply to the document, the method for presenting a document
should be used when/if attesters review the content of the composition.
The custodian is responsible for the maintenance of the composition and any documents derived from it. With regard to the documents, they are
responsible for the policy regarding persistence of the documents. Although they need not actually retain a copy of the document, they SHOULD do so.
It is acceptable for a Composition to contain only narrative (Composition.section.text) and no entries (Composition.section.entry)
2.8.7
Compositions about multiple entities
Typically, a composition is made about the subject - e.g. a patient, or group of patients, location, or device - and the
distinction between the subject and the composition describes the subject. Some kinds of documents contain data about other
parties or entities that are relevant to the subject of the document. Some examples:
A neonatal discharge summary that contains information about the mother
A family history document that contains multiple sections for different family members
A social health evaluation document that contains information about the patient's family members
A procedure report that contains details about a device implanted in the patient
In all these cases, the subject of the document is a single patient, but some of the details are actually
related to other persons or entities. When this happens, these other entities are detailed in the Composition.section.focus element.
In the absence of a focus, it is assumed that the subject of the composition is the focus.
If a focus is specified, then the resources referred to from the section SHALL
either:
specify that their subject (however named e.g. patient) or focus element (if present) is the focus indicated
not have a subject element
A few compositions genuinely cover multiple subjects - different sections are about different subjects. In such
case, Composition.subject is omitted, and the extension section-subject
is used on each section to indicate the subject.
Note to Implementers:
Feedback is welcome on two issues related to Composition:
For many compositions, the title is the same as the text or a display name of Composition.type (e.g., a "consultation" or "progress note"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here during the trial use period.
A client can ask a server to generate a fully bundled document from a Composition resource using the $document operation. This operation definition does not resolve the question how document signatures are created. This is an open issue during the period of trial use, and feedback is requested regarding this question.