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

## Data Type Profile: SGHI Annotation

Official URL: https://fhir.slade360.co.ke/fhir/StructureDefinition/annotation | Version: 0.1.0
Draft as of 2026-05-21 | Computable Name: SGHIAnnotation

A text note which also contains information about who made the statement and when.

Usages:

- Use this DataType Profile: SGHI Procedure and SGHI RiskAssessment

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Annotation |  | 0..* | Annotation | Text node with attribution
Slices for author[x] | Σ | 0..1 |  | Individual responsible for the annotation Slice: Unordered, Open by type:$this
authorReference |  |  | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) |
authorString |  |  | string |
author[x]:authorReference | Σ | 0..1 | SGHIReference(Practitioner | PractitionerRole) | Individual responsible for the annotation
time | Σ | 1..1 | dateTime | When the annotation was made
text | Σ | 1..1 | markdown | The annotation - text content (as markdown)
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`

This structure is derived from Annotation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Annotation |  | 0..* | Annotation | Text node with attribution
Slices for author[x] |  | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization), string | Individual responsible for the annotation Slice: Unordered, Open by type:$this
author[x]:authorReference |  | 0..1 | SGHIReference(Practitioner | PractitionerRole) | Individual responsible for the annotation
time |  | 1..1 | dateTime | When the annotation was made
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Annotation |  | 0..* | Annotation | Text node with attribution
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for author[x] | Σ | 0..1 |  | Individual responsible for the annotation Slice: Unordered, Open by type:$this
authorReference |  |  | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) |
authorString |  |  | string |
author[x]:authorReference | Σ | 0..1 | SGHIReference(Practitioner | PractitionerRole) | Individual responsible for the annotation
time | Σ | 1..1 | dateTime | When the annotation was made
text | Σ | 1..1 | markdown | The annotation - text content (as markdown)
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Annotation

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

- SGHI Reference (https://fhir.slade360.co.ke/fhir/StructureDefinition/reference)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Annotation.author[x]

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Annotation |  | 0..* | Annotation | Text node with attribution
Slices for author[x] | Σ | 0..1 |  | Individual responsible for the annotation Slice: Unordered, Open by type:$this
authorReference |  |  | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) |
authorString |  |  | string |
author[x]:authorReference | Σ | 0..1 | SGHIReference(Practitioner | PractitionerRole) | Individual responsible for the annotation
time | Σ | 1..1 | dateTime | When the annotation was made
text | Σ | 1..1 | markdown | The annotation - text content (as markdown)
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`

Differential View

This structure is derived from Annotation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Annotation |  | 0..* | Annotation | Text node with attribution
Slices for author[x] |  | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization), string | Individual responsible for the annotation Slice: Unordered, Open by type:$this
author[x]:authorReference |  | 0..1 | SGHIReference(Practitioner | PractitionerRole) | Individual responsible for the annotation
time |  | 1..1 | dateTime | When the annotation was made
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Annotation |  | 0..* | Annotation | Text node with attribution
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for author[x] | Σ | 0..1 |  | Individual responsible for the annotation Slice: Unordered, Open by type:$this
authorReference |  |  | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) |
authorString |  |  | string |
author[x]:authorReference | Σ | 0..1 | SGHIReference(Practitioner | PractitionerRole) | Individual responsible for the annotation
time | Σ | 1..1 | dateTime | When the annotation was made
text | Σ | 1..1 | markdown | The annotation - text content (as markdown)
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Annotation

Summary

Mandatory: 1 element

Structures

This structure refers to these other structures:

- SGHI Reference (https://fhir.slade360.co.ke/fhir/StructureDefinition/reference)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Annotation.author[x]

Other representations of profile: CSV, Excel, Schematron