Medtech ALEX® Implementation Guide
0.0.1 - draft International flag

Medtech ALEX® Implementation Guide - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Observation IPS Profile

Official URL: https://alexapi.medtechglobal.com.au/fhir/StructureDefinition/alex-observation-ips Version: 0.0.1
Active as of 2025-01-20 Computable Name: AlexObservationIps

The observation for IPS

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* AlexObservation Measurements and simple assertions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
observation-code-text-length: Code.text cannot be more than 30 characters
observation-note-text-length: Note - text size validation
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


ele-1: All FHIR elements must have a @value or children
Required Pattern: final
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: Screening Term Value Set for observation result (extensible)
ele-1: All FHIR elements must have a @value or children
.... text SΣ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
.... reference SΣC 1..1 string Reference to Patient resource
ele-1: All FHIR elements must have a @value or children
... Slices for effective[x] Σ 1..1 instant Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... effective[x]:effectiveInstant SΣ 1..1 instant Clinically relevant time/time-period for observation
ele-1: All FHIR elements must have a @value or children
... performer SΣ 1..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
ele-1: All FHIR elements must have a @value or children
.... reference SΣC 1..1 string Reference to Practitioner resource
ele-1: All FHIR elements must have a @value or children
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... valueQuantity Quantity
.... valueString string
.... value[x]:valueString SΣC 0..1 string Actual result
ele-1: All FHIR elements must have a @value or children
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
ele-1: All FHIR elements must have a @value or children
..... value SΣ 1..1 decimal Numerical value (with implicit precision)
ele-1: All FHIR elements must have a @value or children
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.


ele-1: All FHIR elements must have a @value or children
... interpretation S 1..* CodeableConcept High, low, normal, etc.
Binding: Interpretation Value Set for Observation (extensible)
ele-1: All FHIR elements must have a @value or children
.... coding Σ 1..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
..... system SΣ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
..... code SΣ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
.... text SΣ 0..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... note S 0..* Annotation Comments about the observation
ele-1: All FHIR elements must have a @value or children
.... text SΣ 1..1 markdown The annotation - text content (as markdown)
ele-1: All FHIR elements must have a @value or children
... component SΣ 0..* BackboneElement Component results
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... code SΣ 1..1 CodeableConcept Type of component observation (code / type)
Binding: Prompt Value Set for Measurement (extensible)
ele-1: All FHIR elements must have a @value or children
.... Slices for value[x] Σ 0..1 Actual component result
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
..... valueQuantity Quantity
..... valueString string
..... value[x]:valueString SΣ 0..1 string Actual component result
ele-1: All FHIR elements must have a @value or children
..... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
ele-1: All FHIR elements must have a @value or children
...... value SΣ 1..1 decimal Numerical value (with implicit precision)
ele-1: All FHIR elements must have a @value or children
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.statusrequiredPattern: final
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.codeextensibleScreeningTerm (a valid code from Screening Term CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/screening-term
from this IG
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretation (a valid code from Observation Interpretation CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/observation-interpretation
from this IG
Observation.component.codeextensibleMeasurementPrompt (a valid code from Measurement Prompt CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/measurement-prompt
from this IG
Observation.component.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
observation-code-text-lengtherrorObservationCode.text cannot be more than 30 characters
: code.text.empty() or code.text.length() <= 30
observation-note-text-lengtherrorObservationNote - text size validation
: note.text.empty() or note.text.length() <= 4096
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* AlexObservation Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
observation-code-text-length: Code.text cannot be more than 30 characters
observation-note-text-length: Note - text size validation
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: Definition of Confidentiality Value Set (required)
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... text 0..1 Narrative Text summary of the resource, for human interpretation
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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 ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


Required Pattern: final
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: Screening Term Value Set for observation result (extensible)
.... 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 Σ 0..* Coding Code defined by a terminology system
.... text SΣ 1..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 1..1 string Reference to Patient resource
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string External Name of Patient
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... Slices for effective[x] Σ 1..1 instant Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveInstant SΣ 1..1 instant Clinically relevant time/time-period for observation
... issued Σ 0..1 instant Date/Time this version was made available
... performer SΣ 1..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the 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
.... reference SΣC 1..1 string Reference to Practitioner resource
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string External Name of Practitioner
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed by type:$this
.... valueQuantity Quantity
.... valueString string
.... value[x]:valueString SΣC 0..1 string Actual result
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... value SΣ 1..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ 0..1 string Unit representation
..... system ΣC 0..1 uri System that defines coded unit form
..... code Σ 0..1 code Coded form of the unit
Binding: Unit Value Set for Observation Component (extensible)
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S 1..* CodeableConcept High, low, normal, etc.
Binding: Interpretation Value Set for Observation (extensible)
.... 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 Σ 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
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text SΣ 0..1 string Plain text representation of the concept
... note S 0..* Annotation Comments about the 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
.... author[x] Σ 0..1 Individual responsible for the annotation
..... authorReference Reference(Practitioner | Patient | RelatedPerson | Organization)
..... authorString string
.... time Σ 0..1 dateTime When the annotation was made
.... text SΣ 1..1 markdown The annotation - text content (as markdown)
... 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
obs-3: Must have at least a low or a high or text
.... 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(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
... component SΣ 0..* BackboneElement Component results
.... 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: Prompt Value Set for Measurement (extensible)
.... Slices for value[x] Σ 0..1 Actual component result
Slice: Unordered, Closed by type:$this
..... valueQuantity Quantity
..... valueString string
..... value[x]:valueString SΣ 0..1 string Actual component result
..... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ 0..1 string Unit representation
...... system ΣC 0..1 uri System that defines coded unit form
...... code Σ 0..1 code Coded form of the unit
Binding: Unit Value Set for Observation Component (extensible)
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.meta.securityrequiredConfidentialityVS
https://alexapi.medtechglobal.com.au/fhir/ValueSet/confidentiality
from this IG
Observation.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Observation.statusrequiredPattern: final
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.codeextensibleScreeningTerm (a valid code from Screening Term CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/screening-term
from this IG
Observation.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Observation.performer.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.value[x]:valueQuantity.codeextensibleValueQuantityUnit (a valid code from Observation Component Unit CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/value-quantity-unit
from this IG
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretation (a valid code from Observation Interpretation CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/observation-interpretation
from this IG
Observation.methodexampleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeextensibleMeasurementPrompt (a valid code from Measurement Prompt CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/measurement-prompt
from this IG
Observation.component.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.component.value[x]:valueQuantity.codeextensibleValueQuantityUnit (a valid code from Observation Component Unit CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/value-quantity-unit
from this IG
Observation.component.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
observation-code-text-lengtherrorObservationCode.text cannot be more than 30 characters
: code.text.empty() or code.text.length() <= 30
observation-note-text-lengtherrorObservationNote - text size validation
: note.text.empty() or note.text.length() <= 4096

This structure is derived from AlexObservation

Summary

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* AlexObservation Measurements and simple assertions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
observation-code-text-length: Code.text cannot be more than 30 characters
observation-note-text-length: Note - text size validation
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


ele-1: All FHIR elements must have a @value or children
Required Pattern: final
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: Screening Term Value Set for observation result (extensible)
ele-1: All FHIR elements must have a @value or children
.... text SΣ 1..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
.... reference SΣC 1..1 string Reference to Patient resource
ele-1: All FHIR elements must have a @value or children
... Slices for effective[x] Σ 1..1 instant Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... effective[x]:effectiveInstant SΣ 1..1 instant Clinically relevant time/time-period for observation
ele-1: All FHIR elements must have a @value or children
... performer SΣ 1..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
ele-1: All FHIR elements must have a @value or children
.... reference SΣC 1..1 string Reference to Practitioner resource
ele-1: All FHIR elements must have a @value or children
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... valueQuantity Quantity
.... valueString string
.... value[x]:valueString SΣC 0..1 string Actual result
ele-1: All FHIR elements must have a @value or children
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
ele-1: All FHIR elements must have a @value or children
..... value SΣ 1..1 decimal Numerical value (with implicit precision)
ele-1: All FHIR elements must have a @value or children
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.


ele-1: All FHIR elements must have a @value or children
... interpretation S 1..* CodeableConcept High, low, normal, etc.
Binding: Interpretation Value Set for Observation (extensible)
ele-1: All FHIR elements must have a @value or children
.... coding Σ 1..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
..... system SΣ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
..... code SΣ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
.... text SΣ 0..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children
... note S 0..* Annotation Comments about the observation
ele-1: All FHIR elements must have a @value or children
.... text SΣ 1..1 markdown The annotation - text content (as markdown)
ele-1: All FHIR elements must have a @value or children
... component SΣ 0..* BackboneElement Component results
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... code SΣ 1..1 CodeableConcept Type of component observation (code / type)
Binding: Prompt Value Set for Measurement (extensible)
ele-1: All FHIR elements must have a @value or children
.... Slices for value[x] Σ 0..1 Actual component result
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
..... valueQuantity Quantity
..... valueString string
..... value[x]:valueString SΣ 0..1 string Actual component result
ele-1: All FHIR elements must have a @value or children
..... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
ele-1: All FHIR elements must have a @value or children
...... value SΣ 1..1 decimal Numerical value (with implicit precision)
ele-1: All FHIR elements must have a @value or children
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.statusrequiredPattern: final
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.codeextensibleScreeningTerm (a valid code from Screening Term CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/screening-term
from this IG
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretation (a valid code from Observation Interpretation CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/observation-interpretation
from this IG
Observation.component.codeextensibleMeasurementPrompt (a valid code from Measurement Prompt CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/measurement-prompt
from this IG
Observation.component.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
observation-code-text-lengtherrorObservationCode.text cannot be more than 30 characters
: code.text.empty() or code.text.length() <= 30
observation-note-text-lengtherrorObservationNote - text size validation
: note.text.empty() or note.text.length() <= 4096

Differential View

This structure is derived from AlexObservation

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* AlexObservation Measurements and simple assertions
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
observation-code-text-length: Code.text cannot be more than 30 characters
observation-note-text-length: Note - text size validation
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: Definition of Confidentiality Value Set (required)
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... text 0..1 Narrative Text summary of the resource, for human interpretation
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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 ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


Required Pattern: final
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: Screening Term Value Set for observation result (extensible)
.... 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 Σ 0..* Coding Code defined by a terminology system
.... text SΣ 1..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 1..1 string Reference to Patient resource
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string External Name of Patient
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... Slices for effective[x] Σ 1..1 instant Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveInstant SΣ 1..1 instant Clinically relevant time/time-period for observation
... issued Σ 0..1 instant Date/Time this version was made available
... performer SΣ 1..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the 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
.... reference SΣC 1..1 string Reference to Practitioner resource
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string External Name of Practitioner
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed by type:$this
.... valueQuantity Quantity
.... valueString string
.... value[x]:valueString SΣC 0..1 string Actual result
.... value[x]:valueQuantity ΣC 0..1 Quantity Actual result
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... value SΣ 1..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ 0..1 string Unit representation
..... system ΣC 0..1 uri System that defines coded unit form
..... code Σ 0..1 code Coded form of the unit
Binding: Unit Value Set for Observation Component (extensible)
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation S 1..* CodeableConcept High, low, normal, etc.
Binding: Interpretation Value Set for Observation (extensible)
.... 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 Σ 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
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text SΣ 0..1 string Plain text representation of the concept
... note S 0..* Annotation Comments about the 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
.... author[x] Σ 0..1 Individual responsible for the annotation
..... authorReference Reference(Practitioner | Patient | RelatedPerson | Organization)
..... authorString string
.... time Σ 0..1 dateTime When the annotation was made
.... text SΣ 1..1 markdown The annotation - text content (as markdown)
... 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
obs-3: Must have at least a low or a high or text
.... 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(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
... derivedFrom Σ 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
... component SΣ 0..* BackboneElement Component results
.... 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: Prompt Value Set for Measurement (extensible)
.... Slices for value[x] Σ 0..1 Actual component result
Slice: Unordered, Closed by type:$this
..... valueQuantity Quantity
..... valueString string
..... value[x]:valueString SΣ 0..1 string Actual component result
..... value[x]:valueQuantity Σ 0..1 Quantity Actual component result
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value SΣ 1..1 decimal Numerical value (with implicit precision)
...... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

...... unit Σ 0..1 string Unit representation
...... system ΣC 0..1 uri System that defines coded unit form
...... code Σ 0..1 code Coded form of the unit
Binding: Unit Value Set for Observation Component (extensible)
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.meta.securityrequiredConfidentialityVS
https://alexapi.medtechglobal.com.au/fhir/ValueSet/confidentiality
from this IG
Observation.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Observation.statusrequiredPattern: final
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.codeextensibleScreeningTerm (a valid code from Screening Term CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/screening-term
from this IG
Observation.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Observation.performer.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.value[x]:valueQuantity.codeextensibleValueQuantityUnit (a valid code from Observation Component Unit CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/value-quantity-unit
from this IG
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretation (a valid code from Observation Interpretation CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/observation-interpretation
from this IG
Observation.methodexampleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.component.codeextensibleMeasurementPrompt (a valid code from Measurement Prompt CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/measurement-prompt
from this IG
Observation.component.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.component.value[x]:valueQuantity.codeextensibleValueQuantityUnit (a valid code from Observation Component Unit CodeSystem)
https://alexapi.medtechglobal.com.au/fhir/ValueSet/value-quantity-unit
from this IG
Observation.component.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.component.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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()
observation-code-text-lengtherrorObservationCode.text cannot be more than 30 characters
: code.text.empty() or code.text.length() <= 30
observation-note-text-lengtherrorObservationNote - text size validation
: note.text.empty() or note.text.length() <= 4096

This structure is derived from AlexObservation

Summary

 

Other representations of profile: CSV, Excel, Schematron