New Zealand ICP Implementation Guide
1.1.0 - draft

New Zealand ICP Implementation Guide, published by Accident Compensation Corporation. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/acc-fhir-publisher/icp/ and changes regularly. See the Directory of published versions

Resource Profile: ACC Integrated Care Pathway Site-Specific PROM

Official URL: http://hl7.org.nz/fhir/StructureDefinition/acc-icp-measurement-prom Version: 1.1.0
Active as of 2022-11-20 Computable Name: IcpMeasurementPROM

Copyright/Legal: ACC New Zealand© 2023+; Licensed Under Creative Commons No Rights Reserved.
QuickDASH © Institute for Work & Health 2006-2020. All Rights Reserved.
Oswestry Disability Index ODI © Jeremy Fairbank, 1980. All Rights Reserved.
KOOS © Ewa Maria Roos, 1998. All Rights Reserved.

This resource profile supports suppliers providing a site-specific patient reported outcome measure (PROM) to ACC.

These PROMS must be submitted through the PROM and Clinical measures API via the supplier’s PMS at these time-points:

  • Baseline (at entry to the pathway following triage assessment)
  • Mid-point
  • Exit
  • Ad-hoc measures may be taken at any time (for example, at the beginning of using exceptional funding if this has been required).
Body site Measurement standard Measurement
Shoulder QuickDASH © Institute for Work & Health 2006-2020 QuickDASH values range from 0 to 100
Lower back Oswestry Disability Index ODI © Jeremy Fairbank, 1980. All Rights Reserved. Oswestry values 0 to 100
Knee Knee Injury and Osteoarthritis Outcome Score (KOOS) © Ewa Maria Roos, 1998 KOOS values 0 to 100

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.

This structure is derived from IcpMeasurement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* IcpMeasurement Measurements and simple assertions
Constraints: require-data-absent-or-value-integer-invariant
... code 1..1 CodeableConcept Type of observation (code / type)
Binding: prom-msk-measurement-standard (required)
... Slices for value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual result
Slice: Unordered, Open by type:$this
.... value[x]:valueInteger C 0..1 integer The PROM assessment score.
Constraints: prom-quantity-invariant
... derivedFrom 0..0 Related measurements the observation is made from

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.code Base required prom-msk-measurement-standard 📦1.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
prom-quantity-invariant error Observation.value[x]:valueInteger The value must be between 0 and 100. $this.value.toString().matches('^(?:0*|[1-9][0-9]?|100)$')
require-data-absent-or-value-integer-invariant error Observation Either DataAbsentReason or ValueInteger must exist. exists(dataAbsentReason) or exists(valueInteger)
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* IcpMeasurement Measurements and simple assertions
Constraints: obs-6, obs-7, require-data-absent-or-value-integer-invariant
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for contained 1..* Resource Contained, inline Resources
Slice: Unordered, Open by profile:$this
.... contained:patient 1..1 IcpPatient Patient's date of birth.
... Slices for extension 2..3 Extension Extension
Slice: Unordered, Open by value:url
.... extension:acc-providerid 1..1 string The ACC provider ID associated with the ICP case
URL: http://hl7.org.nz/fhir/StructureDefinition/acc-providerid
.... extension:stage 1..1 code The stage of the ICP case Observation.
URL: http://hl7.org.nz/fhir/StructureDefinition/acc-icp-recorded-outcome-stage
Binding: ICP Recorded Outcome Stage (required)
... Slices for identifier Σ 1..1 Identifier Business Identifier for observation
Slice: Unordered, Closed by value:system
.... identifier:icpclaimnumber Σ 1..1 Identifier The ACC 45 number to be used in combination with the contained patient's date of birth, as the ICP case idenfitier.
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/acc-45-number
..... value ΣC 1..1 string The ACC 45 number.
Constraints: acc-claim-number
Example General: 123456
... status ?!Σ 1..1 code final
Binding: Observation Status (required)
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: prom-msk-measurement-standard (required)
... subject Σ 1..1 Reference(ACC ICP Patient) This is the patient that the ICP case is associated with.
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime ΣC 1..1 dateTime The date and time that the ICP case Observation was created. This must be in UTC yyyy-MM-dd'T'HH:mm:ss'Z'.
Constraints: dateTime-not-in-future-invariant
... performer Σ 1..1 Reference(Organization) This is the ACC Vendor ID, in most cases this is the organisation's HPI ID.
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Open by type:$this
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
.... value[x]:valueInteger ΣC 0..1 integer The PROM assessment score.
Constraints: prom-quantity-invariant

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.identifier:icpclaimnumber.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Observation.status Base required Observation Status 📦1.1.0 This IG
Observation.code Base required prom-msk-measurement-standard 📦1.1.0 This IG
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
acc-claim-number error Observation.identifier:icpclaimnumber.value The claim number format is invalid; it must be in the form A999999, AA99999, 9999AAA or 99999AA, where A is any capital letter, 9 is any single digit, and there are 7 characters altogether. $this.toString().matches('^[A-Z][0-9]{6}$|^[A-Z]{2}[0-9]{5}$|^[0-9]{4}[A-Z]{3}$|^[0-9]{5}[A-Z]{2}$')
dateTime-not-in-future-invariant error Observation.effective[x]:effectiveDateTime The date value cannot be in the future $this <= now()
dom-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
prom-quantity-invariant error Observation.value[x]:valueInteger The value must be between 0 and 100. $this.value.toString().matches('^(?:0*|[1-9][0-9]?|100)$')
require-data-absent-or-value-integer-invariant error Observation Either DataAbsentReason or ValueInteger must exist. exists(dataAbsentReason) or exists(valueInteger)
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* IcpMeasurement Measurements and simple assertions
Constraints: obs-6, obs-7, require-data-absent-or-value-integer-invariant
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... Slices for contained 1..* Resource Contained, inline Resources
Slice: Unordered, Open by profile:$this
.... contained:patient 1..1 IcpPatient Patient's date of birth.
... Slices for extension 2..3 Extension Extension
Slice: Unordered, Open by value:url
.... extension:acc-providerid 1..1 string The ACC provider ID associated with the ICP case
URL: http://hl7.org.nz/fhir/StructureDefinition/acc-providerid
.... extension:stage 1..1 code The stage of the ICP case Observation.
URL: http://hl7.org.nz/fhir/StructureDefinition/acc-icp-recorded-outcome-stage
Binding: ICP Recorded Outcome Stage (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 1..1 Identifier Business Identifier for observation
Slice: Unordered, Closed by value:system
.... identifier:icpclaimnumber Σ 1..1 Identifier The ACC 45 number to be used in combination with the contained patient's date of birth, as the ICP case idenfitier.
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/acc-45-number
..... value ΣC 1..1 string The ACC 45 number.
Constraints: acc-claim-number
Example General: 123456
... status ?!Σ 1..1 code final
Binding: Observation Status (required)
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: prom-msk-measurement-standard (required)
... subject Σ 1..1 Reference(ACC ICP Patient) This is the patient that the ICP case is associated with.
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime ΣC 1..1 dateTime The date and time that the ICP case Observation was created. This must be in UTC yyyy-MM-dd'T'HH:mm:ss'Z'.
Constraints: dateTime-not-in-future-invariant
... performer Σ 1..1 Reference(Organization) This is the ACC Vendor ID, in most cases this is the organisation's HPI ID.
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Open by type:$this
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
.... value[x]:valueInteger ΣC 0..1 integer The PROM assessment score.
Constraints: prom-quantity-invariant
... dataAbsentReason C 0..1 CodeableConcept The reason why the ICP case Observation value is not present.
Binding: data-absent-reason (required)

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.identifier:icpclaimnumber.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Observation.identifier:icpclaimnumber.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Observation.status Base required Observation Status 📦1.1.0 This IG
Observation.code Base required prom-msk-measurement-standard 📦1.1.0 This IG
Observation.dataAbsentReason Base required data-absent-reason 📦1.1.0 This IG
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.

Constraints

Id Grade Path(s) Description Expression
acc-claim-number error Observation.identifier:icpclaimnumber.value The claim number format is invalid; it must be in the form A999999, AA99999, 9999AAA or 99999AA, where A is any capital letter, 9 is any single digit, and there are 7 characters altogether. $this.toString().matches('^[A-Z][0-9]{6}$|^[A-Z]{2}[0-9]{5}$|^[0-9]{4}[A-Z]{3}$|^[0-9]{5}[A-Z]{2}$')
dateTime-not-in-future-invariant error Observation.effective[x]:effectiveDateTime The date value cannot be in the future $this <= now()
dom-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
prom-quantity-invariant error Observation.value[x]:valueInteger The value must be between 0 and 100. $this.value.toString().matches('^(?:0*|[1-9][0-9]?|100)$')
require-data-absent-or-value-integer-invariant error Observation Either DataAbsentReason or ValueInteger must exist. exists(dataAbsentReason) or exists(valueInteger)

This structure is derived from IcpMeasurement

Summary

Prohibited: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.value[x]

Differential View

This structure is derived from IcpMeasurement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* IcpMeasurement Measurements and simple assertions
Constraints: require-data-absent-or-value-integer-invariant
... code 1..1 CodeableConcept Type of observation (code / type)
Binding: prom-msk-measurement-standard (required)
... Slices for value[x] 0..1 Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period Actual result
Slice: Unordered, Open by type:$this
.... value[x]:valueInteger C 0..1 integer The PROM assessment score.
Constraints: prom-quantity-invariant
... derivedFrom 0..0 Related measurements the observation is made from

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.code Base required prom-msk-measurement-standard 📦1.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
prom-quantity-invariant error Observation.value[x]:valueInteger The value must be between 0 and 100. $this.value.toString().matches('^(?:0*|[1-9][0-9]?|100)$')
require-data-absent-or-value-integer-invariant error Observation Either DataAbsentReason or ValueInteger must exist. exists(dataAbsentReason) or exists(valueInteger)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* IcpMeasurement Measurements and simple assertions
Constraints: obs-6, obs-7, require-data-absent-or-value-integer-invariant
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for contained 1..* Resource Contained, inline Resources
Slice: Unordered, Open by profile:$this
.... contained:patient 1..1 IcpPatient Patient's date of birth.
... Slices for extension 2..3 Extension Extension
Slice: Unordered, Open by value:url
.... extension:acc-providerid 1..1 string The ACC provider ID associated with the ICP case
URL: http://hl7.org.nz/fhir/StructureDefinition/acc-providerid
.... extension:stage 1..1 code The stage of the ICP case Observation.
URL: http://hl7.org.nz/fhir/StructureDefinition/acc-icp-recorded-outcome-stage
Binding: ICP Recorded Outcome Stage (required)
... Slices for identifier Σ 1..1 Identifier Business Identifier for observation
Slice: Unordered, Closed by value:system
.... identifier:icpclaimnumber Σ 1..1 Identifier The ACC 45 number to be used in combination with the contained patient's date of birth, as the ICP case idenfitier.
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/acc-45-number
..... value ΣC 1..1 string The ACC 45 number.
Constraints: acc-claim-number
Example General: 123456
... status ?!Σ 1..1 code final
Binding: Observation Status (required)
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: prom-msk-measurement-standard (required)
... subject Σ 1..1 Reference(ACC ICP Patient) This is the patient that the ICP case is associated with.
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime ΣC 1..1 dateTime The date and time that the ICP case Observation was created. This must be in UTC yyyy-MM-dd'T'HH:mm:ss'Z'.
Constraints: dateTime-not-in-future-invariant
... performer Σ 1..1 Reference(Organization) This is the ACC Vendor ID, in most cases this is the organisation's HPI ID.
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Open by type:$this
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
.... value[x]:valueInteger ΣC 0..1 integer The PROM assessment score.
Constraints: prom-quantity-invariant

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.identifier:icpclaimnumber.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Observation.status Base required Observation Status 📦1.1.0 This IG
Observation.code Base required prom-msk-measurement-standard 📦1.1.0 This IG
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
acc-claim-number error Observation.identifier:icpclaimnumber.value The claim number format is invalid; it must be in the form A999999, AA99999, 9999AAA or 99999AA, where A is any capital letter, 9 is any single digit, and there are 7 characters altogether. $this.toString().matches('^[A-Z][0-9]{6}$|^[A-Z]{2}[0-9]{5}$|^[0-9]{4}[A-Z]{3}$|^[0-9]{5}[A-Z]{2}$')
dateTime-not-in-future-invariant error Observation.effective[x]:effectiveDateTime The date value cannot be in the future $this <= now()
dom-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
prom-quantity-invariant error Observation.value[x]:valueInteger The value must be between 0 and 100. $this.value.toString().matches('^(?:0*|[1-9][0-9]?|100)$')
require-data-absent-or-value-integer-invariant error Observation Either DataAbsentReason or ValueInteger must exist. exists(dataAbsentReason) or exists(valueInteger)

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* IcpMeasurement Measurements and simple assertions
Constraints: obs-6, obs-7, require-data-absent-or-value-integer-invariant
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... Slices for contained 1..* Resource Contained, inline Resources
Slice: Unordered, Open by profile:$this
.... contained:patient 1..1 IcpPatient Patient's date of birth.
... Slices for extension 2..3 Extension Extension
Slice: Unordered, Open by value:url
.... extension:acc-providerid 1..1 string The ACC provider ID associated with the ICP case
URL: http://hl7.org.nz/fhir/StructureDefinition/acc-providerid
.... extension:stage 1..1 code The stage of the ICP case Observation.
URL: http://hl7.org.nz/fhir/StructureDefinition/acc-icp-recorded-outcome-stage
Binding: ICP Recorded Outcome Stage (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 1..1 Identifier Business Identifier for observation
Slice: Unordered, Closed by value:system
.... identifier:icpclaimnumber Σ 1..1 Identifier The ACC 45 number to be used in combination with the contained patient's date of birth, as the ICP case idenfitier.
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/acc-45-number
..... value ΣC 1..1 string The ACC 45 number.
Constraints: acc-claim-number
Example General: 123456
... status ?!Σ 1..1 code final
Binding: Observation Status (required)
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: prom-msk-measurement-standard (required)
... subject Σ 1..1 Reference(ACC ICP Patient) This is the patient that the ICP case is associated with.
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime ΣC 1..1 dateTime The date and time that the ICP case Observation was created. This must be in UTC yyyy-MM-dd'T'HH:mm:ss'Z'.
Constraints: dateTime-not-in-future-invariant
... performer Σ 1..1 Reference(Organization) This is the ACC Vendor ID, in most cases this is the organisation's HPI ID.
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Open by type:$this
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
.... valueBoolean boolean
.... valueInteger integer
.... valueRange Range
.... valueRatio Ratio
.... valueSampledData SampledData
.... valueTime time
.... valueDateTime dateTime
.... valuePeriod Period
.... value[x]:valueInteger ΣC 0..1 integer The PROM assessment score.
Constraints: prom-quantity-invariant
... dataAbsentReason C 0..1 CodeableConcept The reason why the ICP case Observation value is not present.
Binding: data-absent-reason (required)

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.identifier:icpclaimnumber.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Observation.identifier:icpclaimnumber.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Observation.status Base required Observation Status 📦1.1.0 This IG
Observation.code Base required prom-msk-measurement-standard 📦1.1.0 This IG
Observation.dataAbsentReason Base required data-absent-reason 📦1.1.0 This IG
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.

Constraints

Id Grade Path(s) Description Expression
acc-claim-number error Observation.identifier:icpclaimnumber.value The claim number format is invalid; it must be in the form A999999, AA99999, 9999AAA or 99999AA, where A is any capital letter, 9 is any single digit, and there are 7 characters altogether. $this.toString().matches('^[A-Z][0-9]{6}$|^[A-Z]{2}[0-9]{5}$|^[0-9]{4}[A-Z]{3}$|^[0-9]{5}[A-Z]{2}$')
dateTime-not-in-future-invariant error Observation.effective[x]:effectiveDateTime The date value cannot be in the future $this <= now()
dom-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
prom-quantity-invariant error Observation.value[x]:valueInteger The value must be between 0 and 100. $this.value.toString().matches('^(?:0*|[1-9][0-9]?|100)$')
require-data-absent-or-value-integer-invariant error Observation Either DataAbsentReason or ValueInteger must exist. exists(dataAbsentReason) or exists(valueInteger)

This structure is derived from IcpMeasurement

Summary

Prohibited: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.value[x]

 

Other representations of profile: CSV, Excel, Schematron