1.0.0 - release

CambioOpenServicesIG - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: ObservationONEWS2

Official URL: https://fhir.cambio.se/StructureDefinition/ObservationONEWS2 Version: 0.9.0
Draft as of 2026-05-25 Computable Name: ObservationONEWS2

Introduction

The ObservationONEWS2 profile represents the Assessment scale ONEWS2. ONEWS2 is a scale for the severity of a patients condition. The ONEWS2 score is calculated using the vital signs of a patient.
The intended use for ObservationONEWS2 is for communicating the severity of a patients condition by sending the calculated score in observation.value. The score should be between 0 and 24. The ONEWS2 profile should also contain references for all vital signs used to calculate the score. It is mandatory to send all the vital signs. The score (observation.value) is optional.

The API can be used to create and read ONEWS2 information to/from a Cambio system.

Note that invalidated observations will be returned as well (those with the status 'entered-in-error').

Must Support

The MustSupport-flag indicates which attributes are supported by Cambio, meaning that those can be returned as part of the ONEWS2 Observation.

Versions

COS version Profile version Required COSMIC version Date Description
4.21.0 1.0.0 6.0.0 June 2026 Initial version, Support for GET and POST

Specific Rules and Limitations

Type Description
Rule When creating ONEWS2, user must not be the patient. A healthcare professional is the intended user.
Rule When creating ONEWS2, user should be a healthcare professional with a specified HSA ID. The healthcare professional should have their assignment and be connected to the specified care unit. The care unit should also be specified with a HSA ID.
Rule Creating ONEWS2 only supports the final status.
Rule All vital signs stated as target types in element observation.derivedFrom must be included.
Rule The same vital sign must not be referenced more than once.

Supported Operations

HTTP Method Description
GET Used to get ONEWS2 entry by id.
POST Used to create an ONEWS2 entry. If successful, the operation will return id in response.

Query Operations

Parameter Format Mandatory Comment
id String Yes The Id of the Observation to fetch

Supported Queries

  1. GET [baseURL]/Observation/[id]
  2. POST [baseURL]/Observation

Error Codes

In the table below, a few error messages specific for observations are listed.

Code Description Comment
400 Subject and Performer Patient references does not match.  
400 The effective date must be the same for the ONEWS observation and all contained observations.  
400 Server supports only final status when posting Observations Statuses preliminary, entered-in-error, cancelled are not supported when posting a ONEWS.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... meta SΣ 1..1 Meta Metadata about the resource
.... profile SΣ 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
... status ?!SΣ 1..1 code preliminary | final | entered-in-error | cancelled
Binding: VitalSignStatus (required)
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... coding SΣ 0..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
..... code SΣ 1..1 code Symbol in syntax defined by the system
Fixed Value: 564341000052108
... subject SΣ 1..1 Reference(Patient) Who and/or what the observation is about
... encounter SΣ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] SΣ 1..1 dateTime The time of the calculation of the ONEWS2
... performer SΣ 1..1 Reference(Practitioner | PractitionerRoleLiteSe | OrganizationSEVendorLite) Who is responsible for the observation
... value[x] SΣC 0..1 Quantity ONEWS2 total score
.... value SΣ 1..1 decimal Only accept value in the range of 0 to 24.
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
... note S 0..1 Annotation Comments about the observation
... derivedFrom SΣ 6..6 Reference(ObservationRespiratoryRateLite | ObservationBPLite | ObservationHeartRateLite | ObservationAcvpuLite | ObservationOxygenSaturationLite | ObservationBodyTemperatureLite) For the ONEWS2 all included vital signs are expected

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard
Observation.statusrequiredVitalSignStatus
https://cambio.codes/fhir/vs/vital-sign-status/v1
From this IG
Observation.codeexampleLOINCCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
From the FHIR Standard
Observation.value[x].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()

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* Observation Measurements and simple assertions
... meta S 1..1 Meta Metadata about the resource
.... profile S 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to
... identifier S 0..* Identifier Business Identifier for observation
.... system S 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
... status S 1..1 code preliminary | final | entered-in-error | cancelled
Binding: VitalSignStatus (required)
.... coding S 0..* Coding Code defined by a terminology system
..... system S 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
..... code S 1..1 code Symbol in syntax defined by the system
Fixed Value: 564341000052108
... subject S 1..1 Reference(Patient) Who and/or what the observation is about
... encounter S 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] S 1..1 dateTime The time of the calculation of the ONEWS2
... performer S 1..1 Reference(Practitioner | PractitionerRoleLiteSe | OrganizationSEVendorLite) Who is responsible for the observation
... value[x] S 0..1 Quantity ONEWS2 total score
.... value S 1..1 decimal Only accept value in the range of 0 to 24.
... note S 0..1 Annotation Comments about the observation
... derivedFrom S 6..6 Reference(ObservationRespiratoryRateLite | ObservationBPLite | ObservationHeartRateLite | ObservationAcvpuLite | ObservationOxygenSaturationLite | ObservationBodyTemperatureLite) For the ONEWS2 all included vital signs are expected

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.statusrequiredVitalSignStatus
https://cambio.codes/fhir/vs/vital-sign-status/v1
From this IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... id Σ 0..1 id Logical id of this artifact
... meta SΣ 1..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 SΣ 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... 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".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* 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
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!SΣ 1..1 code preliminary | final | entered-in-error | cancelled
Binding: VitalSignStatus (required)
... category 0..* CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
Fixed Value: 564341000052108
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient) Who and/or what the observation is about
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... encounter SΣ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] SΣ 1..1 dateTime The time of the calculation of the ONEWS2
... issued Σ 0..1 instant Date/Time this version was made available
... performer SΣ 1..1 Reference(Practitioner | PractitionerRoleLiteSe | OrganizationSEVendorLite) Who is responsible for the observation
... value[x] SΣC 0..1 Quantity ONEWS2 total score
.... 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 Only accept value in the range of 0 to 24.
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
.... unit Σ 0..1 string Unit representation
.... system ΣC 0..1 uri System that defines coded unit form
.... code Σ 0..1 code Coded form of the unit
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
... note S 0..1 Annotation Comments about the observation
... bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
... referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... low C 0..1 SimpleQuantity 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 SΣ 6..6 Reference(ObservationRespiratoryRateLite | ObservationBPLite | ObservationHeartRateLite | ObservationAcvpuLite | ObservationOxygenSaturationLite | ObservationBodyTemperatureLite) For the ONEWS2 all included vital signs are expected
... component Σ 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 Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... value[x] Σ 0..1 Actual component result
..... valueQuantity Quantity
..... valueCodeableConcept CodeableConcept
..... valueString string
..... valueBoolean boolean
..... valueInteger integer
..... valueRange Range
..... valueRatio Ratio
..... valueSampledData SampledData
..... valueTime time
..... valueDateTime dateTime
..... valuePeriod Period
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
.... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Observation.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
Observation.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Observation.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard
Observation.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
From the FHIR Standard
Observation.statusrequiredVitalSignStatus
https://cambio.codes/fhir/vs/vital-sign-status/v1
From this IG
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
From the FHIR Standard
Observation.codeexampleLOINCCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
From the FHIR Standard
Observation.value[x].comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
From the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
From the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
From the FHIR Standard
Observation.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
From the FHIR Standard
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.codeexampleLOINCCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
From the FHIR Standard
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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... meta SΣ 1..1 Meta Metadata about the resource
.... profile SΣ 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
... status ?!SΣ 1..1 code preliminary | final | entered-in-error | cancelled
Binding: VitalSignStatus (required)
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... coding SΣ 0..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
..... code SΣ 1..1 code Symbol in syntax defined by the system
Fixed Value: 564341000052108
... subject SΣ 1..1 Reference(Patient) Who and/or what the observation is about
... encounter SΣ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] SΣ 1..1 dateTime The time of the calculation of the ONEWS2
... performer SΣ 1..1 Reference(Practitioner | PractitionerRoleLiteSe | OrganizationSEVendorLite) Who is responsible for the observation
... value[x] SΣC 0..1 Quantity ONEWS2 total score
.... value SΣ 1..1 decimal Only accept value in the range of 0 to 24.
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
... note S 0..1 Annotation Comments about the observation
... derivedFrom SΣ 6..6 Reference(ObservationRespiratoryRateLite | ObservationBPLite | ObservationHeartRateLite | ObservationAcvpuLite | ObservationOxygenSaturationLite | ObservationBodyTemperatureLite) For the ONEWS2 all included vital signs are expected

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard
Observation.statusrequiredVitalSignStatus
https://cambio.codes/fhir/vs/vital-sign-status/v1
From this IG
Observation.codeexampleLOINCCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
From the FHIR Standard
Observation.value[x].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()

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation 0..* Observation Measurements and simple assertions
... meta S 1..1 Meta Metadata about the resource
.... profile S 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to
... identifier S 0..* Identifier Business Identifier for observation
.... system S 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
... status S 1..1 code preliminary | final | entered-in-error | cancelled
Binding: VitalSignStatus (required)
.... coding S 0..* Coding Code defined by a terminology system
..... system S 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
..... code S 1..1 code Symbol in syntax defined by the system
Fixed Value: 564341000052108
... subject S 1..1 Reference(Patient) Who and/or what the observation is about
... encounter S 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] S 1..1 dateTime The time of the calculation of the ONEWS2
... performer S 1..1 Reference(Practitioner | PractitionerRoleLiteSe | OrganizationSEVendorLite) Who is responsible for the observation
... value[x] S 0..1 Quantity ONEWS2 total score
.... value S 1..1 decimal Only accept value in the range of 0 to 24.
... note S 0..1 Annotation Comments about the observation
... derivedFrom S 6..6 Reference(ObservationRespiratoryRateLite | ObservationBPLite | ObservationHeartRateLite | ObservationAcvpuLite | ObservationOxygenSaturationLite | ObservationBodyTemperatureLite) For the ONEWS2 all included vital signs are expected

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.statusrequiredVitalSignStatus
https://cambio.codes/fhir/vs/vital-sign-status/v1
From this IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7
... id Σ 0..1 id Logical id of this artifact
... meta SΣ 1..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 SΣ 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... 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".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* 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
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
... status ?!SΣ 1..1 code preliminary | final | entered-in-error | cancelled
Binding: VitalSignStatus (required)
... category 0..* CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
... code SΣ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣ 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
Fixed Value: 564341000052108
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... subject SΣ 1..1 Reference(Patient) Who and/or what the observation is about
... focus Σ 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
... encounter SΣ 0..1 Reference(Encounter) Healthcare event during which this observation is made
... effective[x] SΣ 1..1 dateTime The time of the calculation of the ONEWS2
... issued Σ 0..1 instant Date/Time this version was made available
... performer SΣ 1..1 Reference(Practitioner | PractitionerRoleLiteSe | OrganizationSEVendorLite) Who is responsible for the observation
... value[x] SΣC 0..1 Quantity ONEWS2 total score
.... 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 Only accept value in the range of 0 to 24.
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
.... unit Σ 0..1 string Unit representation
.... system ΣC 0..1 uri System that defines coded unit form
.... code Σ 0..1 code Coded form of the unit
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
... note S 0..1 Annotation Comments about the observation
... bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
... referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... low C 0..1 SimpleQuantity 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 SΣ 6..6 Reference(ObservationRespiratoryRateLite | ObservationBPLite | ObservationHeartRateLite | ObservationAcvpuLite | ObservationOxygenSaturationLite | ObservationBodyTemperatureLite) For the ONEWS2 all included vital signs are expected
... component Σ 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 Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... value[x] Σ 0..1 Actual component result
..... valueQuantity Quantity
..... valueCodeableConcept CodeableConcept
..... valueString string
..... valueBoolean boolean
..... valueInteger integer
..... valueRange Range
..... valueRatio Ratio
..... valueSampledData SampledData
..... valueTime time
..... valueDateTime dateTime
..... valuePeriod Period
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
.... interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
Observation.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
Observation.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Observation.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard
Observation.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
From the FHIR Standard
Observation.statusrequiredVitalSignStatus
https://cambio.codes/fhir/vs/vital-sign-status/v1
From this IG
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
From the FHIR Standard
Observation.codeexampleLOINCCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
From the FHIR Standard
Observation.value[x].comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
From the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
From the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
From the FHIR Standard
Observation.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
From the FHIR Standard
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.codeexampleLOINCCodes(a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
From the FHIR Standard
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()

 

Other representations of profile: CSV, Excel, Schematron