Integrated Campaign Registry (ICR) Implementation Guide
0.1.0 - ci-build International flag

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

Resource Profile: ICR Campaign Form Response

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

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... basedOn SΣ 0..* Reference(ICR Campaign) The campaign (round) this submission belongs to — makes every filled form attributable to its round
... status ?!SΣ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject 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
... authored SΣ 0..1 dateTime Date the answers were gathered
... author 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
... item SC 0..* BackboneElement One answered form item per question (linkId → answer)
Constraints: qrs-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId 1..1 string Pointer to specific item from Questionnaire

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
QuestionnaireResponse.​status Base required QuestionnaireResponseStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... basedOn S 0..* Reference(ICR Campaign) The campaign (round) this submission belongs to — makes every filled form attributable to its round
... questionnaire 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
... status S 1..1 code in-progress | completed | amended | entered-in-error | stopped
... authored S 0..1 dateTime Date the answers were gathered
... author 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
... item S 0..* BackboneElement One answered form item per question (linkId → answer)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... 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
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Unique id for this set of answers
... basedOn SΣ 0..* Reference(ICR Campaign) The campaign (round) this submission belongs to — makes every filled form attributable to its round
... partOf Σ 0..* Reference(Observation | Procedure) Part of this action
... questionnaire 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
... status ?!SΣ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject 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
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... authored SΣ 0..1 dateTime Date the answers were gathered
... author 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
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) The person who answered the questions
... item SC 0..* BackboneElement One answered form item per question (linkId → answer)
Constraints: qrs-1
.... 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
.... linkId 1..1 string Pointer to specific item from Questionnaire
.... definition 0..1 uri ElementDefinition - details for the item
.... text 0..1 string Name for group or question text
.... answer 0..* BackboneElement The response(s) to the question
..... 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
..... value[x] 0..1 Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity
...... valueReference Reference(Resource)
..... item 0..* See item (QuestionnaireResponse) Nested groups and questions
.... item 0..* See item (QuestionnaireResponse) Nested questionnaire response items

doco Documentation for this format

Terminology Bindings

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.

Constraints

Id Grade Path(s) Description Expression

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... basedOn SΣ 0..* Reference(ICR Campaign) The campaign (round) this submission belongs to — makes every filled form attributable to its round
... status ?!SΣ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject 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
... authored SΣ 0..1 dateTime Date the answers were gathered
... author 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
... item SC 0..* BackboneElement One answered form item per question (linkId → answer)
Constraints: qrs-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId 1..1 string Pointer to specific item from Questionnaire

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
QuestionnaireResponse.​status Base required QuestionnaireResponseStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression

Differential View

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... basedOn S 0..* Reference(ICR Campaign) The campaign (round) this submission belongs to — makes every filled form attributable to its round
... questionnaire 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
... status S 1..1 code in-progress | completed | amended | entered-in-error | stopped
... authored S 0..1 dateTime Date the answers were gathered
... author 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
... item S 0..* BackboneElement One answered form item per question (linkId → answer)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... 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
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Unique id for this set of answers
... basedOn SΣ 0..* Reference(ICR Campaign) The campaign (round) this submission belongs to — makes every filled form attributable to its round
... partOf Σ 0..* Reference(Observation | Procedure) Part of this action
... questionnaire 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
... status ?!SΣ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject 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
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... authored SΣ 0..1 dateTime Date the answers were gathered
... author 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
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) The person who answered the questions
... item SC 0..* BackboneElement One answered form item per question (linkId → answer)
Constraints: qrs-1
.... 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
.... linkId 1..1 string Pointer to specific item from Questionnaire
.... definition 0..1 uri ElementDefinition - details for the item
.... text 0..1 string Name for group or question text
.... answer 0..* BackboneElement The response(s) to the question
..... 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
..... value[x] 0..1 Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity
...... valueReference Reference(Resource)
..... item 0..* See item (QuestionnaireResponse) Nested groups and questions
.... item 0..* See item (QuestionnaireResponse) Nested questionnaire response items

doco Documentation for this format

Terminology Bindings

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.

Constraints

Id Grade Path(s) Description Expression

 

Other representations of profile: CSV, Excel, Schematron