DIPS Core Implementation Guide
0.1.0 - ci-build Norway

DIPS Core 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: DIPS Vital Signs Observation - Body Height

Official URL: http://dips.no/fhir/StructureDefinition/DIPSVitalSignsObservationBodyHeight Version: 0.1.0
Draft as of 2026-09-29 Computable Name: DIPSVitalSignsObservationBodyHeight

DIPS profile for Body Height including some extensions

The DIPS Body Height Profile inherits from the FHIR Observation resource; refer to it for scope and usage definitions

Example Usage Scenarios:

The following are example usage scenarios for this profile:

Query the recorded Body Height observation(s) belonging to one clinical document (journal entry)

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..* NoDomainVitalSignsObservationBodyHeight FHIR Body Height Profile
Constraints: obs-6, obs-7, vs-2
... Slices for extension Content/Rules for all slices
.... extension:bodyPosition 0..1 Coding Position of individual when measured.
URL: http://hl7.no/fhir/no-domain/vitalsigns/StructureDefinition/NoDomainVitalSignsBodyHeightBodyPositionExtension
Binding: NoDomainVitalSignsBodyHeightBodyPosition-ValueSet (required)
.... extension:confoundingFactor 0..1 CodeableConcept Extension
URL: http://hl7.no/fhir/no-domain/vitalsigns/StructureDefinition/NoDomainVitalSignsConfoundingFactorExtension
.... extension:DIPSJournalId 0..* Reference() Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSJournalId
.... extension:DIPSLocation 0..1 Coding Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSLocation
Binding: DIPSLocation (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:RelativeEhrUri Σ 0..1 Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-RelativeEhrUri
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:Id Σ 0..1 Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-ObservationId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:VersionIdependentId Σ 0..1 Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-VersionIndependentId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:ExternalId Σ 0..1 Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/externalId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:ExternalFhirId Σ 0..* Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/external-fhirid
..... value Σ 1..1 string The value that is unique
Example General: 123456
... 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 Body Height
Binding: VitalSigns (extensible): This identifies the vital sign result type.
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code, value:system
..... coding:BodyHeightCode Σ 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: 8302-2
..... coding:BodyHeightSnomedCode Σ 0..1 Coding body Height Snomed Code
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... code Σ 1..1 code Symbol in syntax defined by the system
Required Pattern: 1153637007
... subject SΣ 1..1 Reference(DIPSVitalSignsObservationSubjectReference) Who and/or what the observation is about
... encounter Σ 0..1 Reference(DIPSVitalSignsObservationEncounterReference) Healthcare event during which this observation is made
... effective[x] SΣC 1..1 dateTime Often just a dateTime for Vital Signs
Constraints: vs-1
... Slices for performer Σ 1..* Reference(PractitionerRole | Organization) Who is responsible for the observation
Slice: Unordered, Open by type:type
.... performer:Author Σ 0..* Reference(DIPSVitalSignsPerformerAuthorReference) Who is responsible for the observation
.... performer:organization Σ 0..* Reference(DIPSVitalSignsObservationOrganizationReference) Who is responsible for the observation
... Slices for value[x] SΣC 1..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 Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
..... 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: BodyLengthUnits (required): Common UCUM units for body length measures such as Body Height and Head Circumference.
... note 0..1 Annotation Comments about the observation
.... text Σ 1..1 markdown The annotation - text content (as markdown)
... referenceRange C 0..1 BackboneElement Provides guide for interpretation
Constraints: obs-3
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized

doco 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 Body Length Units 📍4.0.1 FHIR Std.
Observation.component.​code Base extensible Vital Signs 📍4.0.1 FHIR Std.
Observation.component.​value[x] Base extensible 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
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())

This structure is derived from NoDomainVitalSignsObservationBodyHeight

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* NoDomainVitalSignsObservationBodyHeight FHIR Body Height Profile
... implicitRules 0..0 A set of rules under which this content was created
... language 0..0 Language of the resource content
... contained 0..0 Contained, inline Resources
... Slices for extension Content/Rules for all slices
.... extension:DIPSJournalId 0..* Reference() Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSJournalId
.... extension:DIPSLocation 0..1 Coding Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSLocation
Binding: DIPSLocation (required)
... Slices for identifier 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:RelativeEhrUri 0..1 Identifier Business Identifier for observation
..... id 0..0 Unique id for inter-element referencing
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-RelativeEhrUri
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
.... identifier:Id 0..1 Identifier Business Identifier for observation
..... id 0..0 Unique id for inter-element referencing
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-ObservationId
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
.... identifier:VersionIdependentId 0..1 Identifier Business Identifier for observation
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-VersionIndependentId
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
.... identifier:ExternalId 0..1 Identifier Business Identifier for observation
..... id 0..0 Unique id for inter-element referencing
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/externalId
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
.... identifier:ExternalFhirId 0..* Identifier Business Identifier for observation
..... id 0..0 Unique id for inter-element referencing
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/external-fhirid
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
... basedOn 0..0 Fulfills plan, proposal or order
... partOf 0..0 Part of referenced event
... Slices for category Content/Rules for all slices
.... category:VSCat 1..1 CodeableConcept Classification of type of observation
..... id 0..0 Unique id for inter-element referencing
..... coding
...... id 0..0 Unique id for inter-element referencing
...... version 0..0 Version of the system - if relevant
...... userSelected 0..0 If this coding was chosen directly by the user
..... text 0..0 Plain text representation of the concept
... code
.... id 0..0 Unique id for inter-element referencing
.... Slices for coding Content/Rules for all slices
..... coding:BodyHeightCode 1..1 Coding Code defined by a terminology system
...... id 0..0 Unique id for inter-element referencing
...... version 0..0 Version of the system - if relevant
...... userSelected 0..0 If this coding was chosen directly by the user
.... text 0..0 Plain text representation of the concept
... subject 1..1 Reference(DIPSVitalSignsObservationSubjectReference) Who and/or what the observation is about
... focus 0..0 What the observation is about, when it is not about the subject of record
... encounter 0..1 Reference(DIPSVitalSignsObservationEncounterReference) Healthcare event during which this observation is made
... effective[x] 1..1 dateTime Often just a dateTime for Vital Signs
... issued 0..0 Date/Time this version was made available
... performer 1..* Reference(PractitionerRole | Organization) Who is responsible for the observation
... Slices for performer Content/Rules for all slices
.... performer:Author 0..* Reference(DIPSVitalSignsPerformerAuthorReference) Who is responsible for the observation
.... performer:organization 0..* Reference(DIPSVitalSignsObservationOrganizationReference) Who is responsible for the observation
... value[x] 1..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, Open by type:$this
... dataAbsentReason 0..0 Why the result is missing
... interpretation 0..0 High, low, normal, etc.
... note 0..1 Annotation Comments about the observation
.... id 0..0 Unique id for inter-element referencing
.... author[x] 0..0 Individual responsible for the annotation
.... time 0..0 When the annotation was made
... bodySite 0..0 Observed body part
... method 0..0 How it was done
... specimen 0..0 Specimen used for this observation
... device 0..0 (Measurement) Device
... referenceRange 0..1 BackboneElement Provides guide for interpretation
.... id 0..0 Unique id for inter-element referencing
.... type 0..0 Reference range qualifier
.... appliesTo 0..0 Reference range population
.... age 0..0 Applicable age range, if relevant
.... text 0..0 Text based reference range in an observation
... hasMember 0..0 Used when reporting vital signs panel components
... derivedFrom 0..0 Related measurements the observation is made from
... component 0..0 Used when reporting systolic and diastolic blood pressure.

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* NoDomainVitalSignsObservationBodyHeight FHIR Body Height Profile
Constraints: obs-6, obs-7, vs-2
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... 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
.... extension:bodyPosition 0..1 Coding Position of individual when measured.
URL: http://hl7.no/fhir/no-domain/vitalsigns/StructureDefinition/NoDomainVitalSignsBodyHeightBodyPositionExtension
Binding: NoDomainVitalSignsBodyHeightBodyPosition-ValueSet (required)
.... extension:confoundingFactor 0..1 CodeableConcept Extension
URL: http://hl7.no/fhir/no-domain/vitalsigns/StructureDefinition/NoDomainVitalSignsConfoundingFactorExtension
.... extension:DIPSJournalId 0..* Reference() Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSJournalId
.... extension:DIPSLocation 0..1 Coding Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSLocation
Binding: DIPSLocation (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:RelativeEhrUri Σ 0..1 Identifier Business Identifier for observation
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-RelativeEhrUri
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:Id Σ 0..1 Identifier Business Identifier for observation
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-ObservationId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:VersionIdependentId Σ 0..1 Identifier Business Identifier for observation
..... 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 The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-VersionIndependentId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:ExternalId Σ 0..1 Identifier Business Identifier for observation
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/externalId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:ExternalFhirId Σ 0..* Identifier Business Identifier for observation
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/external-fhirid
..... value Σ 1..1 string The value that is unique
Example General: 123456
... status ?!SΣ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required)
... 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.
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣ 1..* Coding Code defined by a terminology system
...... 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
...... 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
... code SΣ 1..1 CodeableConcept Body Height
Binding: VitalSigns (extensible): This identifies the vital sign result type.
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code, value:system
..... coding:BodyHeightCode Σ 1..1 Coding Code defined by a terminology system
...... 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
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 8302-2
...... display Σ 0..1 string Representation defined by the system
..... coding:BodyHeightSnomedCode Σ 0..1 Coding body Height Snomed 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
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: 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
Required Pattern: 1153637007
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... subject SΣ 1..1 Reference(DIPSVitalSignsObservationSubjectReference) Who and/or what the observation is about
... encounter Σ 0..1 Reference(DIPSVitalSignsObservationEncounterReference) Healthcare event during which this observation is made
... effective[x] SΣC 1..1 dateTime Often just a dateTime for Vital Signs
Constraints: vs-1
... Slices for performer Σ 1..* Reference(PractitionerRole | Organization) Who is responsible for the observation
Slice: Unordered, Open by type:type
.... performer:Author Σ 0..* Reference(DIPSVitalSignsPerformerAuthorReference) Who is responsible for the observation
.... performer:organization Σ 0..* Reference(DIPSVitalSignsObservationOrganizationReference) Who is responsible for the observation
... Slices for value[x] SΣC 1..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 Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
..... 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: BodyLengthUnits (required): Common UCUM units for body length measures such as Body Height and Head Circumference.
... note 0..1 Annotation Comments about the observation
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... text Σ 1..1 markdown The annotation - text content (as markdown)
... referenceRange C 0..1 BackboneElement Provides guide for interpretation
Constraints: obs-3
.... 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

doco 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 Body Length Units 📍4.0.1 FHIR Std.
Observation.component.​code Base extensible Vital Signs 📍4.0.1 FHIR Std.
Observation.component.​value[x] Base extensible 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
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())

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* NoDomainVitalSignsObservationBodyHeight FHIR Body Height Profile
Constraints: obs-6, obs-7, vs-2
... Slices for extension Content/Rules for all slices
.... extension:bodyPosition 0..1 Coding Position of individual when measured.
URL: http://hl7.no/fhir/no-domain/vitalsigns/StructureDefinition/NoDomainVitalSignsBodyHeightBodyPositionExtension
Binding: NoDomainVitalSignsBodyHeightBodyPosition-ValueSet (required)
.... extension:confoundingFactor 0..1 CodeableConcept Extension
URL: http://hl7.no/fhir/no-domain/vitalsigns/StructureDefinition/NoDomainVitalSignsConfoundingFactorExtension
.... extension:DIPSJournalId 0..* Reference() Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSJournalId
.... extension:DIPSLocation 0..1 Coding Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSLocation
Binding: DIPSLocation (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:RelativeEhrUri Σ 0..1 Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-RelativeEhrUri
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:Id Σ 0..1 Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-ObservationId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:VersionIdependentId Σ 0..1 Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-VersionIndependentId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:ExternalId Σ 0..1 Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/externalId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:ExternalFhirId Σ 0..* Identifier Business Identifier for observation
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/external-fhirid
..... value Σ 1..1 string The value that is unique
Example General: 123456
... 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 Body Height
Binding: VitalSigns (extensible): This identifies the vital sign result type.
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code, value:system
..... coding:BodyHeightCode Σ 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: 8302-2
..... coding:BodyHeightSnomedCode Σ 0..1 Coding body Height Snomed Code
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://snomed.info/sct
...... code Σ 1..1 code Symbol in syntax defined by the system
Required Pattern: 1153637007
... subject SΣ 1..1 Reference(DIPSVitalSignsObservationSubjectReference) Who and/or what the observation is about
... encounter Σ 0..1 Reference(DIPSVitalSignsObservationEncounterReference) Healthcare event during which this observation is made
... effective[x] SΣC 1..1 dateTime Often just a dateTime for Vital Signs
Constraints: vs-1
... Slices for performer Σ 1..* Reference(PractitionerRole | Organization) Who is responsible for the observation
Slice: Unordered, Open by type:type
.... performer:Author Σ 0..* Reference(DIPSVitalSignsPerformerAuthorReference) Who is responsible for the observation
.... performer:organization Σ 0..* Reference(DIPSVitalSignsObservationOrganizationReference) Who is responsible for the observation
... Slices for value[x] SΣC 1..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 Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
..... 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: BodyLengthUnits (required): Common UCUM units for body length measures such as Body Height and Head Circumference.
... note 0..1 Annotation Comments about the observation
.... text Σ 1..1 markdown The annotation - text content (as markdown)
... referenceRange C 0..1 BackboneElement Provides guide for interpretation
Constraints: obs-3
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized

doco 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 Body Length Units 📍4.0.1 FHIR Std.
Observation.component.​code Base extensible Vital Signs 📍4.0.1 FHIR Std.
Observation.component.​value[x] Base extensible 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
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())

Differential View

This structure is derived from NoDomainVitalSignsObservationBodyHeight

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* NoDomainVitalSignsObservationBodyHeight FHIR Body Height Profile
... implicitRules 0..0 A set of rules under which this content was created
... language 0..0 Language of the resource content
... contained 0..0 Contained, inline Resources
... Slices for extension Content/Rules for all slices
.... extension:DIPSJournalId 0..* Reference() Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSJournalId
.... extension:DIPSLocation 0..1 Coding Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSLocation
Binding: DIPSLocation (required)
... Slices for identifier 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:RelativeEhrUri 0..1 Identifier Business Identifier for observation
..... id 0..0 Unique id for inter-element referencing
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-RelativeEhrUri
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
.... identifier:Id 0..1 Identifier Business Identifier for observation
..... id 0..0 Unique id for inter-element referencing
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-ObservationId
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
.... identifier:VersionIdependentId 0..1 Identifier Business Identifier for observation
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-VersionIndependentId
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
.... identifier:ExternalId 0..1 Identifier Business Identifier for observation
..... id 0..0 Unique id for inter-element referencing
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/externalId
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
.... identifier:ExternalFhirId 0..* Identifier Business Identifier for observation
..... id 0..0 Unique id for inter-element referencing
..... use 0..0 usual | official | temp | secondary | old (If known)
..... type 0..0 Description of identifier
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/external-fhirid
..... value 1..1 string The value that is unique
..... period 0..0 Time period when id is/was valid for use
..... assigner 0..0 Organization that issued id (may be just text)
... basedOn 0..0 Fulfills plan, proposal or order
... partOf 0..0 Part of referenced event
... Slices for category Content/Rules for all slices
.... category:VSCat 1..1 CodeableConcept Classification of type of observation
..... id 0..0 Unique id for inter-element referencing
..... coding
...... id 0..0 Unique id for inter-element referencing
...... version 0..0 Version of the system - if relevant
...... userSelected 0..0 If this coding was chosen directly by the user
..... text 0..0 Plain text representation of the concept
... code
.... id 0..0 Unique id for inter-element referencing
.... Slices for coding Content/Rules for all slices
..... coding:BodyHeightCode 1..1 Coding Code defined by a terminology system
...... id 0..0 Unique id for inter-element referencing
...... version 0..0 Version of the system - if relevant
...... userSelected 0..0 If this coding was chosen directly by the user
.... text 0..0 Plain text representation of the concept
... subject 1..1 Reference(DIPSVitalSignsObservationSubjectReference) Who and/or what the observation is about
... focus 0..0 What the observation is about, when it is not about the subject of record
... encounter 0..1 Reference(DIPSVitalSignsObservationEncounterReference) Healthcare event during which this observation is made
... effective[x] 1..1 dateTime Often just a dateTime for Vital Signs
... issued 0..0 Date/Time this version was made available
... performer 1..* Reference(PractitionerRole | Organization) Who is responsible for the observation
... Slices for performer Content/Rules for all slices
.... performer:Author 0..* Reference(DIPSVitalSignsPerformerAuthorReference) Who is responsible for the observation
.... performer:organization 0..* Reference(DIPSVitalSignsObservationOrganizationReference) Who is responsible for the observation
... value[x] 1..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, Open by type:$this
... dataAbsentReason 0..0 Why the result is missing
... interpretation 0..0 High, low, normal, etc.
... note 0..1 Annotation Comments about the observation
.... id 0..0 Unique id for inter-element referencing
.... author[x] 0..0 Individual responsible for the annotation
.... time 0..0 When the annotation was made
... bodySite 0..0 Observed body part
... method 0..0 How it was done
... specimen 0..0 Specimen used for this observation
... device 0..0 (Measurement) Device
... referenceRange 0..1 BackboneElement Provides guide for interpretation
.... id 0..0 Unique id for inter-element referencing
.... type 0..0 Reference range qualifier
.... appliesTo 0..0 Reference range population
.... age 0..0 Applicable age range, if relevant
.... text 0..0 Text based reference range in an observation
... hasMember 0..0 Used when reporting vital signs panel components
... derivedFrom 0..0 Related measurements the observation is made from
... component 0..0 Used when reporting systolic and diastolic blood pressure.

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* NoDomainVitalSignsObservationBodyHeight FHIR Body Height Profile
Constraints: obs-6, obs-7, vs-2
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... 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
.... extension:bodyPosition 0..1 Coding Position of individual when measured.
URL: http://hl7.no/fhir/no-domain/vitalsigns/StructureDefinition/NoDomainVitalSignsBodyHeightBodyPositionExtension
Binding: NoDomainVitalSignsBodyHeightBodyPosition-ValueSet (required)
.... extension:confoundingFactor 0..1 CodeableConcept Extension
URL: http://hl7.no/fhir/no-domain/vitalsigns/StructureDefinition/NoDomainVitalSignsConfoundingFactorExtension
.... extension:DIPSJournalId 0..* Reference() Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSJournalId
.... extension:DIPSLocation 0..1 Coding Extension
URL: http://dips.no/fhir/StructureDefinition/DIPSLocation
Binding: DIPSLocation (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier Σ 0..* Identifier Business Identifier for observation
Slice: Unordered, Open by value:system
.... identifier:RelativeEhrUri Σ 0..1 Identifier Business Identifier for observation
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-RelativeEhrUri
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:Id Σ 0..1 Identifier Business Identifier for observation
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-ObservationId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:VersionIdependentId Σ 0..1 Identifier Business Identifier for observation
..... 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 The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/dips-VersionIndependentId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:ExternalId Σ 0..1 Identifier Business Identifier for observation
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/externalId
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:ExternalFhirId Σ 0..* Identifier Business Identifier for observation
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://dips.no/fhir/namingsystem/external-fhirid
..... value Σ 1..1 string The value that is unique
Example General: 123456
... status ?!SΣ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required)
... 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.
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣ 1..* Coding Code defined by a terminology system
...... 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
...... 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
... code SΣ 1..1 CodeableConcept Body Height
Binding: VitalSigns (extensible): This identifies the vital sign result type.
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 1..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code, value:system
..... coding:BodyHeightCode Σ 1..1 Coding Code defined by a terminology system
...... 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
...... code Σ 1..1 code Symbol in syntax defined by the system
Fixed Value: 8302-2
...... display Σ 0..1 string Representation defined by the system
..... coding:BodyHeightSnomedCode Σ 0..1 Coding body Height Snomed 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
...... system Σ 1..1 uri Identity of the terminology system
Required Pattern: 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
Required Pattern: 1153637007
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... subject SΣ 1..1 Reference(DIPSVitalSignsObservationSubjectReference) Who and/or what the observation is about
... encounter Σ 0..1 Reference(DIPSVitalSignsObservationEncounterReference) Healthcare event during which this observation is made
... effective[x] SΣC 1..1 dateTime Often just a dateTime for Vital Signs
Constraints: vs-1
... Slices for performer Σ 1..* Reference(PractitionerRole | Organization) Who is responsible for the observation
Slice: Unordered, Open by type:type
.... performer:Author Σ 0..* Reference(DIPSVitalSignsPerformerAuthorReference) Who is responsible for the observation
.... performer:organization Σ 0..* Reference(DIPSVitalSignsObservationOrganizationReference) Who is responsible for the observation
... Slices for value[x] SΣC 1..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 Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
..... 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: BodyLengthUnits (required): Common UCUM units for body length measures such as Body Height and Head Circumference.
... note 0..1 Annotation Comments about the observation
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... text Σ 1..1 markdown The annotation - text content (as markdown)
... referenceRange C 0..1 BackboneElement Provides guide for interpretation
Constraints: obs-3
.... 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

doco 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 Body Length Units 📍4.0.1 FHIR Std.
Observation.component.​code Base extensible Vital Signs 📍4.0.1 FHIR Std.
Observation.component.​value[x] Base extensible 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
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())

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Interactions:

This resource only supports search - there is no GET [base]/Observation/[id] read-by-id operation, and no create or update through the standard REST interface.

Search Parameters:

  1. SHALL support searching Observation using the documentId search parameter:

    GET [base]/Observation?documentId=[id]

    Example:

    1. GET [base]/Observation?documentId=1009168

    Implementation Notes: documentId identifies the DIPS clinical document (journal entry) the vital sign was recorded in, not the Observation's own resource id. Fetches a bundle containing every vital sign Observation recorded in that document whose type matches this profile ([how to search by string]).

  2. At least one of patient, fhirId, externalFhirId or documentId is required, or the search is rejected with a 422 error. Of these, only documentId currently returns matching results - patient, fhirId and externalFhirId are accepted by this validation but the search behind them is not yet implemented, so a request using only one of them returns an empty bundle rather than an error or a result.

  3. The standard _profile search parameter can also be appended to a request:

    GET [base]/Observation?documentId=[id]&_profile=[profile]

    Example:

    1. GET [base]/Observation?documentId=1009168&_profile=DIPSVitalSignsObservationBodyHeight

    Implementation Notes: _profile is not currently read by this endpoint - it has no effect on the result, whether or not it's present, and whichever profile is passed. It is accepted here only because it is a standard FHIR search parameter the underlying framework parses generically; nothing in the vital sign search code consults it. The set of values it is meant to take, once implemented, is the 13 DIPSVitalSignsObservation* profile ids - see the "FHIR VitalSign Observation" section of Documentation for the full list.

Operation: $SaveExtData

  1. SHALL support linking an externally recorded value to a DIPS clinical document:

    POST [base]/Observation/$SaveExtData

    Example:

     POST [base]/Observation/$SaveExtData
    
     <Parameters xmlns="http://hl7.org/fhir">
         <parameter>
             <name value="FhirId"/>
             <valueString value="[fhir resource id]"/>
         </parameter>
         <parameter>
             <name value="ExternalId"/>
             <valueString value="18730-7773-External_Identifier_value"/>
         </parameter>
         <parameter>
             <name value="Source"/>
             <valueString value="MetaVision"/>
         </parameter>
         <parameter>
             <name value="JournalId"/>
             <valueString value="1009168"/>
         </parameter>
         <parameter>
             <name value="IssuedTime"/>
             <valueDateTime value="2026-03-03T11:00:00+02:00"/>
         </parameter>
         <parameter>
             <name value="VersionID"/>
             <valueString value="1"/>
         </parameter>
     </Parameters>
    

    Implementation Notes: JournalId (the operation's name for documentId) is required and must be numeric, and must identify a document that already exists in DIPS - the operation records a mapping from that document to an externally sourced value, it does not create the document. ExternalId and Source together identify the external record being linked; a request repeating a JournalId/Source pair already mapped is rejected with a 400 error.