IPTp-SP Digital Support System Implementation Guide
0.1.0 - ci-build Kenya flag

IPTp-SP Digital Support System Implementation Guide, published by IPTp-SP Digital Support System Implementation Team. 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/daviemukungi/IPTp-FHIR-implementationIG/ and changes regularly. See the Directory of published versions

Resource Profile: IPTp SMS Communication

Official URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-sms-communication Version: 0.1.0
Draft as of 2026-06-30 Computable Name: IPTpSMSCommunication

Represents an SMS message sent to or received from an enrolled patient via the dedicated short code (25332) or InfoAFYA sender ID. Captures the message type, language, and reminder anchor.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Communication 0..* Communication A record of information transmitted from a sender to a receiver
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language S 0..1 code en (English) or sw (Kiswahili)
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:reminderAnchor S 0..1 CodeableConcept IPTp Reminder Anchor
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-reminder-anchor
Binding: IPTp Reminder Type Value Set (required)
... status ?!SΣ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... category S 1..* CodeableConcept Specific message identity, e.g. msg-onboarding-enrollment, reminder-t0, msg-infoafya-trust
Binding: IPTp SMS Message Category Value Set (extensible)
... medium S 1..* CodeableConcept SMS
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.

Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationMode
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: WRITTEN
..... display 1..1 string Representation defined by the system
Fixed Value: written
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(IPTp Enrolled Patient) Focus of message
... sent S 0..1 dateTime DateTime message was sent
... received S 0..1 dateTime DateTime reply was received (if applicable)
... recipient S 1..* Reference(IPTp Enrolled Patient) Message recipient
... sender S 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) Short code 25332 or InfoAFYA sender
... payload S 1..* BackboneElement Message payload
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... Slices for content[x] S 1..1 Message part content
Slice: Unordered, Open by type:$this
..... contentString string
..... contentAttachment Attachment
..... contentReference Reference(Resource)
..... content[x]:contentString S 0..1 string SMS message content in English or Kiswahili
... note S 0..* Annotation Channel: shortcode (interactive) or InfoAFYA (one-way)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Communication.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Communication.status Base required EventStatus 📦4.0.1 FHIR Std.
Communication.category Base extensible IPTp SMS Message Category Value Set 📦0.1.0 This IG
Communication.medium Base example ParticipationMode 📦3.0.0 THO v7.2

Constraints

Id Grade Path(s) Description Expression
dom-2 error Communication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Communication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Communication 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 error Communication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Communication A resource should have narrative for robust management text.`div`.exists()
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 Communication

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Communication 0..* Communication A record of information transmitted from a sender to a receiver
... language S 0..1 code en (English) or sw (Kiswahili)
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:reminderAnchor S 0..1 CodeableConcept IPTp Reminder Anchor
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-reminder-anchor
Binding: IPTp Reminder Type Value Set (required)
... status S 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... medium S 1..* CodeableConcept SMS
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationMode
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: WRITTEN
..... display 1..1 string Representation defined by the system
Fixed Value: written
... subject S 1..1 Reference(IPTp Enrolled Patient) Focus of message
... sent S 0..1 dateTime DateTime message was sent
... received S 0..1 dateTime DateTime reply was received (if applicable)
... recipient S 1..* Reference(IPTp Enrolled Patient) Message recipient
... sender S 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) Short code 25332 or InfoAFYA sender
... payload S 1..* BackboneElement Message payload
.... Slices for content[x] S 1..1 string, Attachment, Reference(Resource) Message part content
Slice: Unordered, Open by type:$this
..... content[x]:contentString S 0..1 string SMS message content in English or Kiswahili
... note S 0..* Annotation Channel: shortcode (interactive) or InfoAFYA (one-way)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Communication.status Base required EventStatus 📦4.0.1 FHIR Std.
Communication.category Base extensible IPTp SMS Message Category Value Set 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Communication 0..* Communication A record of information transmitted from a sender to a receiver
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language S 0..1 code en (English) or sw (Kiswahili)
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:reminderAnchor S 0..1 CodeableConcept IPTp Reminder Anchor
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-reminder-anchor
Binding: IPTp Reminder Type Value Set (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Unique identifier
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(Resource) Request fulfilled by this communication
... partOf Σ 0..* Reference(Resource) Part of this action
... inResponseTo 0..* Reference(Communication) Reply to
... status ?!SΣ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.
... category S 1..* CodeableConcept Specific message identity, e.g. msg-onboarding-enrollment, reminder-t0, msg-infoafya-trust
Binding: IPTp SMS Message Category Value Set (extensible)
... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Codes indicating the relative importance of a communication.
... medium S 1..* CodeableConcept SMS
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.

Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationMode
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: WRITTEN
..... display 1..1 string Representation defined by the system
Fixed Value: written
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(IPTp Enrolled Patient) Focus of message
... topic 0..1 CodeableConcept Description of the purpose/content
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.
... about 0..* Reference(Resource) Resources that pertain to this communication
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... sent S 0..1 dateTime DateTime message was sent
... received S 0..1 dateTime DateTime reply was received (if applicable)
... recipient S 1..* Reference(IPTp Enrolled Patient) Message recipient
... sender S 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) Short code 25332 or InfoAFYA sender
... reasonCode Σ 0..* CodeableConcept Indication for message
Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why was communication done?
... payload S 1..* BackboneElement Message payload
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... Slices for content[x] S 1..1 Message part content
Slice: Unordered, Open by type:$this
..... contentString string
..... contentAttachment Attachment
..... contentReference Reference(Resource)
..... content[x]:contentString S 0..1 string SMS message content in English or Kiswahili
... note S 0..* Annotation Channel: shortcode (interactive) or InfoAFYA (one-way)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Communication.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Communication.status Base required EventStatus 📦4.0.1 FHIR Std.
Communication.statusReason Base example CommunicationNotDoneReason 📍4.0.1 FHIR Std.
Communication.category Base extensible IPTp SMS Message Category Value Set 📦0.1.0 This IG
Communication.priority Base required Request priority 📍4.0.1 FHIR Std.
Communication.medium Base example ParticipationMode 📦3.0.0 THO v7.2
Communication.topic Base example CommunicationTopic 📍4.0.1 FHIR Std.
Communication.reasonCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Communication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Communication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Communication 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 error Communication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Communication A resource should have narrative for robust management text.`div`.exists()
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 Communication

Summary

Mandatory: 5 elements
Must-Support: 14 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Communication.payload.content[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Communication 0..* Communication A record of information transmitted from a sender to a receiver
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language S 0..1 code en (English) or sw (Kiswahili)
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:reminderAnchor S 0..1 CodeableConcept IPTp Reminder Anchor
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-reminder-anchor
Binding: IPTp Reminder Type Value Set (required)
... status ?!SΣ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... category S 1..* CodeableConcept Specific message identity, e.g. msg-onboarding-enrollment, reminder-t0, msg-infoafya-trust
Binding: IPTp SMS Message Category Value Set (extensible)
... medium S 1..* CodeableConcept SMS
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.

Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationMode
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: WRITTEN
..... display 1..1 string Representation defined by the system
Fixed Value: written
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(IPTp Enrolled Patient) Focus of message
... sent S 0..1 dateTime DateTime message was sent
... received S 0..1 dateTime DateTime reply was received (if applicable)
... recipient S 1..* Reference(IPTp Enrolled Patient) Message recipient
... sender S 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) Short code 25332 or InfoAFYA sender
... payload S 1..* BackboneElement Message payload
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... Slices for content[x] S 1..1 Message part content
Slice: Unordered, Open by type:$this
..... contentString string
..... contentAttachment Attachment
..... contentReference Reference(Resource)
..... content[x]:contentString S 0..1 string SMS message content in English or Kiswahili
... note S 0..* Annotation Channel: shortcode (interactive) or InfoAFYA (one-way)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Communication.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Communication.status Base required EventStatus 📦4.0.1 FHIR Std.
Communication.category Base extensible IPTp SMS Message Category Value Set 📦0.1.0 This IG
Communication.medium Base example ParticipationMode 📦3.0.0 THO v7.2

Constraints

Id Grade Path(s) Description Expression
dom-2 error Communication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Communication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Communication 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 error Communication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Communication A resource should have narrative for robust management text.`div`.exists()
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()

Differential View

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Communication 0..* Communication A record of information transmitted from a sender to a receiver
... language S 0..1 code en (English) or sw (Kiswahili)
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:reminderAnchor S 0..1 CodeableConcept IPTp Reminder Anchor
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-reminder-anchor
Binding: IPTp Reminder Type Value Set (required)
... status S 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... medium S 1..* CodeableConcept SMS
Required Pattern: At least the following
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationMode
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: WRITTEN
..... display 1..1 string Representation defined by the system
Fixed Value: written
... subject S 1..1 Reference(IPTp Enrolled Patient) Focus of message
... sent S 0..1 dateTime DateTime message was sent
... received S 0..1 dateTime DateTime reply was received (if applicable)
... recipient S 1..* Reference(IPTp Enrolled Patient) Message recipient
... sender S 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) Short code 25332 or InfoAFYA sender
... payload S 1..* BackboneElement Message payload
.... Slices for content[x] S 1..1 string, Attachment, Reference(Resource) Message part content
Slice: Unordered, Open by type:$this
..... content[x]:contentString S 0..1 string SMS message content in English or Kiswahili
... note S 0..* Annotation Channel: shortcode (interactive) or InfoAFYA (one-way)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Communication.status Base required EventStatus 📦4.0.1 FHIR Std.
Communication.category Base extensible IPTp SMS Message Category Value Set 📦0.1.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Communication 0..* Communication A record of information transmitted from a sender to a receiver
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language S 0..1 code en (English) or sw (Kiswahili)
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:reminderAnchor S 0..1 CodeableConcept IPTp Reminder Anchor
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-reminder-anchor
Binding: IPTp Reminder Type Value Set (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Unique identifier
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(Resource) Request fulfilled by this communication
... partOf Σ 0..* Reference(Resource) Part of this action
... inResponseTo 0..* Reference(Communication) Reply to
... status ?!SΣ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.
... category S 1..* CodeableConcept Specific message identity, e.g. msg-onboarding-enrollment, reminder-t0, msg-infoafya-trust
Binding: IPTp SMS Message Category Value Set (extensible)
... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Codes indicating the relative importance of a communication.
... medium S 1..* CodeableConcept SMS
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.

Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationMode
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: WRITTEN
..... display 1..1 string Representation defined by the system
Fixed Value: written
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(IPTp Enrolled Patient) Focus of message
... topic 0..1 CodeableConcept Description of the purpose/content
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.
... about 0..* Reference(Resource) Resources that pertain to this communication
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... sent S 0..1 dateTime DateTime message was sent
... received S 0..1 dateTime DateTime reply was received (if applicable)
... recipient S 1..* Reference(IPTp Enrolled Patient) Message recipient
... sender S 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) Short code 25332 or InfoAFYA sender
... reasonCode Σ 0..* CodeableConcept Indication for message
Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why was communication done?
... payload S 1..* BackboneElement Message payload
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... Slices for content[x] S 1..1 Message part content
Slice: Unordered, Open by type:$this
..... contentString string
..... contentAttachment Attachment
..... contentReference Reference(Resource)
..... content[x]:contentString S 0..1 string SMS message content in English or Kiswahili
... note S 0..* Annotation Channel: shortcode (interactive) or InfoAFYA (one-way)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Communication.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Communication.status Base required EventStatus 📦4.0.1 FHIR Std.
Communication.statusReason Base example CommunicationNotDoneReason 📍4.0.1 FHIR Std.
Communication.category Base extensible IPTp SMS Message Category Value Set 📦0.1.0 This IG
Communication.priority Base required Request priority 📍4.0.1 FHIR Std.
Communication.medium Base example ParticipationMode 📦3.0.0 THO v7.2
Communication.topic Base example CommunicationTopic 📍4.0.1 FHIR Std.
Communication.reasonCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Communication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Communication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Communication 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 error Communication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Communication A resource should have narrative for robust management text.`div`.exists()
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 Communication

Summary

Mandatory: 5 elements
Must-Support: 14 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Communication.payload.content[x]

 

Other representations of profile: CSV, Excel, Schematron