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 Stock Count

Official URL: https://icr.healthcampaigns.org/StructureDefinition/ICRStockCount Version: 0.1.0
Draft as of 2026-10-29 Computable Name: ICRStockCount

A physical count of one product at a facility, warehouse or staging post on a date, beside the balance the stock record expects. The count and the record agree when valueQuantity.value = component[expected].valueQuantity.value; there is no separate flag. The movements since the last count are listed in extension[basis] (R4 derivedFrom cannot reference a SupplyDelivery). Counts are for facilities and stores only; a field team's end-of-day count stays on its issuance ledger (ICRSupplyMovement).

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
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7, icr-stock-count-unit
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:suppliedItem S 1..1 CodeableConcept The product counted, coded as on the supply movements (ICRSuppliedItemVS)
URL: https://icr.healthcampaigns.org/StructureDefinition/supplied-item
Binding: ICR Supplied Item (extensible)
.... extension:basis S 0..* Reference(ICR Supply Movement) The ICRSupplyMovement records since the last count
URL: https://icr.healthcampaigns.org/StructureDefinition/stock-count-basis
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code final
Binding: ObservationStatus (required): Codes providing the status of an observation.
... code SΣ 1..1 CodeableConcept Fixed: stock-count
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: stock-count
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(ICR Location) The place counted: a facility, warehouse or staging post
... effective[x] SΣ 1..1 dateTime When the count was made
... performer SΣ 0..* Reference(Practitioner | PractitionerRole | Organization) Who counted
... value[x] SΣC 1..1 Quantity The physical count, in the product's base unit (system + code)
.... value SΣ 1..1 decimal Numerical value (with implicit precision)
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
.... system SΣC 1..1 uri System that defines coded unit form
.... code SΣ 1..1 code Coded form of the unit
... note S 0..* Annotation Comments on the count
... Slices for component SΣ 0..* BackboneElement Component results
Slice: Unordered, Open by pattern:code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... component:expected SΣ 0..1 BackboneElement The balance the stock record expects at the count, in the same unit as the count (icr-stock-count-unit)
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: expected-stock-balance
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... value[x] Σ 1..1 Quantity Actual component result
...... value SΣ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
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:expected.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component:expected.​value[x].comparator Base required QuantityComparator 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
icr-stock-count-unit error Observation The expected stock balance is in the same unit as the count: component[expected].valueQuantity has the same system and code as valueQuantity. component.where(code.coding.where(system = 'https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs' and code = 'expected-stock-balance').exists()).all(value.ofType(Quantity).system = %resource.value.ofType(Quantity).system and value.ofType(Quantity).code = %resource.value.ofType(Quantity).code)

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: icr-stock-count-unit
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:suppliedItem S 1..1 CodeableConcept The product counted, coded as on the supply movements (ICRSuppliedItemVS)
URL: https://icr.healthcampaigns.org/StructureDefinition/supplied-item
Binding: ICR Supplied Item (extensible)
.... extension:basis S 0..* Reference(ICR Supply Movement) The ICRSupplyMovement records since the last count
URL: https://icr.healthcampaigns.org/StructureDefinition/stock-count-basis
... basedOn S 0..* Reference(ICR Campaign) The campaign the count was made for
... status S 1..1 code final
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: stock-count
... subject S 1..1 Reference(ICR Location) The place counted: a facility, warehouse or staging post
... effective[x] S 1..1 dateTime When the count was made
... performer S 0..* Reference(Practitioner | PractitionerRole | Organization) Who counted
... value[x] S 1..1 Quantity The physical count, in the product's base unit (system + code)
.... value S 1..1 decimal Numerical value (with implicit precision)
.... system S 1..1 uri System that defines coded unit form
.... code S 1..1 code Coded form of the unit
... note S 0..* Annotation Comments on the count
... Slices for component S 0..* BackboneElement Component results
Slice: Unordered, Open by pattern:code
.... component:expected S 0..1 BackboneElement The balance the stock record expects at the count, in the same unit as the count (icr-stock-count-unit)
..... code 1..1 CodeableConcept Type of component observation (code / type)
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: expected-stock-balance
..... value[x] 1..1 Quantity Actual component result
...... value S 1..1 decimal Numerical value (with implicit precision)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
icr-stock-count-unit error Observation The expected stock balance is in the same unit as the count: component[expected].valueQuantity has the same system and code as valueQuantity. component.where(code.coding.where(system = 'https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs' and code = 'expected-stock-balance').exists()).all(value.ofType(Quantity).system = %resource.value.ofType(Quantity).system and value.ofType(Quantity).code = %resource.value.ofType(Quantity).code)
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7, icr-stock-count-unit
... 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:suppliedItem S 1..1 CodeableConcept The product counted, coded as on the supply movements (ICRSuppliedItemVS)
URL: https://icr.healthcampaigns.org/StructureDefinition/supplied-item
Binding: ICR Supplied Item (extensible)
.... extension:basis S 0..* Reference(ICR Supply Movement) The ICRSupplyMovement records since the last count
URL: https://icr.healthcampaigns.org/StructureDefinition/stock-count-basis
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business Identifier for observation
... basedOn SΣ 0..* Reference(ICR Campaign) The campaign the count was made for
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!SΣ 1..1 code final
Binding: ObservationStatus (required): Codes providing the status of an observation.
... category 0..* CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
... code SΣ 1..1 CodeableConcept Fixed: stock-count
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: stock-count
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(ICR Location) The place counted: a facility, warehouse or staging post
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] SΣ 1..1 dateTime When the count was made
... issued Σ 0..1 instant Date/Time this version was made available
... performer SΣ 0..* Reference(Practitioner | PractitionerRole | Organization) Who counted
... value[x] SΣC 1..1 Quantity The physical count, in the product's base unit (system + code)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... value SΣ 1..1 decimal Numerical value (with implicit precision)
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
.... unit Σ 0..1 string Unit representation
.... system SΣC 1..1 uri System that defines coded unit form
.... code SΣ 1..1 code Coded form of the unit
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
... note S 0..* Annotation Comments on the count
... bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
... referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
.... 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
.... low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
.... high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
.... type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
.... appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
.... age 0..1 Range Applicable age range, if relevant
.... text 0..1 string Text based reference range in an observation
... hasMember Σ 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
... Slices for component SΣ 0..* BackboneElement Component results
Slice: Unordered, Open by pattern:code
.... component:All Slices Content/Rules for all slices
..... 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
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
..... value[x] Σ 0..1 Actual component result
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
..... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
..... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
.... component:expected SΣ 0..1 BackboneElement The balance the stock record expects at the count, in the same unit as the count (icr-stock-count-unit)
..... 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
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: expected-stock-balance
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... value[x] Σ 1..1 Quantity Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... unit Σ 0..1 string Unit representation
...... system ΣC 0..1 uri System that defines coded unit form
...... code Σ 0..1 code Coded form of the unit
..... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
..... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

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 example LOINC Codes 📍4.0.1 FHIR Std.
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:expected.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component:expected.​value[x].comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.component:expected.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component:expected.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
icr-stock-count-unit error Observation The expected stock balance is in the same unit as the count: component[expected].valueQuantity has the same system and code as valueQuantity. component.where(code.coding.where(system = 'https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs' and code = 'expected-stock-balance').exists()).all(value.ofType(Quantity).system = %resource.value.ofType(Quantity).system and value.ofType(Quantity).code = %resource.value.ofType(Quantity).code)

This structure is derived from Observation

Summary

Mandatory: 8 elements(2 nested mandatory elements)
Must-Support: 16 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.component

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7, icr-stock-count-unit
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:suppliedItem S 1..1 CodeableConcept The product counted, coded as on the supply movements (ICRSuppliedItemVS)
URL: https://icr.healthcampaigns.org/StructureDefinition/supplied-item
Binding: ICR Supplied Item (extensible)
.... extension:basis S 0..* Reference(ICR Supply Movement) The ICRSupplyMovement records since the last count
URL: https://icr.healthcampaigns.org/StructureDefinition/stock-count-basis
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code final
Binding: ObservationStatus (required): Codes providing the status of an observation.
... code SΣ 1..1 CodeableConcept Fixed: stock-count
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: stock-count
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(ICR Location) The place counted: a facility, warehouse or staging post
... effective[x] SΣ 1..1 dateTime When the count was made
... performer SΣ 0..* Reference(Practitioner | PractitionerRole | Organization) Who counted
... value[x] SΣC 1..1 Quantity The physical count, in the product's base unit (system + code)
.... value SΣ 1..1 decimal Numerical value (with implicit precision)
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
.... system SΣC 1..1 uri System that defines coded unit form
.... code SΣ 1..1 code Coded form of the unit
... note S 0..* Annotation Comments on the count
... Slices for component SΣ 0..* BackboneElement Component results
Slice: Unordered, Open by pattern:code
.... component:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... component:expected SΣ 0..1 BackboneElement The balance the stock record expects at the count, in the same unit as the count (icr-stock-count-unit)
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: expected-stock-balance
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... value[x] Σ 1..1 Quantity Actual component result
...... value SΣ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
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:expected.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component:expected.​value[x].comparator Base required QuantityComparator 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
icr-stock-count-unit error Observation The expected stock balance is in the same unit as the count: component[expected].valueQuantity has the same system and code as valueQuantity. component.where(code.coding.where(system = 'https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs' and code = 'expected-stock-balance').exists()).all(value.ofType(Quantity).system = %resource.value.ofType(Quantity).system and value.ofType(Quantity).code = %resource.value.ofType(Quantity).code)

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: icr-stock-count-unit
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:suppliedItem S 1..1 CodeableConcept The product counted, coded as on the supply movements (ICRSuppliedItemVS)
URL: https://icr.healthcampaigns.org/StructureDefinition/supplied-item
Binding: ICR Supplied Item (extensible)
.... extension:basis S 0..* Reference(ICR Supply Movement) The ICRSupplyMovement records since the last count
URL: https://icr.healthcampaigns.org/StructureDefinition/stock-count-basis
... basedOn S 0..* Reference(ICR Campaign) The campaign the count was made for
... status S 1..1 code final
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: stock-count
... subject S 1..1 Reference(ICR Location) The place counted: a facility, warehouse or staging post
... effective[x] S 1..1 dateTime When the count was made
... performer S 0..* Reference(Practitioner | PractitionerRole | Organization) Who counted
... value[x] S 1..1 Quantity The physical count, in the product's base unit (system + code)
.... value S 1..1 decimal Numerical value (with implicit precision)
.... system S 1..1 uri System that defines coded unit form
.... code S 1..1 code Coded form of the unit
... note S 0..* Annotation Comments on the count
... Slices for component S 0..* BackboneElement Component results
Slice: Unordered, Open by pattern:code
.... component:expected S 0..1 BackboneElement The balance the stock record expects at the count, in the same unit as the count (icr-stock-count-unit)
..... code 1..1 CodeableConcept Type of component observation (code / type)
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: expected-stock-balance
..... value[x] 1..1 Quantity Actual component result
...... value S 1..1 decimal Numerical value (with implicit precision)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
icr-stock-count-unit error Observation The expected stock balance is in the same unit as the count: component[expected].valueQuantity has the same system and code as valueQuantity. component.where(code.coding.where(system = 'https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs' and code = 'expected-stock-balance').exists()).all(value.ofType(Quantity).system = %resource.value.ofType(Quantity).system and value.ofType(Quantity).code = %resource.value.ofType(Quantity).code)

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7, icr-stock-count-unit
... 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:suppliedItem S 1..1 CodeableConcept The product counted, coded as on the supply movements (ICRSuppliedItemVS)
URL: https://icr.healthcampaigns.org/StructureDefinition/supplied-item
Binding: ICR Supplied Item (extensible)
.... extension:basis S 0..* Reference(ICR Supply Movement) The ICRSupplyMovement records since the last count
URL: https://icr.healthcampaigns.org/StructureDefinition/stock-count-basis
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business Identifier for observation
... basedOn SΣ 0..* Reference(ICR Campaign) The campaign the count was made for
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!SΣ 1..1 code final
Binding: ObservationStatus (required): Codes providing the status of an observation.
... category 0..* CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
... code SΣ 1..1 CodeableConcept Fixed: stock-count
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: stock-count
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(ICR Location) The place counted: a facility, warehouse or staging post
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... encounter Σ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] SΣ 1..1 dateTime When the count was made
... issued Σ 0..1 instant Date/Time this version was made available
... performer SΣ 0..* Reference(Practitioner | PractitionerRole | Organization) Who counted
... value[x] SΣC 1..1 Quantity The physical count, in the product's base unit (system + code)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... value SΣ 1..1 decimal Numerical value (with implicit precision)
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
.... unit Σ 0..1 string Unit representation
.... system SΣC 1..1 uri System that defines coded unit form
.... code SΣ 1..1 code Coded form of the unit
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
... note S 0..* Annotation Comments on the count
... bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
... referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
.... 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
.... low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
.... high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
.... type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
.... appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
.... age 0..1 Range Applicable age range, if relevant
.... text 0..1 string Text based reference range in an observation
... hasMember Σ 0..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
... Slices for component SΣ 0..* BackboneElement Component results
Slice: Unordered, Open by pattern:code
.... component:All Slices Content/Rules for all slices
..... 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
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
..... value[x] Σ 0..1 Actual component result
...... valueQuantity Quantity
...... valueCodeableConcept CodeableConcept
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueRange Range
...... valueRatio Ratio
...... valueSampledData SampledData
...... valueTime time
...... valueDateTime dateTime
...... valuePeriod Period
..... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
..... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result
.... component:expected SΣ 0..1 BackboneElement The balance the stock record expects at the count, in the same unit as the count (icr-stock-count-unit)
..... 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
..... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: expected-stock-balance
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... value[x] Σ 1..1 Quantity Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
...... unit Σ 0..1 string Unit representation
...... system ΣC 0..1 uri System that defines coded unit form
...... code Σ 0..1 code Coded form of the unit
..... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
..... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
..... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

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 example LOINC Codes 📍4.0.1 FHIR Std.
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:expected.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component:expected.​value[x].comparator Base required QuantityComparator 📍4.0.1 FHIR Std.
Observation.component:expected.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component:expected.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
icr-stock-count-unit error Observation The expected stock balance is in the same unit as the count: component[expected].valueQuantity has the same system and code as valueQuantity. component.where(code.coding.where(system = 'https://icr.healthcampaigns.org/CodeSystem/icr-stock-observation-cs' and code = 'expected-stock-balance').exists()).all(value.ofType(Quantity).system = %resource.value.ofType(Quantity).system and value.ofType(Quantity).code = %resource.value.ofType(Quantity).code)

This structure is derived from Observation

Summary

Mandatory: 8 elements(2 nested mandatory elements)
Must-Support: 16 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.component

 

Other representations of profile: CSV, Excel, Schematron