FHIR Clinical Documents
1.0.0-ballot - STU1 Ballot International flag

This page is part of the FHIR Clinical Documents (v1.0.0-ballot: STU1 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: FHIR Clinical Document Composition Profile

Official URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/clinical-document-composition Version: 1.0.0-ballot
Draft as of 2024-08-08 Maturity Level: 2 Computable Name: ClinicalDocumentComposition

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

Starting point for a specification for a composition of a FHIR Clinical Document.

A FHIR Clinical Document is a FHIR bundle of type=document where the first entry is a composition conforming to this profile.

Be aware of the modifier extension R5-Composition-status it is a backport of the R5 Composition.status to allow for additional status codes. Be cautious when using with the R4 Composition.status, which is required. The values could unintentionally cause confusion if they contradict each-other. The value sets do overlap, as well. The intent is to preadopt values found in R5 for status. In R6, the FHIR Clinical Document Composition Profile will only have one status field.

As noted in the introduction section on human readability:

To ensure the unambiguous communication of a clinical document's attested narrative, this IG requires that:

  1. There must be a deterministic method by which a recipient of an arbitrary FHIR Clinical Document can display the narrative content of the note on a standard Web browser.
  2. Human readability shall not require a sender to transmit a special style sheet along with a FHIR Clinical Document. It must be possible to render all FHIR Clinical Documents with a single style sheet and general-market display tools.
  3. Human readability applies to the authenticated content. There may be additional information conveyed in the document that is there primarily for machine processing that is not authenticated and need not be rendered.
  • The FHIR Clinical Document creator
    • SHALL place attested narrative into Composition.section.text.
    • SHOULD NOT redundantly place attested narrative in both Composition.text and Composition.section.text.
    • MAY include narrative that is not derived from any structured data.
    • SHOULD include document metadata (e.g. patient) in Composition.text.
    • MAY include a list of document sections in Composition.text
  • The FHIR Clinical Document recipient
    • SHALL include, at a minimum, Composition.title, Composition.section.title and Composition.section.text in any rendition of the document.
    • MAY include Composition.text in a rendition of the document.
    • MAY render additional document information (such as patient name and date of birth) derived from structured Composition fields.

Usage:

Formal Views of Profile Content

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

This structure is derived from Composition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition C 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
clindoc-limit-participantType: FHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
... language S 0..1 code Language of the resource content
... text S 0..1 Narrative Text summary of the resource, for human interpretation
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... R5-Composition-version S 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Composition.version
.... data-enterer S 0..1 (Complex) A Data Enterer represents the person who transferred the content, written or dictated, into the clinical document. To clarify, an author provides the content, subject to their own interpretation; a dataEnterer adds an author's information to the electronic system.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/data-enterer-extension
.... informant S 0..* (Complex) An Informant is an information source for any content within the clinical document. This informant is constrained for use when the source of information is an assigned health care provider for the patient.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/informant-extension
.... information-recipient S 0..* (Complex) An Information Recipient is the intended recipient of the information at the time the document was created.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/information-recipient-extension
.... participant S 0..* (Complex) A Participant that is not a data-enter, information-recipient nor an informant
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension
..... Slices for extension Content/Rules for all slices
...... extension:type 1..* Extension Extension
....... value[x] 1..1 CodeableConcept Value of extension
Binding: Clinical Document Participant Value set (required): particpants that are not a data-enter, information-recipient nor an informant

.... consent S 0..* Reference(Consent) consent
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/consent-extension
.... order S 0..* Reference(ServiceRequest) order
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/OrderExtension
.... modifierExtension:R5-Composition-status S 0..1 R5 Composition.status This allows for additional status values found in R5. However, exercise caution as the R4 Composition.status is required.
... identifier S 0..1 Identifier Version-independent identifier for the Composition
... type S 1..1 CodeableConcept Kind of composition (LOINC if possible)
... subject S 1..1 Reference(Patient | Group) Who and/or what the composition is about
... date S 1..1 dateTime Composition editing time
... author S 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization) Who and/or what authored the composition
... title S 1..1 string Human Readable name/title
... Slices for attester S 0..* BackboneElement Attests to accuracy of composition
Slice: Unordered, Open by pattern:mode
.... attester:All Slices Content/Rules for all slices
..... mode S 1..1 code personal | professional | legal | official
..... time S 0..1 dateTime When the composition was attested
..... party S 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
.... attester:legal_attester S 0..1 BackboneElement aka legal authenticator
..... mode 1..1 code personal | professional | legal | official
Required Pattern: legal
.... attester:professional_attester S 0..* BackboneElement aka authenticator
..... mode 1..1 code personal | professional | legal | official
Required Pattern: professional
... custodian S 1..1 Reference(Organization) Organization which maintains the composition
... Slices for relatesTo S 0..* BackboneElement Relationships to other compositions/documents
Slice: Unordered, Open by value:code
.... relatesTo:All Slices Content/Rules for all slices
..... Slices for target[x] 1..1 Identifier, Reference(Composition) Target of the relationship
Slice: Unordered, Open by type:$this
...... target[x]:targetIdentifier 0..1 Identifier Reference to the Bundle.identifier of the FHIR Clinical Document being appended, or to some other identifier of a non FHIR document
....... system 1..1 uri The namespace for the identifier value
....... value 1..1 string The value that is unique
.... relatesTo:replaced_document S 0..* BackboneElement The document(s) being superceded
..... code 1..1 code replaces | transforms | signs | appends
Required Pattern: replaces
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
.... relatesTo:appended_document S 0..* BackboneElement The document(s) being appended too
..... code 1..1 code replaces | transforms | signs | appends
Required Pattern: appends
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
... section S 1..* BackboneElement Composition is broken into sections
.... title S 1..1 string Label for section (e.g. for ToC)
.... code S 0..1 CodeableConcept Classification of section (recommended)
.... text S 0..1 Narrative Text summary of the section, for human interpretation

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Composition.extension:participant.extension:type.value[x]requiredClinicalDocParticipantVs
http://hl7.org/fhir/uv/fhir-clinical-document/ValueSet/clinical-doc-participant-vs
from this IG

Constraints

IdGradePath(s)DetailsRequirements
clindoc-limit-participantTypeerrorCompositionFHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
: extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUTHEN').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='CST').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='LA').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='RCT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='SBJ').not()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition C 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
clindoc-limit-participantType: FHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language S 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text S 0..1 Narrative Text summary of the resource, for human interpretation
.... R5-Composition-version S 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Composition.version
.... data-enterer S 0..1 (Complex) A Data Enterer represents the person who transferred the content, written or dictated, into the clinical document. To clarify, an author provides the content, subject to their own interpretation; a dataEnterer adds an author's information to the electronic system.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/data-enterer-extension
.... informant S 0..* (Complex) An Informant is an information source for any content within the clinical document. This informant is constrained for use when the source of information is an assigned health care provider for the patient.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/informant-extension
.... information-recipient S 0..* (Complex) An Information Recipient is the intended recipient of the information at the time the document was created.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/information-recipient-extension
.... participant S 0..* (Complex) A Participant that is not a data-enter, information-recipient nor an informant
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:type 1..* Extension Extension
....... extension 0..0
....... url 1..1 uri "type"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: Clinical Document Participant Value set (required): particpants that are not a data-enter, information-recipient nor an informant

...... extension:function 0..* Extension Exact function of the participant in the creation of the clinical document. This is more granular than type.
....... extension 0..0
....... url 1..1 uri "function"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: ParticipationFunction (extensible)
...... extension:time 0..1 Extension Time period of participation
....... extension 0..0
....... url 1..1 uri "time"
....... value[x] 1..1 Period Value of extension
...... extension:party S 1..1 Extension participant
....... extension 0..0
....... url 1..1 uri "party"
....... value[x] 1..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device | Organization) Value of extension
..... url 1..1 uri "http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension"
.... consent S 0..* Reference(Consent) consent
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/consent-extension
.... order S 0..* Reference(ServiceRequest) order
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/OrderExtension
... Slices for modifierExtension ?! 0..* Extension Extension
Slice: Unordered, Open by value:url
.... modifierExtension:R5-Composition-status ?!S 0..1 R5 Composition.status This allows for additional status values found in R5. However, exercise caution as the R4 Composition.status is required.
... identifier SΣ 0..1 Identifier Version-independent identifier for the Composition
... status ?!Σ 1..1 code preliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

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

... subject SΣ 1..1 Reference(Patient | Group) Who and/or what the composition is about
... date SΣ 1..1 dateTime Composition editing time
... author SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization) Who and/or what authored the composition
... title SΣ 1..1 string Human Readable name/title
... Slices for attester S 0..* BackboneElement Attests to accuracy of composition
Slice: Unordered, Open by pattern:mode
.... attester:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode S 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.

..... time S 0..1 dateTime When the composition was attested
..... party S 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
.... attester:legal_attester S 0..1 BackboneElement aka legal authenticator
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.


Required Pattern: legal
.... attester:professional_attester S 0..* BackboneElement aka authenticator
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.


Required Pattern: professional
... custodian SΣ 1..1 Reference(Organization) Organization which maintains the composition
... Slices for relatesTo S 0..* BackboneElement Relationships to other compositions/documents
Slice: Unordered, Open by value:code
.... relatesTo:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

..... Slices for target[x] 1..1 Target of the relationship
Slice: Unordered, Open by type:$this
...... targetIdentifier Identifier
...... targetReference Reference(Composition)
...... target[x]:targetIdentifier 0..1 Identifier Reference to the Bundle.identifier of the FHIR Clinical Document being appended, or to some other identifier of a non FHIR document
....... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
....... value Σ 1..1 string The value that is unique
Example General: 123456
.... relatesTo:replaced_document S 0..* BackboneElement The document(s) being superceded
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.


Required Pattern: replaces
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
.... relatesTo:appended_document S 0..* BackboneElement The document(s) being appended too
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.


Required Pattern: appends
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
... section SC 1..* BackboneElement Composition is broken into sections
cmp-1: A section must contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... title S 1..1 string Label for section (e.g. for ToC)
.... code S 0..1 CodeableConcept Classification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.

.... text SC 0..1 Narrative Text summary of the section, for human interpretation

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Composition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Composition.extension:participant.extension:type.value[x]requiredClinicalDocParticipantVs
http://hl7.org/fhir/uv/fhir-clinical-document/ValueSet/clinical-doc-participant-vs
from this IG
Composition.extension:participant.extension:function.value[x]extensibleParticipationFunction
http://terminology.hl7.org/ValueSet/v3-ParticipationFunction
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|4.0.1
from the FHIR Standard
Composition.typepreferredFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
from the FHIR Standard
Composition.attester.moderequiredCompositionAttestationMode
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.attester:legal_attester.moderequiredPattern: legal
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.attester:professional_attester.moderequiredPattern: professional
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.relatesTo.coderequiredDocumentRelationshipType
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.relatesTo.target[x]:targetIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Composition.relatesTo:replaced_document.coderequiredPattern: replaces
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.relatesTo:appended_document.coderequiredPattern: appends
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.section.codeexampleDocumentSectionCodes
http://hl7.org/fhir/ValueSet/doc-section-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
clindoc-limit-participantTypeerrorCompositionFHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
: extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUTHEN').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='CST').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='LA').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='RCT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='SBJ').not()
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCompositionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition C 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
clindoc-limit-participantType: FHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text S 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... R5-Composition-version S 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Composition.version
.... data-enterer S 0..1 (Complex) A Data Enterer represents the person who transferred the content, written or dictated, into the clinical document. To clarify, an author provides the content, subject to their own interpretation; a dataEnterer adds an author's information to the electronic system.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/data-enterer-extension
.... informant S 0..* (Complex) An Informant is an information source for any content within the clinical document. This informant is constrained for use when the source of information is an assigned health care provider for the patient.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/informant-extension
.... information-recipient S 0..* (Complex) An Information Recipient is the intended recipient of the information at the time the document was created.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/information-recipient-extension
.... participant S 0..* (Complex) A Participant that is not a data-enter, information-recipient nor an informant
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:type 1..* Extension Extension
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "type"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: Clinical Document Participant Value set (required): particpants that are not a data-enter, information-recipient nor an informant

...... extension:function 0..* Extension Exact function of the participant in the creation of the clinical document. This is more granular than type.
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "function"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: ParticipationFunction (extensible)
...... extension:time 0..1 Extension Time period of participation
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "time"
....... value[x] 1..1 Period Value of extension
...... extension:party S 1..1 Extension participant
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "party"
....... value[x] 1..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device | Organization) Value of extension
..... url 1..1 uri "http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension"
.... consent S 0..* Reference(Consent) consent
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/consent-extension
.... order S 0..* Reference(ServiceRequest) order
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/OrderExtension
... Slices for modifierExtension ?! 0..* Extension Extension
Slice: Unordered, Open by value:url
.... modifierExtension:R5-Composition-status ?!S 0..1 R5 Composition.status This allows for additional status values found in R5. However, exercise caution as the R4 Composition.status is required.
... identifier SΣ 0..1 Identifier Version-independent identifier for the Composition
... status ?!Σ 1..1 code preliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

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

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


... subject SΣ 1..1 Reference(Patient | Group) Who and/or what the composition is about
... encounter Σ 0..1 Reference(Encounter) Context of the Composition
... date SΣ 1..1 dateTime Composition editing time
... author SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization) Who and/or what authored the composition
... title SΣ 1..1 string Human Readable name/title
... confidentiality Σ 0..1 code As defined by affinity domain
Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.

... Slices for attester S 0..* BackboneElement Attests to accuracy of composition
Slice: Unordered, Open by pattern:mode
.... attester:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode S 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.

..... time S 0..1 dateTime When the composition was attested
..... party S 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
.... attester:legal_attester S 0..1 BackboneElement aka legal authenticator
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.


Required Pattern: legal
..... time 0..1 dateTime When the composition was attested
..... party 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
.... attester:professional_attester S 0..* BackboneElement aka authenticator
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.


Required Pattern: professional
..... time 0..1 dateTime When the composition was attested
..... party 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
... custodian SΣ 1..1 Reference(Organization) Organization which maintains the composition
... Slices for relatesTo S 0..* BackboneElement Relationships to other compositions/documents
Slice: Unordered, Open by value:code
.... relatesTo:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

..... Slices for target[x] 1..1 Target of the relationship
Slice: Unordered, Open by type:$this
...... targetIdentifier Identifier
...... targetReference Reference(Composition)
...... target[x]:targetIdentifier 0..1 Identifier Reference to the Bundle.identifier of the FHIR Clinical Document being appended, or to some other identifier of a non FHIR document
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

....... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
....... value Σ 1..1 string The value that is unique
Example General: 123456
....... period Σ 0..1 Period Time period when id is/was valid for use
....... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... relatesTo:replaced_document S 0..* BackboneElement The document(s) being superceded
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.


Required Pattern: replaces
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
.... relatesTo:appended_document S 0..* BackboneElement The document(s) being appended too
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.


Required Pattern: appends
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
... event Σ 0..* BackboneElement The clinical service(s) being documented
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 0..* CodeableConcept Code(s) that apply to the event being documented
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.


.... period Σ 0..1 Period The period covered by the documentation
.... detail Σ 0..* Reference(Resource) The event(s) being documented
... section SC 1..* BackboneElement Composition is broken into sections
cmp-1: A section must contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... title S 1..1 string Label for section (e.g. for ToC)
.... code S 0..1 CodeableConcept Classification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.

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

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

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

.... section C 0..* See section (Composition) Nested Section

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Composition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Composition.extension:participant.extension:type.value[x]requiredClinicalDocParticipantVs
http://hl7.org/fhir/uv/fhir-clinical-document/ValueSet/clinical-doc-participant-vs
from this IG
Composition.extension:participant.extension:function.value[x]extensibleParticipationFunction
http://terminology.hl7.org/ValueSet/v3-ParticipationFunction
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|4.0.1
from the FHIR Standard
Composition.typepreferredFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
from the FHIR Standard
Composition.categoryexampleDocumentClassValueSet
http://hl7.org/fhir/ValueSet/document-classcodes
from the FHIR Standard
Composition.confidentialityrequiredv3.ConfidentialityClassification
http://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification|2014-03-26
from the FHIR Standard
Composition.attester.moderequiredCompositionAttestationMode
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.attester:legal_attester.moderequiredPattern: legal
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.attester:professional_attester.moderequiredPattern: professional
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.relatesTo.coderequiredDocumentRelationshipType
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.relatesTo.target[x]:targetIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Composition.relatesTo.target[x]:targetIdentifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Composition.relatesTo:replaced_document.coderequiredPattern: replaces
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.relatesTo:appended_document.coderequiredPattern: appends
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.event.codeexampleActCode
http://terminology.hl7.org/ValueSet/v3-ActCode
Composition.section.codeexampleDocumentSectionCodes
http://hl7.org/fhir/ValueSet/doc-section-codes
from the FHIR Standard
Composition.section.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard
Composition.section.orderedBypreferredListOrderCodes
http://hl7.org/fhir/ValueSet/list-order
from the FHIR Standard
Composition.section.emptyReasonpreferredListEmptyReasons
http://hl7.org/fhir/ValueSet/list-empty-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
clindoc-limit-participantTypeerrorCompositionFHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
: extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUTHEN').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='CST').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='LA').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='RCT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='SBJ').not()
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCompositionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Composition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition C 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
clindoc-limit-participantType: FHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
... language S 0..1 code Language of the resource content
... text S 0..1 Narrative Text summary of the resource, for human interpretation
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... R5-Composition-version S 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Composition.version
.... data-enterer S 0..1 (Complex) A Data Enterer represents the person who transferred the content, written or dictated, into the clinical document. To clarify, an author provides the content, subject to their own interpretation; a dataEnterer adds an author's information to the electronic system.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/data-enterer-extension
.... informant S 0..* (Complex) An Informant is an information source for any content within the clinical document. This informant is constrained for use when the source of information is an assigned health care provider for the patient.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/informant-extension
.... information-recipient S 0..* (Complex) An Information Recipient is the intended recipient of the information at the time the document was created.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/information-recipient-extension
.... participant S 0..* (Complex) A Participant that is not a data-enter, information-recipient nor an informant
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension
..... Slices for extension Content/Rules for all slices
...... extension:type 1..* Extension Extension
....... value[x] 1..1 CodeableConcept Value of extension
Binding: Clinical Document Participant Value set (required): particpants that are not a data-enter, information-recipient nor an informant

.... consent S 0..* Reference(Consent) consent
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/consent-extension
.... order S 0..* Reference(ServiceRequest) order
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/OrderExtension
.... modifierExtension:R5-Composition-status S 0..1 R5 Composition.status This allows for additional status values found in R5. However, exercise caution as the R4 Composition.status is required.
... identifier S 0..1 Identifier Version-independent identifier for the Composition
... type S 1..1 CodeableConcept Kind of composition (LOINC if possible)
... subject S 1..1 Reference(Patient | Group) Who and/or what the composition is about
... date S 1..1 dateTime Composition editing time
... author S 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization) Who and/or what authored the composition
... title S 1..1 string Human Readable name/title
... Slices for attester S 0..* BackboneElement Attests to accuracy of composition
Slice: Unordered, Open by pattern:mode
.... attester:All Slices Content/Rules for all slices
..... mode S 1..1 code personal | professional | legal | official
..... time S 0..1 dateTime When the composition was attested
..... party S 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
.... attester:legal_attester S 0..1 BackboneElement aka legal authenticator
..... mode 1..1 code personal | professional | legal | official
Required Pattern: legal
.... attester:professional_attester S 0..* BackboneElement aka authenticator
..... mode 1..1 code personal | professional | legal | official
Required Pattern: professional
... custodian S 1..1 Reference(Organization) Organization which maintains the composition
... Slices for relatesTo S 0..* BackboneElement Relationships to other compositions/documents
Slice: Unordered, Open by value:code
.... relatesTo:All Slices Content/Rules for all slices
..... Slices for target[x] 1..1 Identifier, Reference(Composition) Target of the relationship
Slice: Unordered, Open by type:$this
...... target[x]:targetIdentifier 0..1 Identifier Reference to the Bundle.identifier of the FHIR Clinical Document being appended, or to some other identifier of a non FHIR document
....... system 1..1 uri The namespace for the identifier value
....... value 1..1 string The value that is unique
.... relatesTo:replaced_document S 0..* BackboneElement The document(s) being superceded
..... code 1..1 code replaces | transforms | signs | appends
Required Pattern: replaces
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
.... relatesTo:appended_document S 0..* BackboneElement The document(s) being appended too
..... code 1..1 code replaces | transforms | signs | appends
Required Pattern: appends
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
... section S 1..* BackboneElement Composition is broken into sections
.... title S 1..1 string Label for section (e.g. for ToC)
.... code S 0..1 CodeableConcept Classification of section (recommended)
.... text S 0..1 Narrative Text summary of the section, for human interpretation

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Composition.extension:participant.extension:type.value[x]requiredClinicalDocParticipantVs
http://hl7.org/fhir/uv/fhir-clinical-document/ValueSet/clinical-doc-participant-vs
from this IG

Constraints

IdGradePath(s)DetailsRequirements
clindoc-limit-participantTypeerrorCompositionFHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
: extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUTHEN').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='CST').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='LA').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='RCT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='SBJ').not()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition C 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
clindoc-limit-participantType: FHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language S 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text S 0..1 Narrative Text summary of the resource, for human interpretation
.... R5-Composition-version S 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Composition.version
.... data-enterer S 0..1 (Complex) A Data Enterer represents the person who transferred the content, written or dictated, into the clinical document. To clarify, an author provides the content, subject to their own interpretation; a dataEnterer adds an author's information to the electronic system.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/data-enterer-extension
.... informant S 0..* (Complex) An Informant is an information source for any content within the clinical document. This informant is constrained for use when the source of information is an assigned health care provider for the patient.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/informant-extension
.... information-recipient S 0..* (Complex) An Information Recipient is the intended recipient of the information at the time the document was created.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/information-recipient-extension
.... participant S 0..* (Complex) A Participant that is not a data-enter, information-recipient nor an informant
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:type 1..* Extension Extension
....... extension 0..0
....... url 1..1 uri "type"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: Clinical Document Participant Value set (required): particpants that are not a data-enter, information-recipient nor an informant

...... extension:function 0..* Extension Exact function of the participant in the creation of the clinical document. This is more granular than type.
....... extension 0..0
....... url 1..1 uri "function"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: ParticipationFunction (extensible)
...... extension:time 0..1 Extension Time period of participation
....... extension 0..0
....... url 1..1 uri "time"
....... value[x] 1..1 Period Value of extension
...... extension:party S 1..1 Extension participant
....... extension 0..0
....... url 1..1 uri "party"
....... value[x] 1..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device | Organization) Value of extension
..... url 1..1 uri "http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension"
.... consent S 0..* Reference(Consent) consent
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/consent-extension
.... order S 0..* Reference(ServiceRequest) order
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/OrderExtension
... Slices for modifierExtension ?! 0..* Extension Extension
Slice: Unordered, Open by value:url
.... modifierExtension:R5-Composition-status ?!S 0..1 R5 Composition.status This allows for additional status values found in R5. However, exercise caution as the R4 Composition.status is required.
... identifier SΣ 0..1 Identifier Version-independent identifier for the Composition
... status ?!Σ 1..1 code preliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

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

... subject SΣ 1..1 Reference(Patient | Group) Who and/or what the composition is about
... date SΣ 1..1 dateTime Composition editing time
... author SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization) Who and/or what authored the composition
... title SΣ 1..1 string Human Readable name/title
... Slices for attester S 0..* BackboneElement Attests to accuracy of composition
Slice: Unordered, Open by pattern:mode
.... attester:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode S 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.

..... time S 0..1 dateTime When the composition was attested
..... party S 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
.... attester:legal_attester S 0..1 BackboneElement aka legal authenticator
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.


Required Pattern: legal
.... attester:professional_attester S 0..* BackboneElement aka authenticator
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.


Required Pattern: professional
... custodian SΣ 1..1 Reference(Organization) Organization which maintains the composition
... Slices for relatesTo S 0..* BackboneElement Relationships to other compositions/documents
Slice: Unordered, Open by value:code
.... relatesTo:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

..... Slices for target[x] 1..1 Target of the relationship
Slice: Unordered, Open by type:$this
...... targetIdentifier Identifier
...... targetReference Reference(Composition)
...... target[x]:targetIdentifier 0..1 Identifier Reference to the Bundle.identifier of the FHIR Clinical Document being appended, or to some other identifier of a non FHIR document
....... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
....... value Σ 1..1 string The value that is unique
Example General: 123456
.... relatesTo:replaced_document S 0..* BackboneElement The document(s) being superceded
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.


Required Pattern: replaces
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
.... relatesTo:appended_document S 0..* BackboneElement The document(s) being appended too
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.


Required Pattern: appends
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
... section SC 1..* BackboneElement Composition is broken into sections
cmp-1: A section must contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... title S 1..1 string Label for section (e.g. for ToC)
.... code S 0..1 CodeableConcept Classification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.

.... text SC 0..1 Narrative Text summary of the section, for human interpretation

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Composition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Composition.extension:participant.extension:type.value[x]requiredClinicalDocParticipantVs
http://hl7.org/fhir/uv/fhir-clinical-document/ValueSet/clinical-doc-participant-vs
from this IG
Composition.extension:participant.extension:function.value[x]extensibleParticipationFunction
http://terminology.hl7.org/ValueSet/v3-ParticipationFunction
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|4.0.1
from the FHIR Standard
Composition.typepreferredFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
from the FHIR Standard
Composition.attester.moderequiredCompositionAttestationMode
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.attester:legal_attester.moderequiredPattern: legal
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.attester:professional_attester.moderequiredPattern: professional
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.relatesTo.coderequiredDocumentRelationshipType
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.relatesTo.target[x]:targetIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Composition.relatesTo:replaced_document.coderequiredPattern: replaces
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.relatesTo:appended_document.coderequiredPattern: appends
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.section.codeexampleDocumentSectionCodes
http://hl7.org/fhir/ValueSet/doc-section-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
clindoc-limit-participantTypeerrorCompositionFHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
: extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUTHEN').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='CST').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='LA').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='RCT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='SBJ').not()
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCompositionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition C 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
clindoc-limit-participantType: FHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text S 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... R5-Composition-version S 0..1 string Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Composition.version
.... data-enterer S 0..1 (Complex) A Data Enterer represents the person who transferred the content, written or dictated, into the clinical document. To clarify, an author provides the content, subject to their own interpretation; a dataEnterer adds an author's information to the electronic system.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/data-enterer-extension
.... informant S 0..* (Complex) An Informant is an information source for any content within the clinical document. This informant is constrained for use when the source of information is an assigned health care provider for the patient.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/informant-extension
.... information-recipient S 0..* (Complex) An Information Recipient is the intended recipient of the information at the time the document was created.
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/information-recipient-extension
.... participant S 0..* (Complex) A Participant that is not a data-enter, information-recipient nor an informant
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:type 1..* Extension Extension
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "type"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: Clinical Document Participant Value set (required): particpants that are not a data-enter, information-recipient nor an informant

...... extension:function 0..* Extension Exact function of the participant in the creation of the clinical document. This is more granular than type.
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "function"
....... value[x] 1..1 CodeableConcept Value of extension
Binding: ParticipationFunction (extensible)
...... extension:time 0..1 Extension Time period of participation
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "time"
....... value[x] 1..1 Period Value of extension
...... extension:party S 1..1 Extension participant
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0
....... url 1..1 uri "party"
....... value[x] 1..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device | Organization) Value of extension
..... url 1..1 uri "http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension"
.... consent S 0..* Reference(Consent) consent
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/consent-extension
.... order S 0..* Reference(ServiceRequest) order
URL: http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/OrderExtension
... Slices for modifierExtension ?! 0..* Extension Extension
Slice: Unordered, Open by value:url
.... modifierExtension:R5-Composition-status ?!S 0..1 R5 Composition.status This allows for additional status values found in R5. However, exercise caution as the R4 Composition.status is required.
... identifier SΣ 0..1 Identifier Version-independent identifier for the Composition
... status ?!Σ 1..1 code preliminary | final | amended | entered-in-error
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

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

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


... subject SΣ 1..1 Reference(Patient | Group) Who and/or what the composition is about
... encounter Σ 0..1 Reference(Encounter) Context of the Composition
... date SΣ 1..1 dateTime Composition editing time
... author SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization) Who and/or what authored the composition
... title SΣ 1..1 string Human Readable name/title
... confidentiality Σ 0..1 code As defined by affinity domain
Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.

... Slices for attester S 0..* BackboneElement Attests to accuracy of composition
Slice: Unordered, Open by pattern:mode
.... attester:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode S 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.

..... time S 0..1 dateTime When the composition was attested
..... party S 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
.... attester:legal_attester S 0..1 BackboneElement aka legal authenticator
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.


Required Pattern: legal
..... time 0..1 dateTime When the composition was attested
..... party 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
.... attester:professional_attester S 0..* BackboneElement aka authenticator
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... mode 1..1 code personal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.


Required Pattern: professional
..... time 0..1 dateTime When the composition was attested
..... party 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) Who attested the composition
... custodian SΣ 1..1 Reference(Organization) Organization which maintains the composition
... Slices for relatesTo S 0..* BackboneElement Relationships to other compositions/documents
Slice: Unordered, Open by value:code
.... relatesTo:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

..... Slices for target[x] 1..1 Target of the relationship
Slice: Unordered, Open by type:$this
...... targetIdentifier Identifier
...... targetReference Reference(Composition)
...... target[x]:targetIdentifier 0..1 Identifier Reference to the Bundle.identifier of the FHIR Clinical Document being appended, or to some other identifier of a non FHIR document
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

....... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
....... value Σ 1..1 string The value that is unique
Example General: 123456
....... period Σ 0..1 Period Time period when id is/was valid for use
....... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... relatesTo:replaced_document S 0..* BackboneElement The document(s) being superceded
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.


Required Pattern: replaces
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
.... relatesTo:appended_document S 0..* BackboneElement The document(s) being appended too
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code 1..1 code replaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.


Required Pattern: appends
..... Slices for target[x] Content/Rules for all slices
...... target[x]:targetIdentifier 1..1 Identifier Target of the relationship
... event Σ 0..* BackboneElement The clinical service(s) being documented
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 0..* CodeableConcept Code(s) that apply to the event being documented
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.


.... period Σ 0..1 Period The period covered by the documentation
.... detail Σ 0..* Reference(Resource) The event(s) being documented
... section SC 1..* BackboneElement Composition is broken into sections
cmp-1: A section must contain at least one of text, entries, or sub-sections
cmp-2: A section can only have an emptyReason if it is empty
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... title S 1..1 string Label for section (e.g. for ToC)
.... code S 0..1 CodeableConcept Classification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.

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

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

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

.... section C 0..* See section (Composition) Nested Section

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Composition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Composition.extension:participant.extension:type.value[x]requiredClinicalDocParticipantVs
http://hl7.org/fhir/uv/fhir-clinical-document/ValueSet/clinical-doc-participant-vs
from this IG
Composition.extension:participant.extension:function.value[x]extensibleParticipationFunction
http://terminology.hl7.org/ValueSet/v3-ParticipationFunction
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|4.0.1
from the FHIR Standard
Composition.typepreferredFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
from the FHIR Standard
Composition.categoryexampleDocumentClassValueSet
http://hl7.org/fhir/ValueSet/document-classcodes
from the FHIR Standard
Composition.confidentialityrequiredv3.ConfidentialityClassification
http://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification|2014-03-26
from the FHIR Standard
Composition.attester.moderequiredCompositionAttestationMode
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.attester:legal_attester.moderequiredPattern: legal
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.attester:professional_attester.moderequiredPattern: professional
http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1
from the FHIR Standard
Composition.relatesTo.coderequiredDocumentRelationshipType
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.relatesTo.target[x]:targetIdentifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Composition.relatesTo.target[x]:targetIdentifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Composition.relatesTo:replaced_document.coderequiredPattern: replaces
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.relatesTo:appended_document.coderequiredPattern: appends
http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1
from the FHIR Standard
Composition.event.codeexampleActCode
http://terminology.hl7.org/ValueSet/v3-ActCode
Composition.section.codeexampleDocumentSectionCodes
http://hl7.org/fhir/ValueSet/doc-section-codes
from the FHIR Standard
Composition.section.moderequiredListMode
http://hl7.org/fhir/ValueSet/list-mode|4.0.1
from the FHIR Standard
Composition.section.orderedBypreferredListOrderCodes
http://hl7.org/fhir/ValueSet/list-order
from the FHIR Standard
Composition.section.emptyReasonpreferredListEmptyReasons
http://hl7.org/fhir/ValueSet/list-empty-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
clindoc-limit-participantTypeerrorCompositionFHIR Clinical Document Composition Profile contains fields for AUT, AUTHEN, CST, LA, RCT, SBJ. These types are not allowed as types in the Participant Extension
: extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='AUTHEN').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='CST').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='LA').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='RCT').not() and extension.where(url='http://hl7.org/fhir/uv/fhir-clinical-document/StructureDefinition/ParticipantExtension').extension.where(url='type').value.coding.exists(system='http://terminology.hl7.org/CodeSystem/v3-ParticipationType' and code='SBJ').not()
cmp-1errorComposition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2errorComposition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCompositionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron