Integrated Campaign Registry (ICR) Implementation Guide
0.1.0 - ci-build
Integrated Campaign Registry (ICR) Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://icr.healthcampaigns.org/ImplementationGuide/unicef.fhir.icr | Version: 0.1.0 | |||
| Draft as of 2026-09-24 | Computable Name: ICR | |||
Health campaigns are expensive, and they are essential for reaching people that routine services miss. Many campaigns return to the same districts every year, often with the same teams. Each one maps places, registers households, sets a target population, and counts who was reached. Today most of that data stays with the campaign that collected it, and the next campaign starts again from zero.
The Integrated Campaign Registry (ICR) is an open data standard for storing and integrating data across health campaigns: immunization, polio, NTD mass drug administration, malaria, vitamin A, and others. It gives countries one structured place to keep their campaign data, so each campaign can build on the last. Data from one round can be reused to plan the next, and results can be compared across campaigns, programmes, and countries.
This Implementation Guide (IG) is the technical core of the ICR. It defines the shared data model and vocabulary for campaigns in HL7 FHIR R4. The open-source ICR reference solution stores data in this format and connects it to the tools countries already use, such as ODK, DHIS2, and CommCare.
This guide is written for implementers who know the basics of FHIR (resources, references, profiles, extensions, search) but are not FHIR specialists.
The IG is designed so that campaign data can:
Measure definitions against those denominators. Administrative and survey
coverage are kept separate.Questionnaire forms let data collected in ODK, DHIS2, or CommCare
load into the registry. SQL-on-FHIR views turn the data into flat tables for analytics
and reporting.FHIR has no Campaign resource, so the IG adapts standard FHIR resources with profiles.
The main ones, grouped by what they are used for:
Planning a campaign
| Profile | FHIR resource | What it represents |
|---|---|---|
| ICRCampaignProtocol | PlanDefinition |
A reusable campaign design, such as "MR follow-up SIA, children 9–59 months" |
| ICRCampaignActivity | ActivityDefinition |
One intervention within a protocol, such as a measles dose or an albendazole tablet |
| ICRCampaign | CarePlan |
One campaign round in a specific area and period. It starts as the microplan and becomes the record of what happened |
| ICRTargetPopulation | Group |
A target population estimate (denominator) for a place, with its source and date |
Places, people, and teams
| Profile | FHIR resource | What it represents |
|---|---|---|
| ICRLocation | Location |
Administrative areas, facilities, settlements, dwellings, and service points, with their hierarchy and boundaries |
| ICRDeliveryUnit | Group |
A household, community, or school class that teams visit |
| ICRPatient | Patient |
A beneficiary: a person who receives an intervention |
| ICRCareTeam | CareTeam |
A vaccination or distribution team and its supervisor |
Delivering the campaign
| Profile | FHIR resource | What it represents |
|---|---|---|
| ICRCampaignTask | Task |
One unit of field work, such as a session at a post or a visit to a household, with its delivery strategy and tallies |
| ICRImmunizationEvent | Immunization |
A vaccine dose given during a campaign |
| ICRMedicationAdministration | MedicationAdministration |
A drug given during a campaign, such as a deworming tablet |
| ICRSupplyDistribution | SupplyDelivery |
Items handed out to households or communities, such as bed nets |
| ICRCampaignFormResponse | QuestionnaireResponse |
A completed campaign form, such as a readiness or supervision checklist |
Measuring results
| Profile | FHIR resource | What it represents |
|---|---|---|
| ICRAdministrativeCoverage | MeasureReport |
Coverage from doses counted against the target population |
| ICRSurveyCoverage | MeasureReport |
Coverage estimated from a post-campaign survey |
The Artifacts page lists everything in the guide, including profiles for supply movements, adverse events, consent, and campaign cost, plus the extensions, code systems, value sets, and examples.
A campaign protocol is a template. Each time it is run in a place, it becomes a
campaign (CarePlan) whose subject is the target population for that area. Field teams
carry out tasks against households, communities, or sites, and each task records what
the visit produced. Individual doses and distributions are recorded as delivery events.
Coverage reports compare what was delivered with the target population.
Every task, delivery event, and report points to its campaign. The campaign itself does not need to be updated as field data arrives, and a server can find everything that belongs to a campaign by searching for records that reference it.
graph TD
PD["ICRCampaignProtocol (PlanDefinition)"] -->|"CarePlan.instantiatesCanonical ▲"| CP["ICRCampaign (CarePlan)"]
PD -->|"action.definitionCanonical"| AD["ICRCampaignActivity (ActivityDefinition)"]
CP -->|"Task.basedOn 1..1 ▲"| TASK["ICRCampaignTask (Task)"]
AD -->|"Task.instantiatesCanonical ▲"| TASK
TASK -->|"for (unit with members)"| DU["ICRDeliveryUnit (Group: household / community / school cohort)"]
TASK -->|"for (no members: site / structure / area)"| LOC["ICRLocation (GERS join key)"]
DU -->|group-location| LOC
DU -->|member| PT["ICRPatient (beneficiary)"]
TASK -->|"output: coded tallies + optional event refs"| EV["Delivery events: ICRImmunizationEvent · ICRMedicationAdministration · ICRSupplyDistribution / ICRSupplyMovement"]
EV -.->|"campaign extension"| CP
EV -->|"patient / subject"| PT
TP["ICRTargetPopulation (denominator)"] -.->|"CarePlan.subject ▲"| CP
CP -->|careTeam| CT["ICRCareTeam (team + supervisor)"]
TASK -->|owner| CT
CP -.->|"campaign extension ▲"| AC["ICRAdministrativeCoverage"]
CP -.->|"campaign extension ▲"| SC["ICRSurveyCoverage"]
AC -.->|"reporter-team ext"| CT
CP -.->|"Observation.basedOn ▲"| CC["ICRCampaignCost (Observation: budget / expenditure line)"]
CC -->|"subject (place, not estimate)"| LOC
CP -.->|"campaign extension ▲"| CR["ICRCostReport (total · cost per person)"]
CR -.->|evaluatedResource| AC
Each edge label names the FHIR element that holds the reference. ▲ means the
reference is stored on the resource at the other end of the arrow. For example, the
Task holds Task.basedOn, which points to the CarePlan.
The ICR is the FHIR data layer for the WHO AFRO Integrated Digitization of Health
Campaigns (IDHC) reference architecture (WHO:AFRO/ARD:2025-10). The IDHC shared
registries (a georegistry and master lists of administrative boundaries, health
facilities, schools, health workers, households, and beneficiaries) map to Location,
Organization, Practitioner and CareTeam, Group, and Patient in this IG. The
guide uses IDHC terms: a beneficiary receives an intervention, an enumerator
collects data in the field, a refusal is a decline, and the campaign lifecycle runs
through campaign planning, campaign readiness and execution, and campaign
monitoring and response.
This is the v0.1 draft from Phase 1 of the UNICEF ICR project. It is based on the ICR working design document (ICR FHIR Implementation Guide — Campaign Data Model & Structure). The Background page covers the design decisions and open questions. Before pilot use, the guide will be tested against real campaign datasets and reviewed by the FHIR community (chat.fhir.org, working group calls, Connectathons).
This draft includes:
Measure definitions for administrative, survey, MDA treatment, geographic, and
zero-dose coverage, campaign readiness, and campaign cost.Questionnaire forms for ESPEN MDA data collection and for readiness and
supervision checklists.ConceptMap from ICR AEFI causality codes to WHO SMART Immunizations (IMMZ) codes.ViewDefinitions that turn the FHIR data into flat tables for
analytics:
campaign calendar,
target populations,
coverage,
coverage strata, and
location status.Planned for later drafts: ViewDefinitions for delivery events, ConceptMaps for
mapping country code lists, and alignment of the Measure definitions with WHO JAP,
ICG, and ESPEN reporting requirements.