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/ICRCampaignCost | Version: 0.1.0 | |||
| Draft as of 2026-09-05 | Computable Name: ICRCampaignCost | |||
One cost line item of a campaign — a budgeted or actual amount for one cost category, attributed to one place and (optionally) one team. Joined TO the campaign via basedOn (native on Observation — the only ICR event resource that needs no campaign extension), in the same direction as every other record, so the CarePlan is never rewritten as costs accumulate. Recorded at the grain the source document states (a national vaccine invoice is one national line on the umbrella; a district expenditure return is district lines on the round) and NEVER allocated downward — apportionment is a report-level statement on ICRCostReport. Budget vs expenditure is the cost-lineage axis, not status; status carries preliminary → final → amended for actuals, as the data-lineage axis does for coverage. Consumers read the newest final/amended line per (campaign, place, category, lineage, perspective). Ratios (cost per person) are NOT this profile — they are ICRCostReport (cost-v1).
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: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, icr-cost-currency, icr-cost-driver-product |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | code | budgeted | actual — required: the two are never summed URL: https://icr.healthcampaigns.org/StructureDefinition/cost-lineage Binding: ICR Cost Lineage (required) |
![]() ![]() ![]() |
S | 0..1 | code | financial | economic; absent ⇒ financial URL: https://icr.healthcampaigns.org/StructureDefinition/cost-perspective Binding: ICR Cost Perspective (required) |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Who paid (government, gavi, gpei, unicef …) — the envelope, not the spender URL: https://icr.healthcampaigns.org/StructureDefinition/funding-source Binding: ICR Funding Source (extensible) |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..1 | Reference(ICR Campaign) | The campaign this cost belongs to — the round for round-specific costs, the umbrella for costs shared across rounds (national vaccine, national training) |
![]() ![]() |
?!SΣ | 1..1 | code | final; preliminary for in-flight expenditure; amended when restated — a newer final/amended line supersedes Binding: ObservationStatus (required): Codes providing the status of an observation. |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | WHAT the money is for — the cost category (personnel, per-diem-incentive, transport, cold-chain, commodities, social-mobilization …) Binding: ICR Cost Category (extensible) |
![]() ![]() |
SΣ | 1..1 | Reference(ICR Location) | WHERE the cost is attributed — an admin unit or operational area, at the grain the source states (country / district / ward). Must lie within the campaign's target geography. A place, not a population estimate: the denominator is chosen and declared in the cost report |
![]() ![]() |
SΣ | 0..1 | Reference(ICR Care Team) | Optional: the team, for team-level microplan budget lines (subject stays the team's area) |
![]() ![]() |
SΣ | 1..1 | Period | The period the amount covers — the round period for a budget line; the expenditure window for an actual |
![]() ![]() |
SΣ | 0..* | Reference(Organization) | Who budgeted / spent / reported the line: the DHMT, the MoH programme, the UNICEF country office — the spending organization, as distinct from the funding source |
![]() ![]() |
SΣC | 1..1 | Quantity | The amount in the currency incurred — Quantity with system urn:iso:std:iso:4217 and code = the ISO 4217 currency (SLE, NGN, USD …) |
![]() ![]() ![]() |
SΣ | 1..1 | decimal | Numerical value (with implicit precision) |
![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
![]() ![]() ![]() |
SΣC | 1..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 |
![]() ![]() ![]() |
SΣ | 1..1 | code | Coded form of the unit |
![]() ![]() |
S | 0..* | Annotation | Free-text detail (the named donor for other-donor, the country budget line label) |
![]() ![]() |
SΣ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | The evidentiary trail — the budget form response (ICRCampaignFormResponse) or the finance-system document the line came from |
![]() ![]() |
Σ | 0..* | BackboneElement | Optional decomposition: driver units × unit cost (so a budget can be generated from the microplan — workload-target days × roster × per-diem norm) and the USD-normalised amount Slice: Unordered, Open by pattern:code |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | Driver quantity: 3,200 person-days, 12 vehicle-days, 50,000 doses |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: units | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result |
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | The norm — rate per driver unit in the line's currency; units × unit-cost = the amount (icr-cost-driver-product) |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: unit-cost | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 |
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | USD-normalised amount for cross-country comparison — the conversion date defaults to the end of effectivePeriod (open decision §13.4) |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: amount-usd | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Coded form of the unit Required Pattern: USD |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| Observation.code | Base | extensible | ICR Cost Category | 📦0.1.0 | This IG |
| Observation.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.component.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:units.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| icr-cost-currency | error | Observation | The amount's Quantity.code must be an ISO 4217 currency code (three upper-case letters) under system urn:iso:std:iso:4217. |
value.ofType(Quantity).system = 'urn:iso:std:iso:4217' and value.ofType(Quantity).code.matches('^[A-Z]{3}$')
|
| icr-cost-driver-product | warning | Observation | When both the driver units and the unit cost are given, the amount should equal units × unit-cost (within 1%). Warning severity — a gap is a reconciliation signal (rounding, partial payment), not always a recording error. |
component.where(code.coding.code = 'units').exists() and component.where(code.coding.code = 'unit-cost').exists() implies ((component.where(code.coding.code = 'units').value.ofType(Quantity).value * component.where(code.coding.code = 'unit-cost').value.ofType(Quantity).value) - value.ofType(Quantity).value).abs() <= (value.ofType(Quantity).value * 0.01)
|
This structure is derived from Observation
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: icr-cost-currency, icr-cost-driver-product |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | code | budgeted | actual — required: the two are never summed URL: https://icr.healthcampaigns.org/StructureDefinition/cost-lineage Binding: ICR Cost Lineage (required) |
![]() ![]() ![]() |
S | 0..1 | code | financial | economic; absent ⇒ financial URL: https://icr.healthcampaigns.org/StructureDefinition/cost-perspective Binding: ICR Cost Perspective (required) |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Who paid (government, gavi, gpei, unicef …) — the envelope, not the spender URL: https://icr.healthcampaigns.org/StructureDefinition/funding-source Binding: ICR Funding Source (extensible) |
![]() ![]() |
S | 1..1 | Reference(ICR Campaign) | The campaign this cost belongs to — the round for round-specific costs, the umbrella for costs shared across rounds (national vaccine, national training) |
![]() ![]() |
S | 1..1 | code | final; preliminary for in-flight expenditure; amended when restated — a newer final/amended line supersedes |
![]() ![]() |
S | 1..1 | CodeableConcept | WHAT the money is for — the cost category (personnel, per-diem-incentive, transport, cold-chain, commodities, social-mobilization …) Binding: ICR Cost Category (extensible) |
![]() ![]() |
S | 1..1 | Reference(ICR Location) | WHERE the cost is attributed — an admin unit or operational area, at the grain the source states (country / district / ward). Must lie within the campaign's target geography. A place, not a population estimate: the denominator is chosen and declared in the cost report |
![]() ![]() |
S | 0..1 | Reference(ICR Care Team) | Optional: the team, for team-level microplan budget lines (subject stays the team's area) |
![]() ![]() |
S | 1..1 | Period | The period the amount covers — the round period for a budget line; the expenditure window for an actual |
![]() ![]() |
S | 0..* | Reference(Organization) | Who budgeted / spent / reported the line: the DHMT, the MoH programme, the UNICEF country office — the spending organization, as distinct from the funding source |
![]() ![]() |
S | 1..1 | Quantity | The amount in the currency incurred — Quantity with system urn:iso:std:iso:4217 and code = the ISO 4217 currency (SLE, NGN, USD …) |
![]() ![]() ![]() |
S | 1..1 | decimal | Numerical value (with implicit precision) |
![]() ![]() ![]() |
S | 1..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 |
![]() ![]() ![]() |
S | 1..1 | code | Coded form of the unit |
![]() ![]() |
S | 0..* | Annotation | Free-text detail (the named donor for other-donor, the country budget line label) |
![]() ![]() |
S | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | The evidentiary trail — the budget form response (ICRCampaignFormResponse) or the finance-system document the line came from |
![]() ![]() |
0..* | BackboneElement | Optional decomposition: driver units × unit cost (so a budget can be generated from the microplan — workload-target days × roster × per-diem norm) and the USD-normalised amount Slice: Unordered, Open by pattern:code | |
![]() ![]() ![]() |
S | 0..1 | BackboneElement | Driver quantity: 3,200 person-days, 12 vehicle-days, 50,000 doses |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: units | |
![]() ![]() ![]() ![]() |
1..1 | Quantity | Actual component result | |
![]() ![]() ![]() |
S | 0..1 | BackboneElement | The norm — rate per driver unit in the line's currency; units × unit-cost = the amount (icr-cost-driver-product) |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: unit-cost | |
![]() ![]() ![]() ![]() |
1..1 | Quantity | Actual component result | |
![]() ![]() ![]() ![]() ![]() |
0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | |
![]() ![]() ![]() |
S | 0..1 | BackboneElement | USD-normalised amount for cross-country comparison — the conversion date defaults to the end of effectivePeriod (open decision §13.4) |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: amount-usd | |
![]() ![]() ![]() ![]() |
1..1 | Quantity | Actual component result | |
![]() ![]() ![]() ![]() ![]() |
0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | |
![]() ![]() ![]() ![]() ![]() |
0..1 | code | Coded form of the unit Required Pattern: USD | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.code | Base | extensible | ICR Cost Category | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| icr-cost-currency | error | Observation | The amount's Quantity.code must be an ISO 4217 currency code (three upper-case letters) under system urn:iso:std:iso:4217. |
value.ofType(Quantity).system = 'urn:iso:std:iso:4217' and value.ofType(Quantity).code.matches('^[A-Z]{3}$')
|
| icr-cost-driver-product | warning | Observation | When both the driver units and the unit cost are given, the amount should equal units × unit-cost (within 1%). Warning severity — a gap is a reconciliation signal (rounding, partial payment), not always a recording error. |
component.where(code.coding.code = 'units').exists() and component.where(code.coding.code = 'unit-cost').exists() implies ((component.where(code.coding.code = 'units').value.ofType(Quantity).value * component.where(code.coding.code = 'unit-cost').value.ofType(Quantity).value) - value.ofType(Quantity).value).abs() <= (value.ofType(Quantity).value * 0.01)
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, icr-cost-currency, icr-cost-driver-product | ||||
![]() ![]() |
Σ | 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 | |||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 1..1 | code | budgeted | actual — required: the two are never summed URL: https://icr.healthcampaigns.org/StructureDefinition/cost-lineage Binding: ICR Cost Lineage (required) | ||||
![]() ![]() ![]() |
S | 0..1 | code | financial | economic; absent ⇒ financial URL: https://icr.healthcampaigns.org/StructureDefinition/cost-perspective Binding: ICR Cost Perspective (required) | ||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Who paid (government, gavi, gpei, unicef …) — the envelope, not the spender URL: https://icr.healthcampaigns.org/StructureDefinition/funding-source Binding: ICR Funding Source (extensible) | ||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Business Identifier for observation | ||||
![]() ![]() |
SΣ | 1..1 | Reference(ICR Campaign) | The campaign this cost belongs to — the round for round-specific costs, the umbrella for costs shared across rounds (national vaccine, national training) | ||||
![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
![]() ![]() |
?!SΣ | 1..1 | code | final; preliminary for in-flight expenditure; amended when restated — a newer final/amended line supersedes Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
![]() ![]() |
0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | WHAT the money is for — the cost category (personnel, per-diem-incentive, transport, cold-chain, commodities, social-mobilization …) Binding: ICR Cost Category (extensible) | ||||
![]() ![]() |
SΣ | 1..1 | Reference(ICR Location) | WHERE the cost is attributed — an admin unit or operational area, at the grain the source states (country / district / ward). Must lie within the campaign's target geography. A place, not a population estimate: the denominator is chosen and declared in the cost report | ||||
![]() ![]() |
SΣ | 0..1 | Reference(ICR Care Team) | Optional: the team, for team-level microplan budget lines (subject stays the team's area) | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
![]() ![]() |
SΣ | 1..1 | Period | The period the amount covers — the round period for a budget line; the expenditure window for an actual | ||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this version was made available | ||||
![]() ![]() |
SΣ | 0..* | Reference(Organization) | Who budgeted / spent / reported the line: the DHMT, the MoH programme, the UNICEF country office — the spending organization, as distinct from the funding source | ||||
![]() ![]() |
SΣC | 1..1 | Quantity | The amount in the currency incurred — Quantity with system urn:iso:std:iso:4217 and code = the ISO 4217 currency (SLE, NGN, USD …) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
SΣ | 1..1 | decimal | Numerical value (with implicit precision) | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Unit representation | ||||
![]() ![]() ![]() |
SΣC | 1..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | Coded form of the unit | ||||
![]() ![]() |
C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() |
S | 0..* | Annotation | Free-text detail (the named donor for other-donor, the country budget line label) | ||||
![]() ![]() |
0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
![]() ![]() |
0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |||||
![]() ![]() |
0..1 | Reference(Specimen) | Specimen used for this observation | |||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||
![]() ![]() |
C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3 | ||||
![]() ![]() ![]() |
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 | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(4.0.1) | Low Range, if relevant | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(4.0.1) | High Range, if relevant | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
![]() ![]() ![]() |
0..1 | Range | Applicable age range, if relevant | |||||
![]() ![]() ![]() |
0..1 | string | Text based reference range in an observation | |||||
![]() ![]() |
Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | ||||
![]() ![]() |
SΣ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | The evidentiary trail — the budget form response (ICRCampaignFormResponse) or the finance-system document the line came from | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Optional decomposition: driver units × unit cost (so a budget can be generated from the microplan — workload-target days × roster × per-diem norm) and the USD-normalised amount Slice: Unordered, Open by pattern:code | ||||
![]() ![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() ![]() |
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 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Actual component result | |||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | Driver quantity: 3,200 person-days, 12 vehicle-days, 50,000 doses | ||||
![]() ![]() ![]() ![]() |
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 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: units | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result | ||||
![]() ![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | The norm — rate per driver unit in the line's currency; units × unit-cost = the amount (icr-cost-driver-product) | ||||
![]() ![]() ![]() ![]() |
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 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: unit-cost | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | decimal | Numerical value (with implicit precision) | ||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Unit representation | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Coded form of the unit | ||||
![]() ![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | USD-normalised amount for cross-country comparison — the conversion date defaults to the end of effectivePeriod (open decision §13.4) | ||||
![]() ![]() ![]() ![]() |
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 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: amount-usd | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | decimal | Numerical value (with implicit precision) | ||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Unit representation | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Coded form of the unit Required Pattern: USD | ||||
![]() ![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std. |
| Observation.code | Base | extensible | ICR Cost Category | 📦0.1.0 | This IG |
| Observation.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std. |
| Observation.method | Base | example | Observation Methods | 📍4.0.1 | FHIR Std. |
| Observation.referenceRange.type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | FHIR Std. |
| Observation.referenceRange.appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | FHIR Std. |
| Observation.component.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:units.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:units.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component:units.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| icr-cost-currency | error | Observation | The amount's Quantity.code must be an ISO 4217 currency code (three upper-case letters) under system urn:iso:std:iso:4217. |
value.ofType(Quantity).system = 'urn:iso:std:iso:4217' and value.ofType(Quantity).code.matches('^[A-Z]{3}$')
|
| icr-cost-driver-product | warning | Observation | When both the driver units and the unit cost are given, the amount should equal units × unit-cost (within 1%). Warning severity — a gap is a reconciliation signal (rounding, partial payment), not always a recording error. |
component.where(code.coding.code = 'units').exists() and component.where(code.coding.code = 'unit-cost').exists() implies ((component.where(code.coding.code = 'units').value.ofType(Quantity).value * component.where(code.coding.code = 'unit-cost').value.ofType(Quantity).value) - value.ofType(Quantity).value).abs() <= (value.ofType(Quantity).value * 0.01)
|
This structure is derived from Observation
Summary
Mandatory: 9 elements(3 nested mandatory elements)
Must-Support: 19 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, icr-cost-currency, icr-cost-driver-product |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | code | budgeted | actual — required: the two are never summed URL: https://icr.healthcampaigns.org/StructureDefinition/cost-lineage Binding: ICR Cost Lineage (required) |
![]() ![]() ![]() |
S | 0..1 | code | financial | economic; absent ⇒ financial URL: https://icr.healthcampaigns.org/StructureDefinition/cost-perspective Binding: ICR Cost Perspective (required) |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Who paid (government, gavi, gpei, unicef …) — the envelope, not the spender URL: https://icr.healthcampaigns.org/StructureDefinition/funding-source Binding: ICR Funding Source (extensible) |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..1 | Reference(ICR Campaign) | The campaign this cost belongs to — the round for round-specific costs, the umbrella for costs shared across rounds (national vaccine, national training) |
![]() ![]() |
?!SΣ | 1..1 | code | final; preliminary for in-flight expenditure; amended when restated — a newer final/amended line supersedes Binding: ObservationStatus (required): Codes providing the status of an observation. |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | WHAT the money is for — the cost category (personnel, per-diem-incentive, transport, cold-chain, commodities, social-mobilization …) Binding: ICR Cost Category (extensible) |
![]() ![]() |
SΣ | 1..1 | Reference(ICR Location) | WHERE the cost is attributed — an admin unit or operational area, at the grain the source states (country / district / ward). Must lie within the campaign's target geography. A place, not a population estimate: the denominator is chosen and declared in the cost report |
![]() ![]() |
SΣ | 0..1 | Reference(ICR Care Team) | Optional: the team, for team-level microplan budget lines (subject stays the team's area) |
![]() ![]() |
SΣ | 1..1 | Period | The period the amount covers — the round period for a budget line; the expenditure window for an actual |
![]() ![]() |
SΣ | 0..* | Reference(Organization) | Who budgeted / spent / reported the line: the DHMT, the MoH programme, the UNICEF country office — the spending organization, as distinct from the funding source |
![]() ![]() |
SΣC | 1..1 | Quantity | The amount in the currency incurred — Quantity with system urn:iso:std:iso:4217 and code = the ISO 4217 currency (SLE, NGN, USD …) |
![]() ![]() ![]() |
SΣ | 1..1 | decimal | Numerical value (with implicit precision) |
![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
![]() ![]() ![]() |
SΣC | 1..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 |
![]() ![]() ![]() |
SΣ | 1..1 | code | Coded form of the unit |
![]() ![]() |
S | 0..* | Annotation | Free-text detail (the named donor for other-donor, the country budget line label) |
![]() ![]() |
SΣ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | The evidentiary trail — the budget form response (ICRCampaignFormResponse) or the finance-system document the line came from |
![]() ![]() |
Σ | 0..* | BackboneElement | Optional decomposition: driver units × unit cost (so a budget can be generated from the microplan — workload-target days × roster × per-diem norm) and the USD-normalised amount Slice: Unordered, Open by pattern:code |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | Driver quantity: 3,200 person-days, 12 vehicle-days, 50,000 doses |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: units | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result |
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | The norm — rate per driver unit in the line's currency; units × unit-cost = the amount (icr-cost-driver-product) |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: unit-cost | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 |
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | USD-normalised amount for cross-country comparison — the conversion date defaults to the end of effectivePeriod (open decision §13.4) |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: amount-usd | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. |
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Coded form of the unit Required Pattern: USD |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| Observation.code | Base | extensible | ICR Cost Category | 📦0.1.0 | This IG |
| Observation.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.component.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:units.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| icr-cost-currency | error | Observation | The amount's Quantity.code must be an ISO 4217 currency code (three upper-case letters) under system urn:iso:std:iso:4217. |
value.ofType(Quantity).system = 'urn:iso:std:iso:4217' and value.ofType(Quantity).code.matches('^[A-Z]{3}$')
|
| icr-cost-driver-product | warning | Observation | When both the driver units and the unit cost are given, the amount should equal units × unit-cost (within 1%). Warning severity — a gap is a reconciliation signal (rounding, partial payment), not always a recording error. |
component.where(code.coding.code = 'units').exists() and component.where(code.coding.code = 'unit-cost').exists() implies ((component.where(code.coding.code = 'units').value.ofType(Quantity).value * component.where(code.coding.code = 'unit-cost').value.ofType(Quantity).value) - value.ofType(Quantity).value).abs() <= (value.ofType(Quantity).value * 0.01)
|
Differential View
This structure is derived from Observation
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: icr-cost-currency, icr-cost-driver-product |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | code | budgeted | actual — required: the two are never summed URL: https://icr.healthcampaigns.org/StructureDefinition/cost-lineage Binding: ICR Cost Lineage (required) |
![]() ![]() ![]() |
S | 0..1 | code | financial | economic; absent ⇒ financial URL: https://icr.healthcampaigns.org/StructureDefinition/cost-perspective Binding: ICR Cost Perspective (required) |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Who paid (government, gavi, gpei, unicef …) — the envelope, not the spender URL: https://icr.healthcampaigns.org/StructureDefinition/funding-source Binding: ICR Funding Source (extensible) |
![]() ![]() |
S | 1..1 | Reference(ICR Campaign) | The campaign this cost belongs to — the round for round-specific costs, the umbrella for costs shared across rounds (national vaccine, national training) |
![]() ![]() |
S | 1..1 | code | final; preliminary for in-flight expenditure; amended when restated — a newer final/amended line supersedes |
![]() ![]() |
S | 1..1 | CodeableConcept | WHAT the money is for — the cost category (personnel, per-diem-incentive, transport, cold-chain, commodities, social-mobilization …) Binding: ICR Cost Category (extensible) |
![]() ![]() |
S | 1..1 | Reference(ICR Location) | WHERE the cost is attributed — an admin unit or operational area, at the grain the source states (country / district / ward). Must lie within the campaign's target geography. A place, not a population estimate: the denominator is chosen and declared in the cost report |
![]() ![]() |
S | 0..1 | Reference(ICR Care Team) | Optional: the team, for team-level microplan budget lines (subject stays the team's area) |
![]() ![]() |
S | 1..1 | Period | The period the amount covers — the round period for a budget line; the expenditure window for an actual |
![]() ![]() |
S | 0..* | Reference(Organization) | Who budgeted / spent / reported the line: the DHMT, the MoH programme, the UNICEF country office — the spending organization, as distinct from the funding source |
![]() ![]() |
S | 1..1 | Quantity | The amount in the currency incurred — Quantity with system urn:iso:std:iso:4217 and code = the ISO 4217 currency (SLE, NGN, USD …) |
![]() ![]() ![]() |
S | 1..1 | decimal | Numerical value (with implicit precision) |
![]() ![]() ![]() |
S | 1..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 |
![]() ![]() ![]() |
S | 1..1 | code | Coded form of the unit |
![]() ![]() |
S | 0..* | Annotation | Free-text detail (the named donor for other-donor, the country budget line label) |
![]() ![]() |
S | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | The evidentiary trail — the budget form response (ICRCampaignFormResponse) or the finance-system document the line came from |
![]() ![]() |
0..* | BackboneElement | Optional decomposition: driver units × unit cost (so a budget can be generated from the microplan — workload-target days × roster × per-diem norm) and the USD-normalised amount Slice: Unordered, Open by pattern:code | |
![]() ![]() ![]() |
S | 0..1 | BackboneElement | Driver quantity: 3,200 person-days, 12 vehicle-days, 50,000 doses |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: units | |
![]() ![]() ![]() ![]() |
1..1 | Quantity | Actual component result | |
![]() ![]() ![]() |
S | 0..1 | BackboneElement | The norm — rate per driver unit in the line's currency; units × unit-cost = the amount (icr-cost-driver-product) |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: unit-cost | |
![]() ![]() ![]() ![]() |
1..1 | Quantity | Actual component result | |
![]() ![]() ![]() ![]() ![]() |
0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | |
![]() ![]() ![]() |
S | 0..1 | BackboneElement | USD-normalised amount for cross-country comparison — the conversion date defaults to the end of effectivePeriod (open decision §13.4) |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Type of component observation (code / type) Required Pattern: At least the following | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: amount-usd | |
![]() ![]() ![]() ![]() |
1..1 | Quantity | Actual component result | |
![]() ![]() ![]() ![]() ![]() |
0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | |
![]() ![]() ![]() ![]() ![]() |
0..1 | code | Coded form of the unit Required Pattern: USD | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.code | Base | extensible | ICR Cost Category | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| icr-cost-currency | error | Observation | The amount's Quantity.code must be an ISO 4217 currency code (three upper-case letters) under system urn:iso:std:iso:4217. |
value.ofType(Quantity).system = 'urn:iso:std:iso:4217' and value.ofType(Quantity).code.matches('^[A-Z]{3}$')
|
| icr-cost-driver-product | warning | Observation | When both the driver units and the unit cost are given, the amount should equal units × unit-cost (within 1%). Warning severity — a gap is a reconciliation signal (rounding, partial payment), not always a recording error. |
component.where(code.coding.code = 'units').exists() and component.where(code.coding.code = 'unit-cost').exists() implies ((component.where(code.coding.code = 'units').value.ofType(Quantity).value * component.where(code.coding.code = 'unit-cost').value.ofType(Quantity).value) - value.ofType(Quantity).value).abs() <= (value.ofType(Quantity).value * 0.01)
|
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Observation | Measurements and simple assertions Constraints: obs-6, obs-7, icr-cost-currency, icr-cost-driver-product | ||||
![]() ![]() |
Σ | 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 | |||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 1..1 | code | budgeted | actual — required: the two are never summed URL: https://icr.healthcampaigns.org/StructureDefinition/cost-lineage Binding: ICR Cost Lineage (required) | ||||
![]() ![]() ![]() |
S | 0..1 | code | financial | economic; absent ⇒ financial URL: https://icr.healthcampaigns.org/StructureDefinition/cost-perspective Binding: ICR Cost Perspective (required) | ||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Who paid (government, gavi, gpei, unicef …) — the envelope, not the spender URL: https://icr.healthcampaigns.org/StructureDefinition/funding-source Binding: ICR Funding Source (extensible) | ||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Business Identifier for observation | ||||
![]() ![]() |
SΣ | 1..1 | Reference(ICR Campaign) | The campaign this cost belongs to — the round for round-specific costs, the umbrella for costs shared across rounds (national vaccine, national training) | ||||
![]() ![]() |
Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
![]() ![]() |
?!SΣ | 1..1 | code | final; preliminary for in-flight expenditure; amended when restated — a newer final/amended line supersedes Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
![]() ![]() |
0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | WHAT the money is for — the cost category (personnel, per-diem-incentive, transport, cold-chain, commodities, social-mobilization …) Binding: ICR Cost Category (extensible) | ||||
![]() ![]() |
SΣ | 1..1 | Reference(ICR Location) | WHERE the cost is attributed — an admin unit or operational area, at the grain the source states (country / district / ward). Must lie within the campaign's target geography. A place, not a population estimate: the denominator is chosen and declared in the cost report | ||||
![]() ![]() |
SΣ | 0..1 | Reference(ICR Care Team) | Optional: the team, for team-level microplan budget lines (subject stays the team's area) | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
![]() ![]() |
SΣ | 1..1 | Period | The period the amount covers — the round period for a budget line; the expenditure window for an actual | ||||
![]() ![]() |
Σ | 0..1 | instant | Date/Time this version was made available | ||||
![]() ![]() |
SΣ | 0..* | Reference(Organization) | Who budgeted / spent / reported the line: the DHMT, the MoH programme, the UNICEF country office — the spending organization, as distinct from the funding source | ||||
![]() ![]() |
SΣC | 1..1 | Quantity | The amount in the currency incurred — Quantity with system urn:iso:std:iso:4217 and code = the ISO 4217 currency (SLE, NGN, USD …) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
SΣ | 1..1 | decimal | Numerical value (with implicit precision) | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Unit representation | ||||
![]() ![]() ![]() |
SΣC | 1..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | Coded form of the unit | ||||
![]() ![]() |
C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() |
S | 0..* | Annotation | Free-text detail (the named donor for other-donor, the country budget line label) | ||||
![]() ![]() |
0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
![]() ![]() |
0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |||||
![]() ![]() |
0..1 | Reference(Specimen) | Specimen used for this observation | |||||
![]() ![]() |
0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||
![]() ![]() |
C | 0..* | BackboneElement | Provides guide for interpretation Constraints: obs-3 | ||||
![]() ![]() ![]() |
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 | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(4.0.1) | Low Range, if relevant | ||||
![]() ![]() ![]() |
C | 0..1 | SimpleQuantity(4.0.1) | High Range, if relevant | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
![]() ![]() ![]() |
0..1 | Range | Applicable age range, if relevant | |||||
![]() ![]() ![]() |
0..1 | string | Text based reference range in an observation | |||||
![]() ![]() |
Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | ||||
![]() ![]() |
SΣ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | The evidentiary trail — the budget form response (ICRCampaignFormResponse) or the finance-system document the line came from | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Optional decomposition: driver units × unit cost (so a budget can be generated from the microplan — workload-target days × roster × per-diem norm) and the USD-normalised amount Slice: Unordered, Open by pattern:code | ||||
![]() ![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() ![]() |
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 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Actual component result | |||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | Driver quantity: 3,200 person-days, 12 vehicle-days, 50,000 doses | ||||
![]() ![]() ![]() ![]() |
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 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: units | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result | ||||
![]() ![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | The norm — rate per driver unit in the line's currency; units × unit-cost = the amount (icr-cost-driver-product) | ||||
![]() ![]() ![]() ![]() |
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 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: unit-cost | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | decimal | Numerical value (with implicit precision) | ||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Unit representation | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Coded form of the unit | ||||
![]() ![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
![]() ![]() ![]() |
SΣ | 0..1 | BackboneElement | USD-normalised amount for cross-country comparison — the conversion date defaults to the end of effectivePeriod (open decision §13.4) | ||||
![]() ![]() ![]() ![]() |
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 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. Required Pattern: At least the following | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system Fixed Value: (Complex) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-cost-component-cs | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Version of the system - if relevant | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: amount-usd | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | If this coding was chosen directly by the user | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Plain text representation of the concept | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Quantity | Actual component result | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | decimal | Numerical value (with implicit precision) | ||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Unit representation | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | System that defines coded unit form Required Pattern: urn:iso:std:iso:4217 | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Coded form of the unit Required Pattern: USD | ||||
![]() ![]() ![]() ![]() |
C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
![]() ![]() ![]() ![]() |
0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Observation.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std. |
| Observation.category | Base | preferred | Observation Category Codes | 📍4.0.1 | FHIR Std. |
| Observation.code | Base | extensible | ICR Cost Category | 📦0.1.0 | This IG |
| Observation.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std. |
| Observation.method | Base | example | Observation Methods | 📍4.0.1 | FHIR Std. |
| Observation.referenceRange.type | Base | preferred | Observation Reference Range Meaning Codes | 📍4.0.1 | FHIR Std. |
| Observation.referenceRange.appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍4.0.1 | FHIR Std. |
| Observation.component.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:units.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:units.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component:units.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component:unitCost.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.code | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.value[x].comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.dataAbsentReason | Base | extensible | DataAbsentReason | 📍4.0.1 | FHIR Std. |
| Observation.component:amountUsd.interpretation | Base | extensible | Observation Interpretation Codes | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| icr-cost-currency | error | Observation | The amount's Quantity.code must be an ISO 4217 currency code (three upper-case letters) under system urn:iso:std:iso:4217. |
value.ofType(Quantity).system = 'urn:iso:std:iso:4217' and value.ofType(Quantity).code.matches('^[A-Z]{3}$')
|
| icr-cost-driver-product | warning | Observation | When both the driver units and the unit cost are given, the amount should equal units × unit-cost (within 1%). Warning severity — a gap is a reconciliation signal (rounding, partial payment), not always a recording error. |
component.where(code.coding.code = 'units').exists() and component.where(code.coding.code = 'unit-cost').exists() implies ((component.where(code.coding.code = 'units').value.ofType(Quantity).value * component.where(code.coding.code = 'unit-cost').value.ofType(Quantity).value) - value.ofType(Quantity).value).abs() <= (value.ofType(Quantity).value * 0.01)
|
This structure is derived from Observation
Summary
Mandatory: 9 elements(3 nested mandatory elements)
Must-Support: 19 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron