Smart Health Checks
0.4.0 - ci-build

Smart Health Checks, published by AEHRC CSIRO. This guide is not an authorized publication; it is the continuous build for version 0.4.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/aehrc/smart-forms-ig/ and changes regularly. See the Directory of published versions

## Resource Profile: AU Core Head Circumference

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum | Version: 0.2.2-preview
Standards status: Draft | Maturity Level: 0 | Responsible: HL7 Australia | Computable Name: AUCoreHeadCircumference
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved. This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. The rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. This material contains content from LOINC (http://loinc.org). LOINC is copyright © 1995-2021, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc. All copies of this resource must include this copyright statement and all information contained in this statement.

This profile sets minimum expectations for an Observation resource to record, search, and fetch head circumference observations with standard coding and units of measure. It is based on the FHIR Head Circumference Profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the Observation resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

Usages:

- Derived from this Profile: Smart Health Checks Head Circumference

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | observation-headcircum | Head circumference Constraints: obs-6, obs-7, vs-2, au-core-obs-02
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) Fixed Value: final
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
coding | S Σ | 1..* | Coding | Code defined by a terminology system
system | S Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
code | S Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs
code | S Σ | 1..1 | CodeableConcept | Head Circumference Binding: VitalSigns (extensible): This identifies the vital sign result type.
Slices for coding | Σ | 2..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system
coding:HeadCircumCode | Σ | 1..1 | Coding | Code defined by a terminology system
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 9843-4
coding:snomedHeadCircumCode | Σ | 1..1 | Coding | SNOMED CT Head Circumference
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 363812007
subject | S Σ | 1..1 | Reference(AU Core Patient) | Who and/or what the observation is about
encounter | S Σ | 0..1 | Reference(AU Core Encounter) | Healthcare event during which this observation is made
effective[x] | S Σ C | 1..1 | dateTime | Date, and optionally time, the observation was performed Constraints: vs-1, au-core-obs-01
performer | S Σ | 0..* | Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | AU Core Patient | AU Core RelatedPerson) | Who is responsible for the observation
Slices for value[x] | S Σ C | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this
value[x]:valueQuantity | S Σ C | 0..1 | Quantity | Head circumference
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 | S Σ | 1..1 | string | Unit representation
system | S Σ C | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | S Σ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. Binding: Metric Body Length Units (required)
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: Body Site (preferred) Constraints: au-core-obs-04
component | S Σ C | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. Constraints: vs-3
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible): This identifies the vital sign result type.
value[x] | S Σ C | 0..1 |  | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs.
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.category:VSCat | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.code | Base | extensible | Vital Signs | 📦4.0.1 | FHIR Std.
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.value[x]:valueQuantity.​code | Base | required | Metric Body Length Units | ⏿1.0.0 | tx.hl7.org.au
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📦4.0.1 | FHIR Std.
Observation.bodySite | Base | preferred | Body Site | ⏿1.0.2 | tx.hl7.org.au
Observation.component.​code | Base | extensible | Vital Signs | 📦4.0.1 | FHIR Std.
Observation.component.​value[x] | Base | required | Vital Signs Units | 📍4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-obs-01 | error | Observation.effective[x] | Date shall be at least to day | `$this is DateTime implies $this.toString().length() >= 10`
au-core-obs-02 | error | Observation | At least value or data absent reason shall be present | `dataAbsentReason.exists() or value.exists()`
au-core-obs-04 | error | Observation.bodySite | If a coded body site is provided, at least one code shall be from SNOMED CT | `coding.exists() implies coding.where(system='http://snomed.info/sct').exists()`
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()`
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day | `$this is dateTime implies $this.toString().length() >= 10`
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. | `(component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists())`
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present | `value.exists() or dataAbsentReason.exists()`

This structure is derived from observation-headcircum

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C |  | observation-headcircum | Head circumference Constraints: au-core-obs-02
status |  |  |  | Fixed Value: final
code |  |  |  |
coding |  | 2.. |  |
Slices for coding |  |  |  | Content/Rules for all slices
coding:snomedHeadCircumCode |  | 1..1 |  | SNOMED CT Head Circumference
system |  | 1.. |  | Fixed Value: http://snomed.info/sct
code |  | 1.. |  | Fixed Value: 363812007
subject |  |  | Reference(AU Core Patient) |
encounter | S |  | Reference(AU Core Encounter) |
effective[x] | C |  | dateTime | Date, and optionally time, the observation was performed Constraints: au-core-obs-01
performer | S |  | Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | AU Core Patient | AU Core RelatedPerson) |
Slices for value[x] |  |  |  | Content/Rules for all slices
value[x]:valueQuantity | C |  |  | Head circumference
code |  |  |  | Binding: Metric Body Length Units (required)
dataAbsentReason | S C |  |  |
bodySite | C |  |  | Binding: Body Site (preferred) Constraints: au-core-obs-04
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.value[x]:valueQuantity.​code | Base | required | Metric Body Length Units | ⏿1.0.0 | tx.hl7.org.au
Observation.bodySite | Base | preferred | Body Site | ⏿1.0.2 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-obs-01 | error | Observation.effective[x] | Date shall be at least to day | `$this is DateTime implies $this.toString().length() >= 10`
au-core-obs-02 | error | Observation | At least value or data absent reason shall be present | `dataAbsentReason.exists() or value.exists()`
au-core-obs-04 | error | Observation.bodySite | If a coded body site is provided, at least one code shall be from SNOMED CT | `coding.exists() implies coding.where(system='http://snomed.info/sct').exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | observation-headcircum | Head circumference Constraints: obs-6, obs-7, vs-2, au-core-obs-02
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 Bindings | Purpose
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
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) Fixed Value: final
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | S Σ | 1..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
version | Σ | 0..1 | string | Version of the system - if relevant
code | S Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs
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
code | S Σ | 1..1 | CodeableConcept | Head Circumference Binding: VitalSigns (extensible): This identifies the vital sign result type.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 2..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system
coding:HeadCircumCode | Σ | 1..1 | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 9843-4
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:snomedHeadCircumCode | Σ | 1..1 | Coding | SNOMED CT Head Circumference
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 363812007
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(AU Core Patient) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record
encounter | S Σ | 0..1 | Reference(AU Core Encounter) | Healthcare event during which this observation is made
effective[x] | S Σ C | 1..1 | dateTime | Date, and optionally time, the observation was performed Constraints: vs-1, au-core-obs-01
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | S Σ | 0..* | Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | AU Core Patient | AU Core RelatedPerson) | Who is responsible for the observation
Slices for value[x] | S Σ C | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this
value[x]:valueQuantity | S Σ C | 0..1 | Quantity | Head circumference
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 | S Σ | 1..1 | string | Unit representation
system | S Σ C | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | S Σ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. Binding: Metric Body Length Units (required)
dataAbsentReason | S 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 |  | 0..* | Annotation | Comments about the observation
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: Body Site (preferred) Constraints: au-core-obs-04
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 | Low Range, if relevant
high | C | 0..1 | SimpleQuantity | 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(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from
component | S Σ C | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. Constraints: vs-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
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible): This identifies the vital sign result type.
value[x] | S Σ C | 0..1 |  | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs.
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | S 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
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.category:VSCat | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.code | Base | extensible | Vital Signs | 📦4.0.1 | FHIR Std.
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.value[x]:valueQuantity.​code | Base | required | Metric Body Length Units | ⏿1.0.0 | tx.hl7.org.au
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 | preferred | Body Site | ⏿1.0.2 | tx.hl7.org.au
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 | extensible | Vital Signs | 📦4.0.1 | FHIR Std.
Observation.component.​value[x] | Base | required | Vital Signs Units | 📍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
au-core-obs-01 | error | Observation.effective[x] | Date shall be at least to day | `$this is DateTime implies $this.toString().length() >= 10`
au-core-obs-02 | error | Observation | At least value or data absent reason shall be present | `dataAbsentReason.exists() or value.exists()`
au-core-obs-04 | error | Observation.bodySite | If a coded body site is provided, at least one code shall be from SNOMED CT | `coding.exists() implies coding.where(system='http://snomed.info/sct').exists()`
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-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.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()`
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day | `$this is dateTime implies $this.toString().length() >= 10`
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. | `(component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists())`
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present | `value.exists() or dataAbsentReason.exists()`

This structure is derived from observation-headcircum

Summary

Mandatory: 0 element(3 nested mandatory elements)
Must-Support: 3 elements
Fixed: 3 elements

Structures

This structure refers to these other structures:

- AU Core Patient (http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient)
- AU Core Encounter (http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter)
- AU Core Practitioner (http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner)
- AU Core PractitionerRole (http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitionerrole)
- AU Core Organization (http://hl7.org.au/fhir/core/StructureDefinition/au-core-organization)
- AU Core RelatedPerson (http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson)

Maturity: 0

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | observation-headcircum | Head circumference Constraints: obs-6, obs-7, vs-2, au-core-obs-02
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) Fixed Value: final
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
coding | S Σ | 1..* | Coding | Code defined by a terminology system
system | S Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
code | S Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs
code | S Σ | 1..1 | CodeableConcept | Head Circumference Binding: VitalSigns (extensible): This identifies the vital sign result type.
Slices for coding | Σ | 2..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system
coding:HeadCircumCode | Σ | 1..1 | Coding | Code defined by a terminology system
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 9843-4
coding:snomedHeadCircumCode | Σ | 1..1 | Coding | SNOMED CT Head Circumference
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 363812007
subject | S Σ | 1..1 | Reference(AU Core Patient) | Who and/or what the observation is about
encounter | S Σ | 0..1 | Reference(AU Core Encounter) | Healthcare event during which this observation is made
effective[x] | S Σ C | 1..1 | dateTime | Date, and optionally time, the observation was performed Constraints: vs-1, au-core-obs-01
performer | S Σ | 0..* | Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | AU Core Patient | AU Core RelatedPerson) | Who is responsible for the observation
Slices for value[x] | S Σ C | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this
value[x]:valueQuantity | S Σ C | 0..1 | Quantity | Head circumference
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 | S Σ | 1..1 | string | Unit representation
system | S Σ C | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | S Σ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. Binding: Metric Body Length Units (required)
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: Body Site (preferred) Constraints: au-core-obs-04
component | S Σ C | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. Constraints: vs-3
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible): This identifies the vital sign result type.
value[x] | S Σ C | 0..1 |  | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs.
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | S C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Observation.status | Base | required | ObservationStatus | 📍4.0.1 | FHIR Std.
Observation.category | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.category:VSCat | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.code | Base | extensible | Vital Signs | 📦4.0.1 | FHIR Std.
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.value[x]:valueQuantity.​code | Base | required | Metric Body Length Units | ⏿1.0.0 | tx.hl7.org.au
Observation.dataAbsentReason | Base | extensible | DataAbsentReason | 📦4.0.1 | FHIR Std.
Observation.bodySite | Base | preferred | Body Site | ⏿1.0.2 | tx.hl7.org.au
Observation.component.​code | Base | extensible | Vital Signs | 📦4.0.1 | FHIR Std.
Observation.component.​value[x] | Base | required | Vital Signs Units | 📍4.0.1 | FHIR Std.
Observation.component.​dataAbsentReason | Base | extensible | DataAbsentReason | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-obs-01 | error | Observation.effective[x] | Date shall be at least to day | `$this is DateTime implies $this.toString().length() >= 10`
au-core-obs-02 | error | Observation | At least value or data absent reason shall be present | `dataAbsentReason.exists() or value.exists()`
au-core-obs-04 | error | Observation.bodySite | If a coded body site is provided, at least one code shall be from SNOMED CT | `coding.exists() implies coding.where(system='http://snomed.info/sct').exists()`
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()`
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day | `$this is dateTime implies $this.toString().length() >= 10`
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. | `(component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists())`
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present | `value.exists() or dataAbsentReason.exists()`

Differential View

This structure is derived from observation-headcircum

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C |  | observation-headcircum | Head circumference Constraints: au-core-obs-02
status |  |  |  | Fixed Value: final
code |  |  |  |
coding |  | 2.. |  |
Slices for coding |  |  |  | Content/Rules for all slices
coding:snomedHeadCircumCode |  | 1..1 |  | SNOMED CT Head Circumference
system |  | 1.. |  | Fixed Value: http://snomed.info/sct
code |  | 1.. |  | Fixed Value: 363812007
subject |  |  | Reference(AU Core Patient) |
encounter | S |  | Reference(AU Core Encounter) |
effective[x] | C |  | dateTime | Date, and optionally time, the observation was performed Constraints: au-core-obs-01
performer | S |  | Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | AU Core Patient | AU Core RelatedPerson) |
Slices for value[x] |  |  |  | Content/Rules for all slices
value[x]:valueQuantity | C |  |  | Head circumference
code |  |  |  | Binding: Metric Body Length Units (required)
dataAbsentReason | S C |  |  |
bodySite | C |  |  | Binding: Body Site (preferred) Constraints: au-core-obs-04
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Observation.value[x]:valueQuantity.​code | Base | required | Metric Body Length Units | ⏿1.0.0 | tx.hl7.org.au
Observation.bodySite | Base | preferred | Body Site | ⏿1.0.2 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-obs-01 | error | Observation.effective[x] | Date shall be at least to day | `$this is DateTime implies $this.toString().length() >= 10`
au-core-obs-02 | error | Observation | At least value or data absent reason shall be present | `dataAbsentReason.exists() or value.exists()`
au-core-obs-04 | error | Observation.bodySite | If a coded body site is provided, at least one code shall be from SNOMED CT | `coding.exists() implies coding.where(system='http://snomed.info/sct').exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Observation | C | 0..* | observation-headcircum | Head circumference Constraints: obs-6, obs-7, vs-2, au-core-obs-02
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 Bindings | Purpose
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
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business Identifier for observation
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event
status | ?!S Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) Fixed Value: final
Slices for category | S | 1..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | S Σ | 1..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
version | Σ | 0..1 | string | Version of the system - if relevant
code | S Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs
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
code | S Σ | 1..1 | CodeableConcept | Head Circumference Binding: VitalSigns (extensible): This identifies the vital sign result type.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 2..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system
coding:HeadCircumCode | Σ | 1..1 | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 9843-4
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:snomedHeadCircumCode | Σ | 1..1 | Coding | SNOMED CT Head Circumference
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 363812007
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(AU Core Patient) | Who and/or what the observation is about
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record
encounter | S Σ | 0..1 | Reference(AU Core Encounter) | Healthcare event during which this observation is made
effective[x] | S Σ C | 1..1 | dateTime | Date, and optionally time, the observation was performed Constraints: vs-1, au-core-obs-01
issued | Σ | 0..1 | instant | Date/Time this version was made available
performer | S Σ | 0..* | Reference(AU Core Practitioner | AU Core PractitionerRole | AU Core Organization | AU Core Patient | AU Core RelatedPerson) | Who is responsible for the observation
Slices for value[x] | S Σ C | 0..1 | Quantity | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this
value[x]:valueQuantity | S Σ C | 0..1 | Quantity | Head circumference
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 | S Σ | 1..1 | string | Unit representation
system | S Σ C | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org
code | S Σ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. Binding: Metric Body Length Units (required)
dataAbsentReason | S 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 |  | 0..* | Annotation | Comments about the observation
bodySite | C | 0..1 | CodeableConcept | Observed body part Binding: Body Site (preferred) Constraints: au-core-obs-04
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 | Low Range, if relevant
high | C | 0..1 | SimpleQuantity | 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(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from
component | S Σ C | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. Constraints: vs-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
code | S Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible): This identifies the vital sign result type.
value[x] | S Σ C | 0..1 |  | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs.
valueQuantity |  |  | Quantity |
valueCodeableConcept |  |  | CodeableConcept |
valueString |  |  | string |
valueBoolean |  |  | boolean |
valueInteger |  |  | integer |
valueRange |  |  | Range |
valueRatio |  |  | Ratio |
valueSampledData |  |  | SampledData |
valueTime |  |  | time |
valueDateTime |  |  | dateTime |
valuePeriod |  |  | Period |
dataAbsentReason | S 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
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.category:VSCat | Base | preferred | Observation Category Codes | 📦4.0.1 | FHIR Std.
Observation.code | Base | extensible | Vital Signs | 📦4.0.1 | FHIR Std.
Observation.value[x]:valueQuantity.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
Observation.value[x]:valueQuantity.​code | Base | required | Metric Body Length Units | ⏿1.0.0 | tx.hl7.org.au
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 | preferred | Body Site | ⏿1.0.2 | tx.hl7.org.au
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 | extensible | Vital Signs | 📦4.0.1 | FHIR Std.
Observation.component.​value[x] | Base | required | Vital Signs Units | 📍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
au-core-obs-01 | error | Observation.effective[x] | Date shall be at least to day | `$this is DateTime implies $this.toString().length() >= 10`
au-core-obs-02 | error | Observation | At least value or data absent reason shall be present | `dataAbsentReason.exists() or value.exists()`
au-core-obs-04 | error | Observation.bodySite | If a coded body site is provided, at least one code shall be from SNOMED CT | `coding.exists() implies coding.where(system='http://snomed.info/sct').exists()`
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-3 | error | Observation.referenceRange | Must have at least a low or a high or text | `low.exists() or high.exists() or text.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()`
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day | `$this is dateTime implies $this.toString().length() >= 10`
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. | `(component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists())`
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present | `value.exists() or dataAbsentReason.exists()`

This structure is derived from observation-headcircum

Summary

Mandatory: 0 element(3 nested mandatory elements)
Must-Support: 3 elements
Fixed: 3 elements

Structures

This structure refers to these other structures:

- AU Core Patient (http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient)
- AU Core Encounter (http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter)
- AU Core Practitioner (http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner)
- AU Core PractitionerRole (http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitionerrole)
- AU Core Organization (http://hl7.org.au/fhir/core/StructureDefinition/au-core-organization)
- AU Core RelatedPerson (http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson)

Maturity: 0

Other representations of profile: CSV, Excel, Schematron