SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build

SGHI FHIR Profile Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/sil_fhir_profile_ig/ and changes regularly. See the Directory of published versions

Resource Profile: SGHI Composition

Official URL: https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-composition Version: 0.1.0
Draft as of 2025-09-04 Computable Name: SGHIComposition

A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.).

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣC 1..1 string The value that is unique
Example General: 123456
.... assigner Σ 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... status ?!Σ 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Binding: CompositionStatus (required): The workflow/clinical status of the composition.
... type Σ 1..1 SGHICodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (extensible)
... category Σ 0..* SGHICodeableConcept Categorization of Composition
Binding: ReferencedItemCategoryValueSet (extensible)
... subject Σ 0..1 Reference(Resource) Who and/or what the composition is about
... encounter Σ 1..1 SGHIReference(SGHI Encounter) Context of the Composition
... date Σ 1..1 dateTime Composition editing time
... author Σ 1..* SGHIReference(SGHI Patient | SGHI Organization) Who and/or what authored the composition
... name Σ 1..1 string Name for this Composition (computer friendly)
... title Σ 1..1 string Human Readable name/title

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Composition.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Composition.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|5.0.0
From the FHIR Standard
Composition.typeextensibleFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
From the FHIR Standard
Composition.categoryextensibleReferencedItemCategoryValueSet
http://hl7.org/fhir/ValueSet/referenced-item-category
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCompositionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Composition

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... identifier 1..* Identifier Version-independent identifier for the Composition
.... use 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system 1..1 uri The namespace for the identifier value
.... value 1..1 string The value that is unique
.... assigner 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... type 1..1 SGHICodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (extensible)
... category 0..* SGHICodeableConcept Categorization of Composition
Binding: ReferencedItemCategoryValueSet (extensible)
... encounter 1..1 SGHIReference(SGHI Encounter) Context of the Composition
... author 1..* SGHIReference(SGHI Patient | SGHI Organization) Who and/or what authored the composition
... name 1..1 string Name for this Composition (computer friendly)
... attester
.... mode 1..1 SGHICodeableConcept personal | professional | legal | official
.... party 0..1 SGHIReference(SGHI Patient | SGHI Organization) Who attested the composition
... section
.... code 0..1 SGHICodeableConcept Classification of section (recommended)
.... author 0..* SGHIReference(SGHI Patient | SGHI Organization) Who and/or what authored the section
.... orderedBy 0..1 SGHICodeableConcept Order of section entries
.... emptyReason 0..1 SGHICodeableConcept Why the section is empty

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Composition.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Composition.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Composition.typeextensibleFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
From the FHIR Standard
Composition.categoryextensibleReferencedItemCategoryValueSet
http://hl7.org/fhir/ValueSet/referenced-item-category
From the FHIR Standard
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... 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
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Canonical identifier for this Composition, represented as a URI (globally unique)
... identifier Σ 1..* Identifier Version-independent identifier for the Composition
.... id 0..1 id 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)
.... type Σ 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣC 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 Σ 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... version Σ 0..1 string An explicitly assigned identifer of a variation of the content in the Composition
... status ?!Σ 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Binding: CompositionStatus (required): The workflow/clinical status of the composition.
... type Σ 1..1 SGHICodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (extensible)
... category Σ 0..* SGHICodeableConcept Categorization of Composition
Binding: ReferencedItemCategoryValueSet (extensible)
... subject Σ 0..1 Reference(Resource) Who and/or what the composition is about
... encounter Σ 1..1 SGHIReference(SGHI Encounter) Context of the Composition
... date Σ 1..1 dateTime Composition editing time
... useContext Σ 0..* UsageContext The context that the content is intended to support
... author Σ 1..* SGHIReference(SGHI Patient | SGHI Organization) Who and/or what authored the composition
... name Σ 1..1 string Name for this Composition (computer friendly)
... title Σ 1..1 string Human Readable name/title
... note 0..* Annotation For any additional notes
... attester 0..* BackboneElement Attests to accuracy of composition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode 1..1 SGHICodeableConcept personal | professional | legal | official
Binding: CompositionAttestationMode (preferred): The way in which a person authenticated a composition.
.... time 0..1 dateTime When the composition was attested
.... party 0..1 SGHIReference(SGHI Patient | SGHI Organization) Who attested the composition
... custodian Σ 0..1 Reference(Organization) Organization which maintains the composition
... relatesTo 0..* RelatedArtifact Relationships to other compositions/documents
... 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
.... period Σ 0..1 Period The period covered by the documentation
.... detail Σ 0..* CodeableReference(Resource) The event(s) being documented, as code(s), reference(s), or both
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
... section C 0..* BackboneElement Composition is broken into sections
Constraints: cmp-1, cmp-2
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... title 0..1 string Label for section (e.g. for ToC)
.... code 0..1 SGHICodeableConcept Classification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.
.... author 0..* SGHIReference(SGHI Patient | SGHI 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 C 0..1 Narrative Text summary of the section, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
.... orderedBy 0..1 SGHICodeableConcept 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 SGHICodeableConcept Why the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.
.... section 0..* See section (Composition) Nested Section

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Composition.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Composition.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Composition.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|5.0.0
From the FHIR Standard
Composition.typeextensibleFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
From the FHIR Standard
Composition.categoryextensibleReferencedItemCategoryValueSet
http://hl7.org/fhir/ValueSet/referenced-item-category
From the FHIR Standard
Composition.attester.modepreferredCompositionAttestationMode
http://hl7.org/fhir/ValueSet/composition-attestation-mode
From the FHIR Standard
Composition.event.detailexampleActCode
http://terminology.hl7.org/ValueSet/v3-ActCode
Composition.section.codeexampleDocumentSectionCodes
http://hl7.org/fhir/ValueSet/doc-section-codes
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
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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣC 1..1 string The value that is unique
Example General: 123456
.... assigner Σ 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... status ?!Σ 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Binding: CompositionStatus (required): The workflow/clinical status of the composition.
... type Σ 1..1 SGHICodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (extensible)
... category Σ 0..* SGHICodeableConcept Categorization of Composition
Binding: ReferencedItemCategoryValueSet (extensible)
... subject Σ 0..1 Reference(Resource) Who and/or what the composition is about
... encounter Σ 1..1 SGHIReference(SGHI Encounter) Context of the Composition
... date Σ 1..1 dateTime Composition editing time
... author Σ 1..* SGHIReference(SGHI Patient | SGHI Organization) Who and/or what authored the composition
... name Σ 1..1 string Name for this Composition (computer friendly)
... title Σ 1..1 string Human Readable name/title

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Composition.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Composition.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|5.0.0
From the FHIR Standard
Composition.typeextensibleFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
From the FHIR Standard
Composition.categoryextensibleReferencedItemCategoryValueSet
http://hl7.org/fhir/ValueSet/referenced-item-category
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCompositionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... identifier 1..* Identifier Version-independent identifier for the Composition
.... use 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system 1..1 uri The namespace for the identifier value
.... value 1..1 string The value that is unique
.... assigner 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... type 1..1 SGHICodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (extensible)
... category 0..* SGHICodeableConcept Categorization of Composition
Binding: ReferencedItemCategoryValueSet (extensible)
... encounter 1..1 SGHIReference(SGHI Encounter) Context of the Composition
... author 1..* SGHIReference(SGHI Patient | SGHI Organization) Who and/or what authored the composition
... name 1..1 string Name for this Composition (computer friendly)
... attester
.... mode 1..1 SGHICodeableConcept personal | professional | legal | official
.... party 0..1 SGHIReference(SGHI Patient | SGHI Organization) Who attested the composition
... section
.... code 0..1 SGHICodeableConcept Classification of section (recommended)
.... author 0..* SGHIReference(SGHI Patient | SGHI Organization) Who and/or what authored the section
.... orderedBy 0..1 SGHICodeableConcept Order of section entries
.... emptyReason 0..1 SGHICodeableConcept Why the section is empty

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Composition.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Composition.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Composition.typeextensibleFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
From the FHIR Standard
Composition.categoryextensibleReferencedItemCategoryValueSet
http://hl7.org/fhir/ValueSet/referenced-item-category
From the FHIR Standard

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Composition 0..* Composition A set of resources composed into a single coherent clinical statement with clinical attestation
... 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
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Canonical identifier for this Composition, represented as a URI (globally unique)
... identifier Σ 1..* Identifier Version-independent identifier for the Composition
.... id 0..1 id 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)
.... type Σ 0..1 SGHICodeableConcept Description of identifier
Binding: SGHI Standard Identifier Types (required)
.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value ΣC 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 Σ 1..1 SGHIReference(SGHI Organization) Organization that issued id (may be just text)
... version Σ 0..1 string An explicitly assigned identifer of a variation of the content in the Composition
... status ?!Σ 1..1 code registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Binding: CompositionStatus (required): The workflow/clinical status of the composition.
... type Σ 1..1 SGHICodeableConcept Kind of composition (LOINC if possible)
Binding: FHIRDocumentTypeCodes (extensible)
... category Σ 0..* SGHICodeableConcept Categorization of Composition
Binding: ReferencedItemCategoryValueSet (extensible)
... subject Σ 0..1 Reference(Resource) Who and/or what the composition is about
... encounter Σ 1..1 SGHIReference(SGHI Encounter) Context of the Composition
... date Σ 1..1 dateTime Composition editing time
... useContext Σ 0..* UsageContext The context that the content is intended to support
... author Σ 1..* SGHIReference(SGHI Patient | SGHI Organization) Who and/or what authored the composition
... name Σ 1..1 string Name for this Composition (computer friendly)
... title Σ 1..1 string Human Readable name/title
... note 0..* Annotation For any additional notes
... attester 0..* BackboneElement Attests to accuracy of composition
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... mode 1..1 SGHICodeableConcept personal | professional | legal | official
Binding: CompositionAttestationMode (preferred): The way in which a person authenticated a composition.
.... time 0..1 dateTime When the composition was attested
.... party 0..1 SGHIReference(SGHI Patient | SGHI Organization) Who attested the composition
... custodian Σ 0..1 Reference(Organization) Organization which maintains the composition
... relatesTo 0..* RelatedArtifact Relationships to other compositions/documents
... 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
.... period Σ 0..1 Period The period covered by the documentation
.... detail Σ 0..* CodeableReference(Resource) The event(s) being documented, as code(s), reference(s), or both
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.
... section C 0..* BackboneElement Composition is broken into sections
Constraints: cmp-1, cmp-2
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... title 0..1 string Label for section (e.g. for ToC)
.... code 0..1 SGHICodeableConcept Classification of section (recommended)
Binding: DocumentSectionCodes (example): Classification of a section of a composition/document.
.... author 0..* SGHIReference(SGHI Patient | SGHI 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 C 0..1 Narrative Text summary of the section, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
.... orderedBy 0..1 SGHICodeableConcept 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 SGHICodeableConcept Why the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.
.... section 0..* See section (Composition) Nested Section

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Composition.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Composition.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use
From the FHIR Standard
Composition.identifier.typerequiredSGHIIdentifierTypes
https://fhir.slade360.co.ke/fhir/ValueSet/sghi-identifier-types
From this IG
Composition.statusrequiredCompositionStatus
http://hl7.org/fhir/ValueSet/composition-status|5.0.0
From the FHIR Standard
Composition.typeextensibleFHIRDocumentTypeCodes
http://hl7.org/fhir/ValueSet/doc-typecodes
From the FHIR Standard
Composition.categoryextensibleReferencedItemCategoryValueSet
http://hl7.org/fhir/ValueSet/referenced-item-category
From the FHIR Standard
Composition.attester.modepreferredCompositionAttestationMode
http://hl7.org/fhir/ValueSet/composition-attestation-mode
From the FHIR Standard
Composition.event.detailexampleActCode
http://terminology.hl7.org/ValueSet/v3-ActCode
Composition.section.codeexampleDocumentSectionCodes
http://hl7.org/fhir/ValueSet/doc-section-codes
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
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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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