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 Supervision Report

Official URL: https://icr.healthcampaigns.org/StructureDefinition/ICRSupervisionReport Version: 0.1.0
Draft as of 2026-08-07 Computable Name: ICRSupervisionReport

A STRUCTURED supervision-visit / QA record (ESPEN Forms 5 health-facility and 6 CDD-observation): a QuestionnaireResponse against the icr-mda-supervision-checklist Questionnaire, so each checklist answer (supplies present, DOC observed, height-chart used correctly, stock concordance, population informed, channels used…) links to a defined, coded question. Subject is the supervised area/community; author is the supervising ICRCareTeam. Replaces the v0.19 lightweight text-component Observation (working doc §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
... questionnaire SΣ 1..1 canonical(Questionnaire) The supervision checklist this answers — icr-mda-supervision-checklist
... subject SΣ 0..1 Reference(ICR Delivery Unit (Household / Community) | ICR Location) The supervised community/household or settlement/area
... authored SΣ 0..1 dateTime Date the answers were gathered
... author SΣ 0..1 Reference(Practitioner | PractitionerRole | Organization) The supervisor (Practitioner/PractitionerRole) or supervising organization — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the supervisor's PractitionerRole / Task.owner
... item SC 0..* BackboneElement One answered checklist 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
dom-2 error QuestionnaireResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error QuestionnaireResponse 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 QuestionnaireResponse 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 QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice QuestionnaireResponse 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()
qrs-1 error QuestionnaireResponse.item Nested item can't be beneath both item and answer (answer.exists() and item.exists()).not()

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... questionnaire S 1..1 canonical(Questionnaire) The supervision checklist this answers — icr-mda-supervision-checklist
... status S 1..1 code in-progress | completed | amended | entered-in-error | stopped
... subject S 0..1 Reference(ICR Delivery Unit (Household / Community) | ICR Location) The supervised community/household or settlement/area
... author S 0..1 Reference(Practitioner | PractitionerRole | Organization) The supervisor (Practitioner/PractitionerRole) or supervising organization — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the supervisor's PractitionerRole / Task.owner
... item S 0..* BackboneElement One answered checklist 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 Σ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf Σ 0..* Reference(Observation | Procedure) Part of this action
... questionnaire SΣ 1..1 canonical(Questionnaire) The supervision checklist this answers — icr-mda-supervision-checklist
... 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) | ICR Location) The supervised community/household or settlement/area
... 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 supervisor (Practitioner/PractitionerRole) or supervising organization — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the supervisor's PractitionerRole / Task.owner
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) The person who answered the questions
... item SC 0..* BackboneElement One answered checklist 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
dom-2 error QuestionnaireResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error QuestionnaireResponse 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 QuestionnaireResponse 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 QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice QuestionnaireResponse 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()
qrs-1 error QuestionnaireResponse.item Nested item can't be beneath both item and answer (answer.exists() and item.exists()).not()

This structure is derived from QuestionnaireResponse

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
... questionnaire SΣ 1..1 canonical(Questionnaire) The supervision checklist this answers — icr-mda-supervision-checklist
... subject SΣ 0..1 Reference(ICR Delivery Unit (Household / Community) | ICR Location) The supervised community/household or settlement/area
... authored SΣ 0..1 dateTime Date the answers were gathered
... author SΣ 0..1 Reference(Practitioner | PractitionerRole | Organization) The supervisor (Practitioner/PractitionerRole) or supervising organization — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the supervisor's PractitionerRole / Task.owner
... item SC 0..* BackboneElement One answered checklist 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
dom-2 error QuestionnaireResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error QuestionnaireResponse 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 QuestionnaireResponse 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 QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice QuestionnaireResponse 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()
qrs-1 error QuestionnaireResponse.item Nested item can't be beneath both item and answer (answer.exists() and item.exists()).not()

Differential View

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... questionnaire S 1..1 canonical(Questionnaire) The supervision checklist this answers — icr-mda-supervision-checklist
... status S 1..1 code in-progress | completed | amended | entered-in-error | stopped
... subject S 0..1 Reference(ICR Delivery Unit (Household / Community) | ICR Location) The supervised community/household or settlement/area
... author S 0..1 Reference(Practitioner | PractitionerRole | Organization) The supervisor (Practitioner/PractitionerRole) or supervising organization — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the supervisor's PractitionerRole / Task.owner
... item S 0..* BackboneElement One answered checklist 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 Σ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf Σ 0..* Reference(Observation | Procedure) Part of this action
... questionnaire SΣ 1..1 canonical(Questionnaire) The supervision checklist this answers — icr-mda-supervision-checklist
... 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) | ICR Location) The supervised community/household or settlement/area
... 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 supervisor (Practitioner/PractitionerRole) or supervising organization — QuestionnaireResponse.author cannot be a CareTeam; the team is reached via the supervisor's PractitionerRole / Task.owner
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) The person who answered the questions
... item SC 0..* BackboneElement One answered checklist 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
dom-2 error QuestionnaireResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error QuestionnaireResponse 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 QuestionnaireResponse 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 QuestionnaireResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice QuestionnaireResponse 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()
qrs-1 error QuestionnaireResponse.item Nested item can't be beneath both item and answer (answer.exists() and item.exists()).not()

This structure is derived from QuestionnaireResponse

 

Other representations of profile: CSV, Excel, Schematron