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

Artifacts Summary

This page provides a list of the FHIR artifacts defined as part of this implementation guide.

Behavior: Search Parameters

These define the properties by which a RESTful server can be searched. They can also be used for sorting and including related resources.

Search by IPTp ANC Number Hash

Enables R5 - ANC NUMBER duplicate-enrollment lookup: search Patient by the hashed ANC number captured at USSD enrollment, without exposing the raw ANC number.

Structures: Resource Profiles

These define constraints on FHIR resources for systems conforming to this implementation guide.

IPTp ANC Provider

An ANC health worker whitelisted to use the IPTp USSD enrollment system. Their MSISDN must be on the approved whitelist before access is granted.

IPTp Adverse Drug Reaction Observation

Records an adverse drug reaction (ADR) reported by the patient after taking an IPTp-SP dose. Captures severity (mild or severe) and triggers appropriate care pathways.

IPTp CHP Follow-Up Task

A task assigned to a Community Health Promoter (CHP) when a patient has not confirmed their dose after 72 hours, reported a lost medicine, or triggered a severe ADR.

IPTp Care Plan

The overall care plan for an enrolled patient covering all planned IPTp-SP doses, messaging schedule, and CHP follow-up integration.

IPTp Dose Administration

Records a single IPTp-SP dose administration event. Captures whether the dose was given via DOT at clinic or self-administered at home, along with the dose number in the sequence.

IPTp Eligibility Flag

A flag indicating that a patient has been confirmed eligible for the IPTp-SP program (gestational age 13–27 weeks at time of enrollment).

IPTp Enrolled Patient

A pregnant woman enrolled in the IPTp-SP Digital Support System. Captures phone number, ANC number hash, language preference, and SMS consent.

IPTp Enrollment Episode

Represents the enrollment of a pregnant woman into the IPTp-SP Digital Support System. Tracks enrollment status, gestational age band, messaging status, and CHP follow-up flag.

IPTp Gestational Age Observation

Captures the gestational age (in weeks) of the pregnant woman at the time of IPTp enrollment. Must be 13–27 weeks to be eligible.

IPTp Health Facility

An ANC health facility in the IPTp program. The facility is auto-bound to the provider at enrollment time.

IPTp Issue Report

Records a non-ADR issue reported by the patient via the Have-an-Issue SMS flow (Reply 3): lost medicine or another free-text concern. Side effects/ADRs are captured separately by IPTpADRObservation.

IPTp Planned Dose Schedule

Represents a planned future IPTp-SP dose. Only one future planned dose is stored at a time. Status transitions from 'active' to 'completed' or 'revoked' based on patient response.

IPTp Practitioner Role

Binds a whitelisted ANC provider to the health facility they are auto-bound to following HCW training (system principle: 'Facility auto bound and provider whitelist enforced').

IPTp Pregnancy Condition

A confirmed pregnancy condition for a woman enrolled in the IPTp-SP program.

IPTp Prior Dose History Observation

Records the number of IPTp doses the patient had already received before enrollment. Used to derive which dose is being administered today (current_dose_given_today = iptp_history + 1).

IPTp Program Feedback Observation

Captures the patient's response to the feedback & gratitude survey sent 5 days after the final dose confirmation, plus any free-text improvement suggestion.

IPTp SMS Communication

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.

IPTp SMS Consent

Records the patient's verbal consent to receive SMS reminders for the IPTp-SP program. Consent is mandatory before enrollment is confirmed.

IPTp SP Medication

Sulfadoxine-Pyrimethamine (SP) medication used in the IPTp program. Each dose consists of 3 tablets taken together.

Structures: Extension Definitions

These define constraints on FHIR data types for systems conforming to this implementation guide.

IPTp ANC Number Hash

Hashed ANC number for privacy-preserving de-duplication

IPTp Administration Method

Whether the dose was DOT (clinic) or self-administered (home)

IPTp CHP Follow-up Flag

Indicates whether a Community Health Promoter follow-up has been triggered

IPTp Dose Confirmation Status

Tracks the T-0 / 24h / 72h confirmation engine outcome for a self-administered dose (confirmed / pending / missed)

IPTp Dose Number

Sequential dose number in the IPTp schedule (1–4+)

IPTp Dose Spacing Valid Flag

TRUE if the confirmed dose date respects the minimum 28-day spacing from the previous dose; computed when confirmation_status = confirmation-confirmed

IPTp Gestational Age Band

Derived gestational age band at enrollment (EARLY 13–20 or MID 21–27)

IPTp Issue Resolution Status

Whether a reported issue (ADR or non-ADR) is open or resolved

IPTp Language Preference

Patient's preferred language for SMS communications

IPTp Manual Review Flag

TRUE when a free-text 'Other' issue report requires manual review by a health worker

IPTp Messaging Status

Current SMS messaging status for the patient (ACTIVE / STOPPED)

IPTp Pregnancy Outcome

Delivery or pregnancy loss outcome that automatically stops IPTp-SP messaging

IPTp Provider MSISDN

Whitelisted mobile number of the ANC provider

IPTp Reminder Anchor

Type of reminder that triggered a communication

IPTp SMS Consent

Records whether the patient has consented to receive SMS reminders

Terminology: Value Sets

These define sets of codes used by systems conforming to this implementation guide.

IPTp ADR Severity Value Set

Severity codes for adverse drug reactions in the IPTp program

IPTp Administration Method Value Set

Whether a dose was given via Directly Observed Therapy at clinic or self-administered at home

IPTp Dose Confirmation Status Value Set

Status codes for tracking whether a self-administered IPTp-SP dose has been confirmed by the patient via SMS reply (T-0 / 24h / 72h confirmation engine)

IPTp Gestational Age Band Value Set

Gestational age bands for IPTp eligibility

IPTp Issue Type Value Set

Non-ADR issue types reportable via the Have-an-Issue SMS flow

IPTp Language Preference Value Set

Language preference options for IPTp SMS communications

IPTp Messaging Status Value Set

Whether SMS reminders are currently active or have been stopped (STOP handling)

IPTp Pregnancy Outcome Value Set

Outcome that automatically stops IPTp-SP messaging

IPTp Reminder Type Value Set

Types of reminders sent to enrolled patients

IPTp Resolution Status Value Set

Whether a reported issue is still open or has been resolved

IPTp SMS Message Category Value Set

Categories of outbound/inbound SMS messages exchanged on the dedicated short code (25332) or the InfoAFYA sender ID

Terminology: Code Systems

These define new code systems used by systems conforming to this implementation guide.

IPTp-SP Code System

Code system for IPTp-SP Digital Support System concepts

Example: Example Instances

These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.

24h Nudge (EN)

Sent if no reply/confirmation is received 24 hours after the T-0 reminder

24h Nudge (SW)

24-hour nudge, Kiswahili translation

72h Nudge (EN)

Sent if no reply/confirmation is received 72 hours after the T-0 reminder; triggers CHP follow-up

72h Nudge (SW)

72-hour nudge, Kiswahili translation; triggers CHP follow-up (see IPTpCHPFollowUpTaskExample)

Confirmation Ack: Not Yet (EN)

Sent after the patient replies 2 (not yet) to the T-0 reminder

Confirmation Ack: Not Yet (SW)

Confirmation acknowledgement, Kiswahili translation

Confirmation Ack: Took It (EN)

Sent after the patient replies 1 (took it) to the T-0 reminder

Confirmation Ack: Took It (SW)

Confirmation acknowledgement, Kiswahili translation

Example Active Pregnancy

Confirmed active pregnancy at enrollment, GA 20 weeks

Example CHP Follow-Up Task

Task created after 72h with no dose confirmation reply

Example Eligibility Flag

Eligibility confirmed at USSD Screen R1 (GA 13-27 weeks)

Example Feedback - Reminders Did Not Help

Patient replied 2 (No) to the feedback survey and offered a suggestion

Example Feedback - Reminders Helped

Patient replied 1 (Yes) to the feedback survey

Example Gestational Age Observation

GA captured at USSD Screen R3 - GA Entry

Example IPTp ANC Provider

A whitelisted ANC health worker at the Shinyalu facility

Example IPTp Care Plan

Overall care plan covering all four planned doses for the enrolled patient

Example IPTp Dose 1 Administration (DOT)

First IPTp dose administered under Directly Observed Therapy at clinic

Example IPTp Dose 2 Administration (Self-Admin, Confirmed)

Second IPTp dose, self-administered at home and confirmed by SMS reply 1 (took it)

Example IPTp Enrolled Patient

An example of a pregnant woman enrolled in the IPTp-SP system

Example IPTp Enrollment Episode

An example enrollment episode for an IPTp patient

Example IPTp Health Facility

An ANC clinic in the Kakamega pilot (Shinyalu sub-county)

Example Lost Medicine Issue Report

Patient reported lost medicine via SMS reply 3 → 2 (lost medicine)

Example Mild ADR

Patient reported a mild side effect via SMS reply 3 → 1 (side effect) → 1 (mild)

Example Other (Free-Text) Issue Report

Patient reported a free-text concern via SMS reply 3 → 3 (other)

Example Planned Dose 3

The single future planned dose stored after Dose 2 is confirmed (only one future planned dose at a time)

Example Pregnancy Condition - Delivery Outcome

Pregnancy outcome logged as delivery; automatic STOP condition for messaging

Example Prior Dose History Observation

Captured at USSD Screen R4 - IPTp History: patient had received 0 prior doses

Example Provider-Facility Binding

Binds the ANC provider to their auto-bound facility after HCW training

Example SMS Consent

Verbal consent obtained at USSD Screen R5 - Consent

Example SP Medication

Sulfadoxine-Pyrimethamine medication instance

Example Severe ADR

Patient reported a severe side effect via SMS reply 3 → 1 (side effect) → 2 (severe)

Example T-0 SMS Reminder

Dose day SMS reminder sent via short code 25332

Feedback Ack: No (EN)

Sent after the patient replies 2 (No); see IPTpFeedbackNoExample for the structured response

Feedback Ack: No (SW)

Feedback No acknowledgement, Kiswahili translation

Feedback Ack: Yes (EN)

Sent after the patient replies 1 (Yes); see IPTpFeedbackYesExample for the structured response

Feedback Ack: Yes (SW)

Feedback Yes acknowledgement, Kiswahili translation

Feedback Prompt (EN)

Sent 5 days after the final dose confirmation

Feedback Prompt (SW)

Feedback prompt, Kiswahili translation

InfoAFYA #1: Trust (EN)

Sent 24-48h after enrollment via the InfoAFYA sender ID

InfoAFYA #1: Trust (SW)

Trust message, Kiswahili translation

InfoAFYA #2: Autonomy Transition (EN)

Sent 3-5 days after DOT (Dose 1) via the InfoAFYA sender ID

InfoAFYA #2: Autonomy Transition (SW)

Autonomy transition message, Kiswahili translation

InfoAFYA #3: Norm Reinforcement (EN)

Sent 7 days before the next dose via the InfoAFYA sender ID

InfoAFYA #3: Norm Reinforcement (SW)

Norm reinforcement message, Kiswahili translation

InfoAFYA #4: Identity Reinforcement (EN)

Sent 3-5 days after Dose 2 confirmation via the InfoAFYA sender ID

InfoAFYA #4: Identity Reinforcement (SW)

Identity reinforcement message, Kiswahili translation

InfoAFYA #5: Side-Effect Reassurance (EN)

Sent in the mid-cycle window between two IPTp doses via the InfoAFYA sender ID

InfoAFYA #5: Side-Effect Reassurance (SW)

Side-effect reassurance message, Kiswahili translation

InfoAFYA #6: Completion Mindset (EN)

Sent 7 days before the final dose cycle via the InfoAFYA sender ID

InfoAFYA #6: Completion Mindset (SW)

Completion mindset message, Kiswahili translation

InfoAFYA #7: ANC Continuity (EN)

Sent after final dose confirmation via the InfoAFYA sender ID

InfoAFYA #7: ANC Continuity (SW)

ANC continuity message, Kiswahili translation

Issue Flow Step 1: Problem Type (EN)

Sent after the patient replies 3 (have an issue)

Issue Flow Step 1: Problem Type (SW)

Issue flow problem-type prompt, Kiswahili translation

Issue Flow: Lost Medicine Response (EN)

Sent after the patient selects 2 (lost medicine)

Issue Flow: Lost Medicine Response (SW)

Lost medicine response, Kiswahili translation

Issue Flow: Mild Side Effect Response (EN)

Sent after the patient selects 1 (mild)

Issue Flow: Mild Side Effect Response (SW)

Mild side-effect response, Kiswahili translation

Issue Flow: Other - Auto-Reply (EN)

Auto-reply sent after the free-text concern is received (see IPTpIssueReportOtherExample)

Issue Flow: Other - Auto-Reply (SW)

Other-issue auto-reply, Kiswahili translation

Issue Flow: Other - Free Text Prompt (EN)

Sent after the patient selects 3 (other); system enters AWAITING_FREE_TEXT

Issue Flow: Other - Free Text Prompt (SW)

Free-text concern prompt, Kiswahili translation

Issue Flow: Severe Side Effect Response (EN)

Sent after the patient selects 2 (severe)

Issue Flow: Severe Side Effect Response (SW)

Severe side-effect response, Kiswahili translation

Issue Flow: Side Effect Severity Prompt (EN)

Sent after the patient selects 1 (side effect)

Issue Flow: Side Effect Severity Prompt (SW)

Side-effect severity prompt, Kiswahili translation

Onboarding Message 1 (EN) - Enrollment Confirmation

Onboarding message 1, sent on short code 25332 immediately after USSD enrollment confirmation

Onboarding Message 1 (SW) - Enrollment Confirmation

Onboarding message 1, Kiswahili translation

Onboarding Message 2 (EN) - How It Works

Onboarding message 2, sent on short code 25332

Onboarding Message 2 (SW) - How It Works

Onboarding message 2, Kiswahili translation

Onboarding Message 3 (EN) - How to Take SP

Onboarding message 3, sent on short code 25332

Onboarding Message 3 (SW) - How to Take SP

Onboarding message 3, Kiswahili translation

Onboarding Message 4 (EN) - Safety + InfoAFYA Bridge

Onboarding message 4, sent on short code 25332

Onboarding Message 4 (SW) - Safety + InfoAFYA Bridge

Onboarding message 4, Kiswahili translation

STOP Acknowledgement (EN)

Sent when the patient texts STOP; messaging_status = STOPPED, all scheduled messages cancelled

STOP Acknowledgement (SW)

STOP acknowledgement, Kiswahili translation

T-0 Reminder (SW)

Interactive dose-day reminder sent at 08:00am, Kiswahili translation (English version is IPTpT0ReminderExample)

T-3 Reminder (EN)

Non-interactive T-3 reminder sent at 4:00pm, 3 days before the Dose 2 date

T-3 Reminder (SW)

Non-interactive T-3 reminder, Kiswahili translation