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: SGHIDocumentReference - Detailed Descriptions

Draft as of 2026-05-21

Definitions for the documentreference resource profile.

- Key Elements Table
- Differential Elements Table
- Snapshot Elements Table

Guidance on how to interpret the contents of this table can be foundhere

0. DocumentReference
Definition | A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this "document" encompasses any serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference.
Short | A reference to a document
Comments | Usually, this is used for documents other than those defined by FHIR.
Control | 0..*
Is Modifier | false
Must Support | false
Summary | false
Invariants | docRef-1: facilityType SHALL only be present if context is not an encounter (facilityType.empty() or context.where(resolve() is Encounter).empty()) docRef-2: practiceSetting SHALL only be present if context is not present (practiceSetting.empty() or context.where(resolve() is Encounter).empty()) dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty()) dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()) dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty()) dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. DocumentReference.implicitRules
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Short | A set of rules under which this content was created
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.
Control | 0..1
Type | uri
Is Modifier | true because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. DocumentReference.contained
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.
Short | Contained, inline Resources
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.
Control | 0..* This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
Type | Resource
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | inline resources, anonymous resources, contained resources
6. DocumentReference.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Must Support | false
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
8. DocumentReference.identifier
Definition | Other business identifiers associated with the document, including version independent identifiers.
Short | Business identifiers for the document
Comments | The structure and format of this identifier would be consistent with the specification corresponding to the format of the document. (e.g. for a DICOM standard document, a 64-character numeric UID; for an HL7 CDA format, the CDA Document Id root and extension).
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 10..*
Type | Identifier
Is Modifier | false
Must Support | false
Summary | true
Requirements | Document identifiers usually assigned by the source of the document, or other business identifiers such as XDS DocumentEntry.uniqueId and DocumentEntry.entryUUID. These identifiers are specific to this instance of the document.
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. DocumentReference.identifier.use
Definition | The purpose of this identifier.
Short | usual | official | temp | secondary | old (If known)
Comments | Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.
Control | 0..1
Binding | The codes SHALL be taken from IdentifierUse http://hl7.org/fhir/ValueSet/identifier-use|5.0.0 (required to `http://hl7.org/fhir/ValueSet/identifier-use` )
Type | code
Is Modifier | true because This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one.
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. DocumentReference.identifier.type
Definition | A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Short | Description of identifier
Comments | This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
Control | 0..1
Binding | The codes SHALL be taken from Unless not suitable, these codes SHALL be taken from SGHI Default Identifier Types http://hl7.org/fhir/ValueSet/identifier-type|5.0.0 (required to `https://fhir.slade360.co.ke/fhir/ValueSet/default-identifier-types` )
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Summary | true
Requirements | Allows users to make use of identifiers when the identifier system is not known.
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
14. DocumentReference.identifier.system
Definition | Establishes the namespace for the value - that is, an absolute URL that describes a set values that are unique.
Short | The namespace for the identifier value
Comments | Identifier.system is always case sensitive.
Control | 10..1
Type | uri
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
Example | General: http://www.acme.com/identifiers/patient
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
16. DocumentReference.identifier.value
Definition | The portion of the identifier typically relevant to the user and which is unique within the context of the system.
Short | The value that is unique
Comments | If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the http://hl7.org/fhir/StructureDefinition/rendered-value). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
Control | 10..1 This element is affected by the following invariants: ident-1
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Example | General: 123456
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
18. DocumentReference.identifier.assigner
Definition | Organization that issued/manages the identifier.
Short | Organization that issued id (may be just text)
Comments | The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
Control | 10..1
Type | Reference(SGHI Reference)(SGHI Organization, Organization)
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
20. DocumentReference.basedOn
Definition | A procedure that is fulfilled in whole or in part by the creation of this media.
Short | Procedure that caused this media to be created
Control | 0..*
Type | Reference(SGHI Reference)(SGHI Appointment Profile, SGHI MedicationRequest, SGHI ServiceRequest, Appointment, AppointmentResponse, CarePlan, Claim, CommunicationRequest, Contract, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, VisionPrescription)
Is Modifier | false
Must Support | false
Summary | false
Requirements | Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.
Alternate Names | fulfills
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
22. DocumentReference.status
Definition | The status of this document reference.
Short | current | superseded | entered-in-error
Comments | This is the status of the DocumentReference object, which might be independent from the docStatus element. This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid.
Control | 1..1
Binding | The codes SHALL be taken from DocumentReferenceStatus http://hl7.org/fhir/ValueSet/document-reference-status|5.0.0 (required to `http://hl7.org/fhir/ValueSet/document-reference-status|5.0.0` ) The status of the document reference.
Type | code
Is Modifier | true because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
24. DocumentReference.docStatus
Definition | The status of the underlying document.
Short | registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Comments | The document that is pointed to might be in various lifecycle states.
Control | 10..1
Binding | The codes SHALL be taken from CompositionStatus http://hl7.org/fhir/ValueSet/composition-status|5.0.0 (required to `http://hl7.org/fhir/ValueSet/composition-status|5.0.0` ) Status of the underlying document.
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
26. DocumentReference.modality
Definition | Imaging modality used. This may include both acquisition and non-acquisition modalities.
Short | Imaging modality used
Control | 0..*
Binding | Unless not suitable, these codes SHALL be taken from Modality http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_33.html (extensible to `http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_33.html` ) Type of acquired data in the instance.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
28. DocumentReference.type
Definition | Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.
Short | Kind of document (LOINC if possible)
Comments | Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents.
Control | 10..1
Binding | The codes SHALL be taken from The codes SHOULD be taken from FHIRDocumentTypeCodes http://hl7.org/fhir/ValueSet/doc-typecodes|5.0.0 (required to `http://hl7.org/fhir/ValueSet/doc-typecodes` )
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
30. DocumentReference.category
Definition | A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.
Short | Categorization of document
Comments | Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching.
Control | 0..*
Binding | For example codes, see ReferencedItemCategoryValueSet http://hl7.org/fhir/ValueSet/referenced-item-category|5.0.0 (example to `http://hl7.org/fhir/ValueSet/referenced-item-category|5.0.0` ) High-level kind of document at a macro level.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Alternate Names | class, classCode
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
32. DocumentReference.subject
Definition | Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).
Short | Who/what is the subject of the document
Control | 10..1
Type | Reference(SGHI Reference)(SGHI Patient, Resource)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
34. DocumentReference.context
Definition | Describes the clinical encounter or type of care that the document content is associated with.
Short | Context of the document content
Control | 10..* This element is affected by the following invariants: docRef-1, docRef-2
Type | Reference(SGHI Reference)(SGHI Appointment Profile, SGHI Encounter, SGHI EpisodeOfCare, Appointment, Encounter, EpisodeOfCare)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
36. DocumentReference.event
Definition | This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
Short | Main clinical acts documented
Comments | An event can further specialize the act inherent in the type, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation.
Control | 0..*
Binding | For example codes, see v3 Code System ActCode http://terminology.hl7.org/ValueSet/v3-ActCode (example to `http://terminology.hl7.org/ValueSet/v3-ActCode` ) This list of codes represents the main clinical acts being documented.
Type | CodeableReference(SGHI CodeableReference)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
38. DocumentReference.bodySite
Definition | The anatomic structures included in the document.
Short | Body part included
Control | 0..*
Binding | The codes SHALL be taken from For example codes, see All LOINC Codes http://hl7.org/fhir/ValueSet/body-site|5.0.0 (required to `https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes` )
Type | CodeableReference(SGHI CodeableReference)(BodyStructure, BodyStructure)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
40. DocumentReference.facilityType
Definition | The kind of facility where the patient was seen.
Short | Kind of facility where patient was seen
Control | 0..1 This element is affected by the following invariants: docRef-1
Binding | For example codes, see FacilityTypeCodeValueSet http://hl7.org/fhir/ValueSet/c80-facilitycodes|5.0.0 (example to `http://hl7.org/fhir/ValueSet/c80-facilitycodes|5.0.0` ) XDS Facility Type.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
42. DocumentReference.practiceSetting
Definition | This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.
Short | Additional details about where the content was created (e.g. clinical specialty)
Comments | This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC.
Control | 0..1 This element is affected by the following invariants: docRef-2
Binding | For example codes, see PracticeSettingCodeValueSet http://hl7.org/fhir/ValueSet/c80-practice-codes|5.0.0 (example to `http://hl7.org/fhir/ValueSet/c80-practice-codes|5.0.0` ) Additional details about where the content was created (e.g. clinical specialty).
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | false
Requirements | This is an important piece of metadata that providers often rely upon to quickly sort and/or filter out to find specific content.
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
44. DocumentReference.date
Definition | When the document reference was created.
Short | When this document reference was created
Comments | Referencing/indexing time is used for tracking, organizing versions and searching.
Control | 10..1
Type | instant
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Alternate Names | indexed
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
46. DocumentReference.author
Definition | Identifies who is responsible for adding the information to the document.
Short | Who and/or what authored the document
Comments | Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant).
Control | 10..1*
Type | Reference(SGHI Reference)(SGHI Organization, SGHI PractitionerRole, SGHI Practitioner, SGHI Patient, Practitioner, PractitionerRole, Organization, Device, Patient, RelatedPerson, CareTeam)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
48. DocumentReference.custodian
Definition | Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.
Short | Organization which maintains the document
Comments | Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization.
Control | 10..1
Type | Reference(SGHI Reference)(SGHI Organization, Organization)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
50. DocumentReference.securityLabel
Definition | A set of Security-Tag codes specifying the level of privacy/security of the Document found at DocumentReference.content.attachment.url. Note that DocumentReference.meta.security contains the security labels of the data elements in DocumentReference, while DocumentReference.securityLabel contains the security labels for the document the reference refers to. The distinction recognizes that the document may contain sensitive information, while the DocumentReference is metadata about the document and thus might not be as sensitive as the document. For example: a psychotherapy episode may contain highly sensitive information, while the metadata may simply indicate that some episode happened.
Short | Document security-tags
Comments | The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce. In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects.
Control | 0..*
Binding | For example codes, see SecurityLabelExamples http://hl7.org/fhir/ValueSet/security-label-examples|5.0.0 (example to `http://hl7.org/fhir/ValueSet/security-label-examples|5.0.0` ) Example Security Labels from the Healthcare Privacy and Security Classification System.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Requirements | Use of the Health Care Privacy/Security Classification (HCS) system of security-tag use is recommended.
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
52. DocumentReference.content
Definition | The document and format referenced. If there are multiple content element repetitions, these must all represent the same document in different format, or attachment metadata.
Short | Document referenced
Comments | content element shall not contain different versions of the same content. For version handling use multiple DocumentReference with .relatesTo.
Control | 1..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | true
Requirements | Note that .relatesTo may also include references to other DocumentReference with a transforms relationship to represent the same document in multiple formats.
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
54. DocumentReference.content.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored even if unrecognized
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content, modifiers
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
56. DocumentReference.content.attachment
Definition | The document or URL of the document along with critical metadata to prove content has integrity.
Short | Where to access the document
Control | 1..1
Type | Attachment
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

Guidance on how to interpret the contents of this table can be foundhere

0. DocumentReference
2. DocumentReference.identifier
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 1..?
4. DocumentReference.identifier.use
Binding | The codes SHALL be taken from IdentifierUse (required to `http://hl7.org/fhir/ValueSet/identifier-use` )
6. DocumentReference.identifier.type
Binding | The codes SHALL be taken from SGHI Default Identifier Types (required to `https://fhir.slade360.co.ke/fhir/ValueSet/default-identifier-types` )
Type | CodeableConcept(SGHI CodeableConcept)
8. DocumentReference.identifier.system
Control | 1..?
10. DocumentReference.identifier.value
Control | 1..?
12. DocumentReference.identifier.assigner
Control | 1..?
Type | Reference(SGHI Reference)(SGHI Organization)
14. DocumentReference.basedOn
Type | Reference(SGHI Reference)(SGHI Appointment Profile, SGHI MedicationRequest, SGHI ServiceRequest)
16. DocumentReference.docStatus
Control | 1..?
18. DocumentReference.modality
Type | CodeableConcept(SGHI CodeableConcept)
20. DocumentReference.type
Control | 1..?
Binding | The codes SHALL be taken from FHIRDocumentTypeCodes (required to `http://hl7.org/fhir/ValueSet/doc-typecodes` )
Type | CodeableConcept(SGHI CodeableConcept)
22. DocumentReference.category
Type | CodeableConcept(SGHI CodeableConcept)
24. DocumentReference.subject
Control | 1..?
Type | Reference(SGHI Reference)(SGHI Patient)
26. DocumentReference.context
Control | 1..?
Type | Reference(SGHI Reference)(SGHI Appointment Profile, SGHI Encounter, SGHI EpisodeOfCare)
28. DocumentReference.event
Type | CodeableReference(SGHI CodeableReference)
30. DocumentReference.bodySite
Binding | The codes SHALL be taken from All LOINC Codes (required to `https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes` )
Type | CodeableReference(SGHI CodeableReference)(BodyStructure)
32. DocumentReference.facilityType
Type | CodeableConcept(SGHI CodeableConcept)
34. DocumentReference.practiceSetting
Type | CodeableConcept(SGHI CodeableConcept)
36. DocumentReference.date
Control | 1..?
38. DocumentReference.author
Control | 1..1
Type | Reference(SGHI Reference)(SGHI Organization, SGHI PractitionerRole, SGHI Practitioner, SGHI Patient)
40. DocumentReference.attester
42. DocumentReference.attester.mode
Type | CodeableConcept(SGHI CodeableConcept)
44. DocumentReference.attester.party
Type | Reference(SGHI Reference)(SGHI Patient, SGHI Organization, SGHI Practitioner, SGHI PractitionerRole)
46. DocumentReference.custodian
Control | 1..?
Type | Reference(SGHI Reference)(SGHI Organization)
48. DocumentReference.relatesTo
50. DocumentReference.relatesTo.code
Type | CodeableConcept(SGHI CodeableConcept)
52. DocumentReference.relatesTo.target
Type | Reference(SGHI Reference)(SGHI DocumentReference Profile.)
54. DocumentReference.securityLabel
Type | CodeableConcept(SGHI CodeableConcept)

Guidance on how to interpret the contents of this table can be foundhere

0. DocumentReference
Definition | A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this "document" encompasses any serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference.
Short | A reference to a document
Comments | Usually, this is used for documents other than those defined by FHIR.
Control | 0..*
Is Modifier | false
Must Support | false
Summary | false
Invariants | docRef-1: facilityType SHALL only be present if context is not an encounter (`facilityType.empty() or context.where(resolve() is Encounter).empty()`) docRef-2: practiceSetting SHALL only be present if context is not present (`practiceSetting.empty() or context.where(resolve() is Encounter).empty()`) dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (`contained.contained.empty()`) dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (`contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (`contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`) dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (`contained.meta.security.empty()`) dom-6: A resource should have narrative for robust management (`text.`div`.exists()`)
2. DocumentReference.id
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Short | Logical id of this artifact
Comments | Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.
Control | 0..1
Type | id
Is Modifier | false
Must Support | false
Summary | true
4. DocumentReference.meta
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
Short | Metadata about the resource
Control | 0..1
Type | Meta
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
6. DocumentReference.implicitRules
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Short | A set of rules under which this content was created
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.
Control | 0..1
Type | uri
Is Modifier | true because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
8. DocumentReference.language
Definition | The base language in which the resource is written.
Short | Language of the resource content
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
Control | 0..1
Binding | The codes SHALL be taken from AllLanguages (required to `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` ) IETF language tag for a human language
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
10. DocumentReference.text
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Short | Text summary of the resource, for human interpretation
Comments | Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Control | 0..1 This element is affected by the following invariants: dom-6
Type | Narrative
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | narrative, html, xhtml, display
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
12. DocumentReference.contained
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.
Short | Contained, inline Resources
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.
Control | 0..* This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
Type | Resource
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | inline resources, anonymous resources, contained resources
14. DocumentReference.extension
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
16. DocumentReference.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Must Support | false
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
18. DocumentReference.identifier
Definition | Other business identifiers associated with the document, including version independent identifiers.
Short | Business identifiers for the document
Comments | The structure and format of this identifier would be consistent with the specification corresponding to the format of the document. (e.g. for a DICOM standard document, a 64-character numeric UID; for an HL7 CDA format, the CDA Document Id root and extension).
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 1..*
Type | Identifier
Is Modifier | false
Must Support | false
Summary | true
Requirements | Document identifiers usually assigned by the source of the document, or other business identifiers such as XDS DocumentEntry.uniqueId and DocumentEntry.entryUUID. These identifiers are specific to this instance of the document.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
20. DocumentReference.identifier.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | id
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
22. DocumentReference.identifier.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
Slicing | This element introduces a set of slices on `DocumentReference.identifier.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
24. DocumentReference.identifier.use
Definition | The purpose of this identifier.
Short | usual | official | temp | secondary | old (If known)
Comments | Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.
Control | 0..1
Binding | The codes SHALL be taken from IdentifierUse (required to `http://hl7.org/fhir/ValueSet/identifier-use` )
Type | code
Is Modifier | true because This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one.
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
26. DocumentReference.identifier.type
Definition | A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Short | Description of identifier
Comments | This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
Control | 0..1
Binding | The codes SHALL be taken from SGHI Default Identifier Types (required to `https://fhir.slade360.co.ke/fhir/ValueSet/default-identifier-types` )
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Summary | true
Requirements | Allows users to make use of identifiers when the identifier system is not known.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
28. DocumentReference.identifier.system
Definition | Establishes the namespace for the value - that is, an absolute URL that describes a set values that are unique.
Short | The namespace for the identifier value
Comments | Identifier.system is always case sensitive.
Control | 1..1
Type | uri
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
Example | General: http://www.acme.com/identifiers/patient
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
30. DocumentReference.identifier.value
Definition | The portion of the identifier typically relevant to the user and which is unique within the context of the system.
Short | The value that is unique
Comments | If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the http://hl7.org/fhir/StructureDefinition/rendered-value). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
Control | 1..1 This element is affected by the following invariants: ident-1
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Example | General: 123456
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
32. DocumentReference.identifier.period
Definition | Time period during which identifier is/was valid for use.
Short | Time period when id is/was valid for use
Control | 0..1
Type | Period
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
34. DocumentReference.identifier.assigner
Definition | Organization that issued/manages the identifier.
Short | Organization that issued id (may be just text)
Comments | The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
Control | 1..1
Type | Reference(SGHI Reference)(SGHI Organization)
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
36. DocumentReference.version
Definition | An explicitly assigned identifer of a variation of the content in the DocumentReference.
Short | An explicitly assigned identifer of a variation of the content in the DocumentReference
Comments | While each resource, including the DocumentReference itself, has its own version identifier, this is a formal identifier for the logical version of the DocumentReference as a whole. It would remain constant if the resources were moved to a new server, and all got new individual resource versions, for example.
Note | This is a business version Id, not a resource version Id (see discussion)
Control | 0..1
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
38. DocumentReference.basedOn
Definition | A procedure that is fulfilled in whole or in part by the creation of this media.
Short | Procedure that caused this media to be created
Control | 0..*
Type | Reference(SGHI Reference)(SGHI Appointment Profile, SGHI MedicationRequest, SGHI ServiceRequest)
Is Modifier | false
Must Support | false
Summary | false
Requirements | Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.
Alternate Names | fulfills
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
40. DocumentReference.status
Definition | The status of this document reference.
Short | current | superseded | entered-in-error
Comments | This is the status of the DocumentReference object, which might be independent from the docStatus element. This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid.
Control | 1..1
Binding | The codes SHALL be taken from DocumentReferenceStatus (required to `http://hl7.org/fhir/ValueSet/document-reference-status|5.0.0` ) The status of the document reference.
Type | code
Is Modifier | true because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
42. DocumentReference.docStatus
Definition | The status of the underlying document.
Short | registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
Comments | The document that is pointed to might be in various lifecycle states.
Control | 1..1
Binding | The codes SHALL be taken from CompositionStatus (required to `http://hl7.org/fhir/ValueSet/composition-status|5.0.0` ) Status of the underlying document.
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
44. DocumentReference.modality
Definition | Imaging modality used. This may include both acquisition and non-acquisition modalities.
Short | Imaging modality used
Control | 0..*
Binding | Unless not suitable, these codes SHALL be taken from Modality (extensible to `http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_33.html` ) Type of acquired data in the instance.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
46. DocumentReference.type
Definition | Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.
Short | Kind of document (LOINC if possible)
Comments | Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents.
Control | 1..1
Binding | The codes SHALL be taken from FHIRDocumentTypeCodes (required to `http://hl7.org/fhir/ValueSet/doc-typecodes` )
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
48. DocumentReference.category
Definition | A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.
Short | Categorization of document
Comments | Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching.
Control | 0..*
Binding | For example codes, see ReferencedItemCategoryValueSet (example to `http://hl7.org/fhir/ValueSet/referenced-item-category|5.0.0` ) High-level kind of document at a macro level.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Alternate Names | class, classCode
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
50. DocumentReference.subject
Definition | Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).
Short | Who/what is the subject of the document
Control | 1..1
Type | Reference(SGHI Reference)(SGHI Patient)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
52. DocumentReference.context
Definition | Describes the clinical encounter or type of care that the document content is associated with.
Short | Context of the document content
Control | 1..* This element is affected by the following invariants: docRef-1, docRef-2
Type | Reference(SGHI Reference)(SGHI Appointment Profile, SGHI Encounter, SGHI EpisodeOfCare)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
54. DocumentReference.event
Definition | This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
Short | Main clinical acts documented
Comments | An event can further specialize the act inherent in the type, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation.
Control | 0..*
Binding | For example codes, see v3 Code System ActCode (example to `http://terminology.hl7.org/ValueSet/v3-ActCode` ) This list of codes represents the main clinical acts being documented.
Type | CodeableReference(SGHI CodeableReference)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
56. DocumentReference.bodySite
Definition | The anatomic structures included in the document.
Short | Body part included
Control | 0..*
Binding | The codes SHALL be taken from All LOINC Codes (required to `https://fhir.slade360.co.ke/fhir/ValueSet/all-loinc-codes` )
Type | CodeableReference(SGHI CodeableReference)(BodyStructure)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
58. DocumentReference.facilityType
Definition | The kind of facility where the patient was seen.
Short | Kind of facility where patient was seen
Control | 0..1 This element is affected by the following invariants: docRef-1
Binding | For example codes, see FacilityTypeCodeValueSet (example to `http://hl7.org/fhir/ValueSet/c80-facilitycodes|5.0.0` ) XDS Facility Type.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
60. DocumentReference.practiceSetting
Definition | This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.
Short | Additional details about where the content was created (e.g. clinical specialty)
Comments | This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC.
Control | 0..1 This element is affected by the following invariants: docRef-2
Binding | For example codes, see PracticeSettingCodeValueSet (example to `http://hl7.org/fhir/ValueSet/c80-practice-codes|5.0.0` ) Additional details about where the content was created (e.g. clinical specialty).
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | false
Requirements | This is an important piece of metadata that providers often rely upon to quickly sort and/or filter out to find specific content.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
62. DocumentReference.period
Definition | The time period over which the service that is described by the document was provided.
Short | Time of service that is being documented
Control | 0..1
Type | Period
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
64. DocumentReference.date
Definition | When the document reference was created.
Short | When this document reference was created
Comments | Referencing/indexing time is used for tracking, organizing versions and searching.
Control | 1..1
Type | instant
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Alternate Names | indexed
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
66. DocumentReference.author
Definition | Identifies who is responsible for adding the information to the document.
Short | Who and/or what authored the document
Comments | Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant).
Control | 1..1
Type | Reference(SGHI Reference)(SGHI Organization, SGHI PractitionerRole, SGHI Practitioner, SGHI Patient)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
68. DocumentReference.attester
Definition | A participant who has authenticated the accuracy of the document.
Short | Attests to accuracy of the document
Comments | Only list each attester once.
Control | 0..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | false
Requirements | Identifies responsibility for the accuracy of the document content.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
70. DocumentReference.attester.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
72. DocumentReference.attester.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
74. DocumentReference.attester.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored even if unrecognized
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content, modifiers
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
76. DocumentReference.attester.mode
Definition | The type of attestation the authenticator offers.
Short | personal | professional | legal | official
Control | 1..1
Binding | The codes SHOULD be taken from CompositionAttestationMode (preferred to `http://hl7.org/fhir/ValueSet/composition-attestation-mode|5.0.0` ) The way in which a person authenticated a document.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | false
Requirements | Indicates the level of authority of the attestation.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
78. DocumentReference.attester.time
Definition | When the document was attested by the party.
Short | When the document was attested
Control | 0..1
Type | dateTime
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | false
Requirements | Identifies when the information in the document was deemed accurate. (Things may have changed since then.).
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
80. DocumentReference.attester.party
Definition | Who attested the document in the specified way.
Short | Who attested the document
Control | 0..1
Type | Reference(SGHI Reference)(SGHI Patient, SGHI Organization, SGHI Practitioner, SGHI PractitionerRole)
Is Modifier | false
Must Support | false
Summary | false
Requirements | Identifies who has taken on the responsibility for accuracy of the document content.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
82. DocumentReference.custodian
Definition | Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.
Short | Organization which maintains the document
Comments | Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization.
Control | 1..1
Type | Reference(SGHI Reference)(SGHI Organization)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
84. DocumentReference.relatesTo
Definition | Relationships that this document has with other document references that already exist.
Short | Relationships to other documents
Comments | This element is labeled as a modifier because documents that append to other documents are incomplete on their own.
Control | 0..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
86. DocumentReference.relatesTo.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
88. DocumentReference.relatesTo.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
90. DocumentReference.relatesTo.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored even if unrecognized
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content, modifiers
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
92. DocumentReference.relatesTo.code
Definition | The type of relationship that this document has with anther document.
Short | The relationship type with another document
Comments | If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.
Control | 1..1
Binding | Unless not suitable, these codes SHALL be taken from DocumentRelationshipType (extensible to `http://hl7.org/fhir/ValueSet/document-relationship-type|5.0.0` ) The type of relationship between the documents.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
94. DocumentReference.relatesTo.target
Definition | The target document of this relationship.
Short | Target of the relationship
Control | 1..1
Type | Reference(SGHI Reference)(SGHI DocumentReference Profile.)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
96. DocumentReference.description
Definition | Human-readable description of the source document.
Short | Human-readable description
Comments | What the document is about, a terse summary of the document.
Control | 0..1
Type | markdown
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Requirements | Helps humans to assess whether the document is of interest.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
98. DocumentReference.securityLabel
Definition | A set of Security-Tag codes specifying the level of privacy/security of the Document found at DocumentReference.content.attachment.url. Note that DocumentReference.meta.security contains the security labels of the data elements in DocumentReference, while DocumentReference.securityLabel contains the security labels for the document the reference refers to. The distinction recognizes that the document may contain sensitive information, while the DocumentReference is metadata about the document and thus might not be as sensitive as the document. For example: a psychotherapy episode may contain highly sensitive information, while the metadata may simply indicate that some episode happened.
Short | Document security-tags
Comments | The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce. In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects.
Control | 0..*
Binding | For example codes, see SecurityLabelExamples (example to `http://hl7.org/fhir/ValueSet/security-label-examples|5.0.0` ) Example Security Labels from the Healthcare Privacy and Security Classification System.
Type | CodeableConcept(SGHI CodeableConcept)
Is Modifier | false
Must Support | false
Summary | true
Requirements | Use of the Health Care Privacy/Security Classification (HCS) system of security-tag use is recommended.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
100. DocumentReference.content
Definition | The document and format referenced. If there are multiple content element repetitions, these must all represent the same document in different format, or attachment metadata.
Short | Document referenced
Comments | content element shall not contain different versions of the same content. For version handling use multiple DocumentReference with .relatesTo.
Control | 1..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | true
Requirements | Note that .relatesTo may also include references to other DocumentReference with a transforms relationship to represent the same document in multiple formats.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
102. DocumentReference.content.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
104. DocumentReference.content.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
106. DocumentReference.content.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored even if unrecognized
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content, modifiers
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
108. DocumentReference.content.attachment
Definition | The document or URL of the document along with critical metadata to prove content has integrity.
Short | Where to access the document
Control | 1..1
Type | Attachment
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
110. DocumentReference.content.profile
Definition | An identifier of the document constraints, encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.
Short | Content profile rules for the document
Comments | Note that IHE often issues URNs for formatCode codes, not all documents can be identified by a URI. For FHIR content, .profile should indicate the structureDefinition profile canonical URI(s) that the content complies with.
Control | 0..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | true
Alternate Names | format, formatCode
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
112. DocumentReference.content.profile.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
114. DocumentReference.content.profile.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
116. DocumentReference.content.profile.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored even if unrecognized
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content, modifiers
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
118. DocumentReference.content.profile.value[x]
Definition | Code|uri|canonical.
Short | Code|uri|canonical
Control | 1..1
Binding | The codes SHOULD be taken from HL7 ValueSet of Format Codes for use with Document Sharing (preferred to `http://terminology.hl7.org/ValueSet/v3-HL7FormatCodes` ) Document Format Codes.
Type | Choice of: Coding, uri, canonical
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)