StructureDefinition UKCore-Composition

Canonical_URLStatusCurrent_VersionLast_UpdatedDescription
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Compositionactive2.4.02023-12-12

This profile defines the UK constraints and extensions on the International FHIR resource Composition.


Profile_Purpose

This profile allows a record of 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 SHALL be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition SHALL be included as subsequent entries in the Bundle, for example Patient, Practitioner, Encounter, etc.

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
careSettingTypeI0..1Extension(CodeableConcept)
modifierExtension?! I0..*Extension
identifierΣ0..1Identifier
statusS Σ ?!1..1codeBinding
typeS Σ1..1CodeableConceptBinding
categoryΣ0..*CodeableConceptBinding
subjectS Σ I0..1Reference(Resource)
encounterΣ I0..1Reference(Encounter)
dateΣ1..1dateTime
authorS Σ I1..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)
titleΣ1..1string
confidentialityS Σ0..1codeBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
mode1..1codeBinding
time0..1dateTime
partyI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
custodianS Σ I0..1Reference(Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
code1..1codeBinding
targetIdentifierIdentifier
targetReferenceReference(Composition)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeΣ0..*CodeableConcept
periodΣ I0..1Period
detailΣ I0..*Reference(Resource)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
title0..1string
code0..1CodeableConceptBinding
authorI0..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)
focusI0..1Reference(Resource)
textI0..1Narrative
mode0..1codeBinding
orderedBy0..1CodeableConceptBinding
entryI0..*Reference(Resource)
emptyReasonI0..1CodeableConceptBinding
sectionI0..*see (section)

Detailed Descriptions

Composition
DefinitionA 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 SHALL be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition SHALL be included as subsequent entries in the Bundle, for example Patient, Practitioner, Encounter, etc.
Cardinality0...*
Comments

While the focus of this specification is on patient-specific clinical statements, this resource can also apply to other healthcare-related statements such as study protocol designs, healthcare invoices and other activities that are not necessarily patient-specific or clinical.

Invariants
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-4: 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-3: 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-6: A resource should have narrative for robust management
    text.`div`.exists()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
Mappings
  • rim: Entity. Role, or Act
  • workflow: Event
  • rim: Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]
  • cda: ClinicalDocument
  • fhirdocumentreference: when described by DocumentReference
Composition.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Composition.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Composition.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Composition.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

CommonLanguages (preferred)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Composition.text
DefinitionA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: Act.text?
Composition.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: Entity. Role, or Act
  • rim: N/A
Composition.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.extension:careSettingType
DefinitionThe type of care setting associated with a composition or a list.
Cardinality0...1
TypeExtension(CodeableConcept)
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.identifier
DefinitionA version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.
Cardinality0...1
TypeIdentifier
SummaryTrue
Comments

Similar to ClinicalDocument/setId in CDA. See discussion in resource definition for how these relate.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Event.identifier
  • w5: FiveWs.identifier
  • rim: Document.id / Document.setId
  • cda: .setId
  • fhirdocumentreference: DocumentReference.masterIdentifier
Composition.status
DefinitionThe workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.
Cardinality1...1
Typecode
Binding

The workflow/clinical status of the composition.

CompositionStatus (required)
Must SupportTrue
ModifierTrue
SummaryTrue
Requirements

Need to be able to mark interim, amended, or withdrawn compositions or documents.

Comments

If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag "entered-in-error" is why this element is labeled as a modifier of other elements.

Some reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.status
  • w5: FiveWs.status
  • rim: interim: .completionCode="IN" & ./statusCode[isNormalDatatype()]="active"; final: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and not(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition", code) and isNormalAct()]); amended: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition", code) and isNormalAct() and statusCode="completed"]; withdrawn : .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
  • cda: n/a
  • fhirdocumentreference: DocumentReference.status
Composition.type
DefinitionSpecifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition.
Cardinality1...1
TypeCodeableConcept
Binding

SNOMED CT Document Type

UKCoreDocumentType (preferred)
Must SupportTrue
SummaryTrue
Requirements

Key metadata element describing the composition, used in searching/filtering.

Comments

For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.code
  • w5: FiveWs.class
  • rim: ./code
  • cda: .code
  • fhirdocumentreference: DocumentReference.type
Composition.category
DefinitionA categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type.
Cardinality0...*
TypeCodeableConcept
Binding

A ValueSet to identify the category of a composition.

UKCoreCompositionCategory (preferred)
SummaryTrue
Requirements

Helps humans to assess whether the composition is of interest when viewing an index of compositions or documents.

Comments

This is a metadata field from XDS/MHD.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.subject
  • w5: FiveWs.class
  • rim: .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
  • cda: n/a
  • fhirdocumentreference: DocumenttReference.category
Composition.subject
DefinitionWho or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).
Cardinality0...1
TypeReference(Resource)
Must SupportTrue
SummaryTrue
Requirements

Essential metadata for searching for the composition. Identifies who and/or what the composition/document is about.

Comments

For clinical documents, this is usually the patient.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5: FiveWs.subject[x]
  • rim: .participation[typeCode="SBJ"].role[typeCode="PAT"]
  • cda: .recordTarget
  • fhirdocumentreference: DocumentReference.subject
  • w5: FiveWs.subject
Composition.encounter
DefinitionDescribes the clinical encounter or type of care this documentation is associated with.
Cardinality0...1
TypeReference(Encounter)
SummaryTrue
Requirements

Provides context for the composition and supports searching.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.context
  • w5: FiveWs.context
  • rim: unique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct])
  • cda: .componentOf.encompassingEncounter
  • fhirdocumentreference: DocumentReference.context.encounter
Composition.date
DefinitionThe composition editing time, when the composition was last logically changed by the author.
Cardinality1...1
TypedateTime
SummaryTrue
Requirements

dateTime is used for tracking, organizing versions and searching. Note that this is the time of authoring. When packaged in a document, Bundle.timestamp is the date of packaging.

Comments

The Last Modified Date on the composition may be after the date of the document was attested without being changed.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.occurrence[x]
  • w5: FiveWs.done[x]
  • rim: .effectiveTime[type="TS"]
  • cda: .effectiveTime
  • fhirdocumentreference: DocumentReference.content.attachment.date, DocumentReference.created
Composition.author
DefinitionIdentifies who is responsible for the information in the composition, not necessarily who typed it in.
Cardinality1...*
TypeReference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)
Must SupportTrue
SummaryTrue
Requirements

Identifies who is responsible for the content.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.performer
  • w5: FiveWs.author
  • rim: .participation[typeCode="AUT"].role[classCode="ASSIGNED"]
  • cda: .author.assignedAuthor
  • fhirdocumentreference: DocumentReference.agent
Composition.title
DefinitionOfficial human-readable label for the composition.
Cardinality1...1
Typestring
SummaryTrue
Comments

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. Feedback on this requirement is welcome during the trial use period.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: ./title
  • cda: .title
  • fhirdocumentreference: DocumentReference.description, DocumentReference.content.attachment.title
Composition.confidentiality
DefinitionThe code specifying the level of confidentiality of the Composition.
Cardinality0...1
Typecode
Binding

Codes specifying the level of confidentiality of the composition.

v3.ConfidentialityClassification (required)
Must SupportTrue
SummaryTrue
Comments

The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section). This element is labeled as a modifier because highly confidential documents must not be treated as if they are not.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .confidentialityCode
  • cda: .confidentialityCode
  • fhirdocumentreference: DocumentReference.securityLabel
Composition.attester
DefinitionA participant who has attested to the accuracy of the composition/document.
Cardinality0...*
TypeBackboneElement
Requirements

Identifies responsibility for the accuracy of the composition content.

Comments

Only list each attester once.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
  • cda: .authenticator/.legalAuthenticator
  • fhirdocumentreference: DocumentReference.authenticator
Composition.attester.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Composition.attester.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.attester.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.attester.mode
DefinitionThe type of attestation the authenticator offers.
Cardinality1...1
Typecode
Binding

The way in which a person authenticated a composition.

CompositionAttestationMode (required)
Requirements

Indicates the level of authority of the attestation.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: unique(./modeCode)
  • cda: implied by .authenticator/.legalAuthenticator
Composition.attester.time
DefinitionWhen the composition was attested by the party.
Cardinality0...1
TypedateTime
Requirements

Identifies when the information in the composition was deemed accurate. (Things may have changed since then.).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: ./time[type="TS" and isNormalDatatype()]
  • cda: .authenticator.time
Composition.attester.party
DefinitionWho attested the composition in the specified way.
Cardinality0...1
TypeReference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
Requirements

Identifies who has taken on the responsibility for accuracy of the composition content.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5: FiveWs.witness
  • rim: ./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV", "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()]
  • cda: .authenticator.assignedEnttty
Composition.custodian
DefinitionIdentifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.
Cardinality0...1
TypeReference(Organization)
Must SupportTrue
SummaryTrue
Requirements

Identifies where to go to find the current version, where to report issues, etc.

Comments

This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
  • cda: .custodian.assignedCustodian
  • fhirdocumentreference: DocumentReference.custodian
Composition.relatesTo
DefinitionRelationships that this composition has with other compositions or documents that already exist.
Cardinality0...*
TypeBackboneElement
Comments

A document is a version specific composition.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .outboundRelationship
  • cda: .relatedDocument
  • fhirdocumentreference: DocumentReference.relatesTo
Composition.relatesTo.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Composition.relatesTo.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.relatesTo.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.relatesTo.code
DefinitionThe type of relationship that this composition has with anther composition or document.
Cardinality1...1
Typecode
Binding

The type of relationship between documents.

DocumentRelationshipType (required)
Comments

If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .outboundRelationship.typeCode
  • cda: .relatedDocument.typeCode
  • fhirdocumentreference: DocumentReference.relatesTo.code
Composition.relatesTo.target[x]
DefinitionThe target composition/document of this relationship.
Cardinality1...1
TypeIdentifier
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .target[classCode="DOC", moodCode="EVN"].id
  • cda: .relatedDocument.id
  • fhirdocumentreference: DocumentReference.relatesTo.target
Composition.event
DefinitionThe clinical service, such as a colonoscopy or an appendectomy, being documented.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Requirements

Provides context for the composition and creates a linkage between a resource describing an event and the composition created describing the event.

Comments

The event needs to be consistent with the type element, though can provide further information if desired.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: outboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
  • cda: .documentationOf.serviceEvent
  • fhirdocumentreference: DocumentReference.event
Composition.event.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Composition.event.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.event.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.event.code
DefinitionThis list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
Cardinality0...*
TypeCodeableConcept
Binding

This list of codes represents the main clinical acts being documented.

v3.ActCode (example)
SummaryTrue
Comments

An event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: .code
  • cda: .code
  • fhirdocumentreference: DocumentReference.event.code
Composition.event.period
DefinitionThe period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim: .effectiveTime
  • cda: .effectiveTime
  • fhirdocumentreference: DocumentReference.event.period
Composition.event.detail
DefinitionThe description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy.
Cardinality0...*
TypeReference(Resource)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .outboundRelationship[typeCode="SUBJ"].target
  • cda: n/a
Composition.section
DefinitionThe root of the sections that make up the composition.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cmp-1: A section must contain at least one of text, entries, or sub-sections
    text.exists() or entry.exists() or section.exists()
  • cmp-2: A section can only have an emptyReason if it is empty
    emptyReason.empty() or entry.empty()
Mappings
  • rim: n/a
  • rim: ./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
  • cda: .component.structuredBody.component.section
Composition.section.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Composition.section.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.section.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Composition.section.title
DefinitionThe label for this particular section. This will be part of the rendered content for the document, and is often used to build a table of contents.
Cardinality0...1
Typestring
Aliasheader, label, caption
Requirements

Section headings are often standardized for different types of documents. They give guidance to humans on how the document is organized.

Comments

The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title, or documents that only have a single section. Most Implementation Guides will make section title to be a required element.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: ./title
  • cda: .title
Composition.section.code
DefinitionA code identifying the kind of content contained within the section. This must be consistent with the section title.
Cardinality0...1
TypeCodeableConcept
Binding

Classification of a section of a composition/document.

UKCoreCompositionSectionCode (extensible)
Requirements

Provides computable standardized labels to topics within the document.

Comments

The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document.

If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: ./code
  • cda: .code
Composition.section.author
DefinitionIdentifies who is responsible for the information in this section, not necessarily who typed it in.
Cardinality0...*
TypeReference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)
Requirements

Identifies who is responsible for the content.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5: FiveWs.author
  • rim: .participation[typeCode="AUT"].role[classCode="ASSIGNED"]
  • cda: .author.assignedAuthor
Composition.section.focus
DefinitionThe actual focus of the section when it is not the subject of the composition, but instead represents something or someone associated with the subject such as (for a patient subject) a spouse, parent, fetus, or donor. If not focus is specified, the focus is assumed to be focus of the parent section, or, for a section in the Composition itself, the subject of the composition. Sections with a focus SHALL only include resources where the logical subject (patient, subject, focus, etc.) matches the section focus, or the resources have no logical subject (few resources).
Cardinality0...1
TypeReference(Resource)
Comments

Typically, sections in a doument are about the subject of the document, whether that is a patient, or group of patients, location, or device, or whatever. For some kind of documents, some sections actually contain data about related entities. Typical examples are a section in a newborn discharge summary concerning the mother, or family history documents, with a section about each family member, though there are many other examples.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • cda: .subject? (CDA did not differentiate between subject and focus)
Composition.section.text
DefinitionA human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative.
Cardinality0...1
TypeNarrative
Comments

Document profiles may define what content should be represented in the narrative to ensure clinical safety.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: .text
  • cda: .text
Composition.section.mode
DefinitionHow the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.
Cardinality0...1
Typecode
Binding

The processing mode that applies to this section.

ListMode (required)
Requirements

Sections are used in various ways, and it must be known in what way it is safe to use the entries in them.

Comments

This element is labeled as a modifier because a change list must not be misunderstood as a complete list.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • w5: FiveWs.class
  • rim: .outBoundRelationship[typeCode=COMP].target[classCode=OBS"].value
  • cda: n/a
Composition.section.orderedBy
DefinitionSpecifies the order applied to the items in the section entries.
Cardinality0...1
TypeCodeableConcept
Binding

What order applies to the items in the entry.

ListOrderCodes (preferred)
Requirements

Important for presentation and rendering. Lists may be sorted to place more important information first or to group related entries.

Comments

Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: .outboundRelationship[typeCode=COMP].sequenceNumber > 1
  • cda: n/a
Composition.section.entry
DefinitionA reference to the actual resource from which the narrative in the section is derived.
Cardinality0...*
TypeReference(Resource)
Comments

If there are no entries in the list, an emptyReason SHOULD be provided.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
  • cda: .entry
Composition.section.emptyReason
DefinitionIf the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason.
Cardinality0...1
TypeCodeableConcept
Binding

If a section is empty, why it is empty.

ListEmptyReasons (preferred)
Requirements

Allows capturing things like "none exist" or "not asked" which can be important for most lists.

Comments

The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • rim: .inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
  • cda: n/a
Composition.section.section
DefinitionA nested sub-section within this section.
Cardinality0...*
Typesee (section)
Comments

Nested sections are primarily used to help human readers navigate to particular portions of the document.

Mappings
  • rim: ./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
  • cda: .component.section

Table View

Composition..
Composition.extensionExtension..1
Composition.status..
Composition.type..
Composition.category..
Composition.subject..
Composition.author..
Composition.confidentiality..
Composition.custodian..
Composition.section..
Composition.section.code..

XML View

<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="UKCore-Composition" />
    <url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Composition" />
    <version value="2.4.0" />
    <name value="UKCoreComposition" />
    <title value="UK Core Composition" />
    <status value="active" />
    <date value="2023-12-12" />
    <publisher value="HL7 UK" />
    <contact>
        <name value="HL7 UK" />
        <telecom>
            <system value="email" />
            <value value="ukcore@hl7.org.uk" />
            <use value="work" />
            <rank value="1" />
        </telecom>
    </contact>
    <description value="This profile defines the UK constraints and extensions on the International FHIR resource [Composition](https://hl7.org/fhir/R4/Composition.html)." />
    <purpose value="This profile allows a record of 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. \n\nA Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition SHALL be the first entry in a Bundle where `Bundle.type=document`, and any other resources referenced from Composition SHALL be included as subsequent entries in the Bundle, for example Patient, Practitioner, Encounter, etc." />
    <copyright value="Copyright &#169; 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at  http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7&#174; FHIR&#174; standard Copyright &#169; 2011+ HL7 The HL7&#174; FHIR&#174; standard is used under the FHIR license. You may obtain a copy of the FHIR license at  https://www.hl7.org/fhir/license.html." />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="Composition" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Composition" />
    <derivation value="constraint" />
    <differential>
        <element id="Composition">
            <path value="Composition" />
            <definition value="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 SHALL be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition SHALL be included as subsequent entries in the Bundle, for example Patient, Practitioner, Encounter, etc." />
        </element>
        <element id="Composition.extension:careSettingType">
            <path value="Composition.extension" />
            <sliceName value="careSettingType" />
            <short value="Used to support the type of care setting associated with a composition or a list." />
            <max value="1" />
            <type>
                <code value="Extension" />
                <profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-CareSettingType" />
            </type>
        </element>
        <element id="Composition.status">
            <path value="Composition.status" />
            <short value="The workflow / clinical status of this composition." />
            <mustSupport value="true" />
        </element>
        <element id="Composition.type">
            <path value="Composition.type" />
            <short value="Specifies the particular kind of composition." />
            <mustSupport value="true" />
            <binding>
                <strength value="preferred" />
                <description value="SNOMED CT Document Type" />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-DocumentType" />
            </binding>
        </element>
        <element id="Composition.category">
            <path value="Composition.category" />
            <binding>
                <strength value="preferred" />
                <description value="A ValueSet to identify the category of a composition." />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-CompositionCategory" />
            </binding>
        </element>
        <element id="Composition.subject">
            <path value="Composition.subject" />
            <short value="Who and / or what the composition is about." />
            <mustSupport value="true" />
        </element>
        <element id="Composition.author">
            <path value="Composition.author" />
            <short value="Identifies who is responsible for the information in the composition." />
            <mustSupport value="true" />
        </element>
        <element id="Composition.confidentiality">
            <path value="Composition.confidentiality" />
            <short value="The code specifying the level of confidentiality of the Composition." />
            <mustSupport value="true" />
        </element>
        <element id="Composition.custodian">
            <path value="Composition.custodian" />
            <short value="Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information." />
            <mustSupport value="true" />
        </element>
        <element id="Composition.section.code">
            <path value="Composition.section.code" />
            <binding>
                <strength value="extensible" />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-CompositionSectionCode" />
            </binding>
        </element>
    </differential>
</StructureDefinition>

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "UKCore-Composition",
    "url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Composition",
    "version": "2.4.0",
    "name": "UKCoreComposition",
    "title": "UK Core Composition",
    "status": "active",
    "date": "2023-12-12",
    "publisher": "HL7 UK",
    "contact":  [
        {
            "name": "HL7 UK",
            "telecom":  [
                {
                    "system": "email",
                    "value": "ukcore@hl7.org.uk",
                    "use": "work",
                    "rank": 1
                }
            ]
        }
    ],
    "description": "This profile defines the UK constraints and extensions on the International FHIR resource [Composition](https://hl7.org/fhir/R4/Composition.html).",
    "purpose": "This profile allows a record of 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. \n\nA Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition SHALL be the first entry in a Bundle where `Bundle.type=document`, and any other resources referenced from Composition SHALL be included as subsequent entries in the Bundle, for example Patient, Practitioner, Encounter, etc.",
    "copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at  http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at  https://www.hl7.org/fhir/license.html.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Composition",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Composition",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Composition",
                "path": "Composition",
                "definition": "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 SHALL be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition SHALL be included as subsequent entries in the Bundle, for example Patient, Practitioner, Encounter, etc."
            },
            {
                "id": "Composition.extension:careSettingType",
                "path": "Composition.extension",
                "sliceName": "careSettingType",
                "short": "Used to support the type of care setting associated with a composition or a list.",
                "max": "1",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-CareSettingType"
                        ]
                    }
                ]
            },
            {
                "id": "Composition.status",
                "path": "Composition.status",
                "short": "The workflow / clinical status of this composition.",
                "mustSupport": true
            },
            {
                "id": "Composition.type",
                "path": "Composition.type",
                "short": "Specifies the particular kind of composition.",
                "mustSupport": true,
                "binding": {
                    "strength": "preferred",
                    "description": "SNOMED CT Document Type",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-DocumentType"
                }
            },
            {
                "id": "Composition.category",
                "path": "Composition.category",
                "binding": {
                    "strength": "preferred",
                    "description": "A ValueSet to identify the category of a composition.",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-CompositionCategory"
                }
            },
            {
                "id": "Composition.subject",
                "path": "Composition.subject",
                "short": "Who and / or what the composition is about.",
                "mustSupport": true
            },
            {
                "id": "Composition.author",
                "path": "Composition.author",
                "short": "Identifies who is responsible for the information in the composition.",
                "mustSupport": true
            },
            {
                "id": "Composition.confidentiality",
                "path": "Composition.confidentiality",
                "short": "The code specifying the level of confidentiality of the Composition.",
                "mustSupport": true
            },
            {
                "id": "Composition.custodian",
                "path": "Composition.custodian",
                "short": "Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.",
                "mustSupport": true
            },
            {
                "id": "Composition.section.code",
                "path": "Composition.section.code",
                "binding": {
                    "strength": "extensible",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-CompositionSectionCode"
                }
            }
        ]
    }
}

Feedback

Click here to:

Report issue for UKCore-Composition, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Examples

Discharge - An example to illustrate a composition containing a discharge summary.
Example UKCore-Composition-Discharge

CareSetting Type - An example to illustrate the care setting of a FHIR document.
Example UKCore-Extension-CareSettingType

Example Usage Scenarios

The following are example usage scenarios for the UK Core Composition profile:

  • Query for a specific patient document or document type
  • Query for recent patient documents
  • Create a new document or update an existing document

Profile Specific Implementation Guidance:

Mandatory and Must Support Data Elements

The following elements are identified as MustSupport, and it is expected that consumers and suppliers SHALL support these as per the MustSupport Guidance.

ElementReason
Composition.statusThe workflow / clinical status of this composition.
Composition.typeSpecifies the particular kind of composition.
Composition.subjectWho and / or what the composition is about.
Composition.authorIdentifies who is responsible for the information in the composition.
Composition.confidentialityThe code specifying the level of confidentiality of the Composition.
Composition.custodianIdentifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.


Extensions

More information about the extensions on the UKCore-Composition profile can be found using the links below.

ExtensionContextLinkComment
careSettingTypeComposition.extensionhttps://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-CareSettingTypeUsed to support the type of care setting associated with a composition or a list.


Bindings (differential)

More information about the bindings to UK Core ValueSets can be found below.

ContextStrengthLink
Composition.typepreferredhttps://fhir.hl7.org.uk/ValueSet/UKCore-DocumentType
Composition.categorypreferredhttps://fhir.hl7.org.uk/ValueSet/UKCore-CompositionCategory
Composition.section.codeextensiblehttps://fhir.hl7.org.uk/ValueSet/UKCore-CompositionSectionCode

Composition.extension:careSettingType preferred ValueSet UKCore-CareSettingType

subject

Where possible, it is expected that the resource being referenced SHOULD conform to the UK Core profile for that resource, if a profile exists.


encounter

Where possible, it is expected that the resource being referenced SHOULD conform to Profile UKCore-Encounter.


author

Where possible, it is expected that the resource being referenced SHOULD conform to one of the following UK Core profiles:


title

This element SHALL be present and MAY be derived from the Composition.type and Composition.extension:careSettingType.


attester


Composition.attester.party
Where possible, it is expected that the resource being referenced SHOULD conform to one of the following UK Core profiles:


custodian

Where possible, it is expected that the resource being referenced SHOULD conform to Profile UKCore-Organization