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/StructureDefinition/ICRCampaignFormResponse | Version: 0.1.0 | |||
| Draft as of 2026-08-20 | Computable Name: ICRCampaignFormResponse | |||
A filled-in campaign form — ONE generic profile for every structured form submission in a campaign: supervision visits (ESPEN Forms 5 health-facility and 6 CDD-observation via the icr-mda-supervision-checklist), pre-campaign readiness validations (icr-campaign-readiness-checklist), monitoring checks, and country-authored forms. The canonical Questionnaire a response answers is the TYPE DISCRIMINATOR — 'all supervision reports' is a query on the questionnaire canonical, and analytics key on the form's coded linkIds — so new form types cost a Questionnaire, never a new profile. basedOn ties every submission to its campaign (round); subject is the delivery unit or place the form is about; author is the individual (Practitioner/PractitionerRole) or Organization who filed it — R4 QuestionnaireResponse.author cannot reference a CareTeam. Replaces the form-specific ICRSupervisionReport (working doc 17.3, 17.3,
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse | A structured set of questions and their answers | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Reference(ICR Campaign) | The campaign (round) this submission belongs to — makes every filled form attributable to its round |
![]() ![]() |
SΣ | 1..1 | canonical(Questionnaire) | The canonical campaign form this answers (e.g. icr-mda-supervision-checklist, icr-campaign-readiness-checklist) — the form type discriminator |
![]() ![]() |
?!SΣ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. |
![]() ![]() |
SΣ | 0..1 | Reference(ICR Delivery Unit (Household / Community / School Cohort) | ICR Location) | What the form is about: the delivery-unit Group (household/community/school cohort) or the settlement/area/site Location |
![]() ![]() |
SΣ | 0..1 | dateTime | Date the answers were gathered |
![]() ![]() |
SΣ | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | The individual (Practitioner/PractitionerRole) or organization who filed the form — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the author's PractitionerRole / Task.owner |
![]() ![]() |
SC | 0..* | BackboneElement | One answered form item per question (linkId → answer) Constraints: qrs-1 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | Pointer to specific item from Questionnaire | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
This structure is derived from QuestionnaireResponse
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse | A structured set of questions and their answers | |
![]() ![]() |
S | 0..* | Reference(ICR Campaign) | The campaign (round) this submission belongs to — makes every filled form attributable to its round |
![]() ![]() |
S | 1..1 | canonical(Questionnaire) | The canonical campaign form this answers (e.g. icr-mda-supervision-checklist, icr-campaign-readiness-checklist) — the form type discriminator |
![]() ![]() |
S | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped |
![]() ![]() |
S | 0..1 | Reference(ICR Delivery Unit (Household / Community / School Cohort) | ICR Location) | What the form is about: the delivery-unit Group (household/community/school cohort) or the settlement/area/site Location |
![]() ![]() |
S | 0..1 | dateTime | Date the answers were gathered |
![]() ![]() |
S | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | The individual (Practitioner/PractitionerRole) or organization who filed the form — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the author's PractitionerRole / Task.owner |
![]() ![]() |
S | 0..* | BackboneElement | One answered form item per question (linkId → answer) |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse | A structured set of questions and their answers | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Unique id for this set of answers | ||||
![]() ![]() |
SΣ | 0..* | Reference(ICR Campaign) | The campaign (round) this submission belongs to — makes every filled form attributable to its round | ||||
![]() ![]() |
Σ | 0..* | Reference(Observation | Procedure) | Part of this action | ||||
![]() ![]() |
SΣ | 1..1 | canonical(Questionnaire) | The canonical campaign form this answers (e.g. icr-mda-supervision-checklist, icr-campaign-readiness-checklist) — the form type discriminator | ||||
![]() ![]() |
?!SΣ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. | ||||
![]() ![]() |
SΣ | 0..1 | Reference(ICR Delivery Unit (Household / Community / School Cohort) | ICR Location) | What the form is about: the delivery-unit Group (household/community/school cohort) or the settlement/area/site Location | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() |
SΣ | 0..1 | dateTime | Date the answers were gathered | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | The individual (Practitioner/PractitionerRole) or organization who filed the form — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the author's PractitionerRole / Task.owner | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | The person who answered the questions | ||||
![]() ![]() |
SC | 0..* | BackboneElement | One answered form item per question (linkId → answer) Constraints: qrs-1 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | string | Pointer to specific item from Questionnaire | |||||
![]() ![]() ![]() |
0..1 | uri | ElementDefinition - details for the item | |||||
![]() ![]() ![]() |
0..1 | string | Name for group or question text | |||||
![]() ![]() ![]() |
0..* | BackboneElement | The response(s) to the question | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
0..1 | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | ||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() |
0..* | See item (QuestionnaireResponse) | Nested groups and questions | |||||
![]() ![]() ![]() |
0..* | See item (QuestionnaireResponse) | Nested questionnaire response items | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| QuestionnaireResponse.status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std. |
| QuestionnaireResponse.item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
This structure is derived from QuestionnaireResponse
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse | A structured set of questions and their answers | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Reference(ICR Campaign) | The campaign (round) this submission belongs to — makes every filled form attributable to its round |
![]() ![]() |
SΣ | 1..1 | canonical(Questionnaire) | The canonical campaign form this answers (e.g. icr-mda-supervision-checklist, icr-campaign-readiness-checklist) — the form type discriminator |
![]() ![]() |
?!SΣ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. |
![]() ![]() |
SΣ | 0..1 | Reference(ICR Delivery Unit (Household / Community / School Cohort) | ICR Location) | What the form is about: the delivery-unit Group (household/community/school cohort) or the settlement/area/site Location |
![]() ![]() |
SΣ | 0..1 | dateTime | Date the answers were gathered |
![]() ![]() |
SΣ | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | The individual (Practitioner/PractitionerRole) or organization who filed the form — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the author's PractitionerRole / Task.owner |
![]() ![]() |
SC | 0..* | BackboneElement | One answered form item per question (linkId → answer) Constraints: qrs-1 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | Pointer to specific item from Questionnaire | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
Differential View
This structure is derived from QuestionnaireResponse
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse | A structured set of questions and their answers | |
![]() ![]() |
S | 0..* | Reference(ICR Campaign) | The campaign (round) this submission belongs to — makes every filled form attributable to its round |
![]() ![]() |
S | 1..1 | canonical(Questionnaire) | The canonical campaign form this answers (e.g. icr-mda-supervision-checklist, icr-campaign-readiness-checklist) — the form type discriminator |
![]() ![]() |
S | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped |
![]() ![]() |
S | 0..1 | Reference(ICR Delivery Unit (Household / Community / School Cohort) | ICR Location) | What the form is about: the delivery-unit Group (household/community/school cohort) or the settlement/area/site Location |
![]() ![]() |
S | 0..1 | dateTime | Date the answers were gathered |
![]() ![]() |
S | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | The individual (Practitioner/PractitionerRole) or organization who filed the form — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the author's PractitionerRole / Task.owner |
![]() ![]() |
S | 0..* | BackboneElement | One answered form item per question (linkId → answer) |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse | A structured set of questions and their answers | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Unique id for this set of answers | ||||
![]() ![]() |
SΣ | 0..* | Reference(ICR Campaign) | The campaign (round) this submission belongs to — makes every filled form attributable to its round | ||||
![]() ![]() |
Σ | 0..* | Reference(Observation | Procedure) | Part of this action | ||||
![]() ![]() |
SΣ | 1..1 | canonical(Questionnaire) | The canonical campaign form this answers (e.g. icr-mda-supervision-checklist, icr-campaign-readiness-checklist) — the form type discriminator | ||||
![]() ![]() |
?!SΣ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. | ||||
![]() ![]() |
SΣ | 0..1 | Reference(ICR Delivery Unit (Household / Community / School Cohort) | ICR Location) | What the form is about: the delivery-unit Group (household/community/school cohort) or the settlement/area/site Location | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() |
SΣ | 0..1 | dateTime | Date the answers were gathered | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | The individual (Practitioner/PractitionerRole) or organization who filed the form — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the author's PractitionerRole / Task.owner | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | The person who answered the questions | ||||
![]() ![]() |
SC | 0..* | BackboneElement | One answered form item per question (linkId → answer) Constraints: qrs-1 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | string | Pointer to specific item from Questionnaire | |||||
![]() ![]() ![]() |
0..1 | uri | ElementDefinition - details for the item | |||||
![]() ![]() ![]() |
0..1 | string | Name for group or question text | |||||
![]() ![]() ![]() |
0..* | BackboneElement | The response(s) to the question | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
0..1 | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | ||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() |
0..* | See item (QuestionnaireResponse) | Nested groups and questions | |||||
![]() ![]() ![]() |
0..* | See item (QuestionnaireResponse) | Nested questionnaire response items | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| QuestionnaireResponse.status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std. |
| QuestionnaireResponse.item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
This structure is derived from QuestionnaireResponse
Other representations of profile: CSV, Excel, Schematron