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
| Official URL: https://fhir.cambio.se/StructureDefinition/ObservationOxygenSaturationLite/v1 | Version: 1.1.0 | |||
| Active as of 2022-03-08 | Computable Name: ObservationOxygenSaturationLite | |||
The ObservationOxygenSaturationLite profile represents the vital sign Oxygen Saturation and is a profile created from the resource Observation. The vital sign Oxygen Saturation holds a value of the blood saturation of the patient in percentage. It also contains a profile to state if the patient has received oxygen or not, and the flow rate of that potential oxygen (ObservationInspiredOxygenLite). The oxygen saturation profile is derived from the standard FHIR profile Vital Signs which makes the profile compliant with the FHIR standardized way of communicating vital sign data.
The ObservationOxygenSaturationLite is used for communicating the percentage of the patient blood saturation. The value is sent in the element observation.value. The profile can also hold information if the patient has a known hypercapnic respiratory failure. If the patient has received supplemental oxygen it can be communicated by including the contained profile for Inspired Oxygen in Observation.hasMember. If the InspiredOxygen profile is included it should be interpreted as if the patient has received oxygen.
The API can be used to create and read patient oxygen saturation information from/to COSMIC.
| Type | Description | 
|---|---|
| Rule | This API should not be used to transfer data between caregivers. | 
| Rule | If the performer is Patient, the subject should be the same as given performer. | 
| Rule | The consumer of the API is responsible for making sure data retrieved is filtered in compliance with laws and regulations prior to presenting it to any end-users. | 
| Rule | For reading vital sign observations, the external system needs to be able to evaluate PDL. This means whether the information can be displayed for a healthcare professional with a specific assignment. PDL data needed (HSA care unit and HSA care provider) is retrieved by including the organization referenced from Observation.performer.organization (OrganizationSEVendorLite). | 
| Rule | POST: The data should not be patient initiated. If patient generated, it should be ordered by a care giver and belong to a specific unit. | 
| Rule | POST: It is not supported to create vital sign entries with statuses preliminary, entered-in-error or cancelled. Only status final is supported for POST. | 
| Rule | POST: dateTime cannot be 1st of the month with the time 00:00:00.000+01:00 (See error messages described below) | 
| Rule | POST: dateTime cannot be only date component, also time component will be needed (See error messages described below) | 
| Rule | If the patient has not received oxygen the element Observation.hasMember should not include the contained profile observationInspiredOxygenLite | 
| Rule | POST: COSMIC does not support displaying continuous values and hence the external product should not send values to COSMIC more often than every 15 minutes per patient. All values received in COSMIC will be saved and displayed but because it cannot be displayed in a proper way it should not be sent more often as standard | 
| Extension | Data type | Description | 
|---|---|---|
| HypercapnicRespiratoryFailure | Boolean | Communicates if the patient has a hypercapnic respiratory failure or not. | 
| COS version | Profile version | Required COSMIC version | Date | Description | 
|---|---|---|---|---|
| 3.0.0 | 1.1.0 | R8.3.05 | May 2022 | Updates in target profile for performer.organization which makes it possible to retrieve PDL units | 
| COS Feb 2021 | 1.0.0 | R8.2.08 | Feb 2021 | Initial version, support for GET and POST. | 
| HTTP Method | Description | 
|---|---|
| GET | Used to get or search for Oxygen Saturation entities | 
| POST | Used to create an Oxygen saturation entry. If successful, the operation will return id in response | 
| Parameter | Format | Mandatory | Comment | 
|---|---|---|---|
date | 
      date (ddmmyy) | Yes | Obtained date/time. The date is always a range, i.e. two dates are used as search parameters. | 
status | 
      token | No | The status of the observation. See supported statuses in #Statuses | 
patient | 
      reference | Yes | The subject that the observation is about (if patient). The reference can be a literal reference ex: subject=1 or a Business identifier as well.ex: subject.identifier=urn:oid:1.2.752.129.2.1.3.1|20200109-6078 | 
_profile | 
      string | No | search on the profile url. | 
GET [baseURL]/Observation/_search?patient= (Search)GET [baseURL]/Observation/_search?status= (Search)GET [baseURL]/Observation/_search?date=[gt_date]&date=[lt_date] (Search)GET [baseURL]/Observation/_search?_profile= (Search)GET [baseURL]/Observation/_search?patient=&_include=Observation:performer (Search)GET [baseURL]/Observation/_search?status=[status]&_include=[] (Search)GET [baseURL]/Observation/_search?date=[gt_date]&date=[lt_date]&_include=[] (Search)GET [baseURL]/Observation/_search?_profile=[url]&_include=[] (Search)POST [baseURL]/Observation (Post)In the table below, a few error messages specific for Observation are listed.
| Code | Description | Comment | 
|---|---|---|
| 400 | "Subject and Performer Patient references does not match." | |
| 400 | "The date time: < date > is invalid" | the dateTime must contain a time component | 
| 400 | "Server supports only FINAL status when posting Observations" | Statuses preliminary, entered-in-error or cancelled. Only status final are not supported for POST. | 
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | 
|---|---|---|---|---|
![]()  | 
C | 0..* | ObservationOxygenSaturationCore | FHIR Oxygen Saturation Profile Constraints: obs-6, obs-7, vs-2  | 
![]() ![]()  | 
Σ | 0..1 | Meta | Metadata about the resource | 
![]() ![]() ![]()  | 
SΣ | 0..1 | uri | Identifies where the resource comes from | 
![]() ![]() ![]()  | 
Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to | 
![]() ![]()  | 
?!Σ | 0..1 | uri | A set of rules under which this content was created | 
![]() ![]()  | 
0..* | Extension | Extension Slice: Unordered, Open by value:url  | |
![]() ![]() ![]()  | 
0..1 | boolean | Optional Extensions Element URL: https://fhir.cambio.se/StructureDefinition/saturation-hypercapnicRespiratoryFailure/v1  | |
![]() ![]()  | 
?! | 0..* | Extension | Extensions that cannot be ignored | 
![]() ![]()  | 
?!SΣ | 1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of Codes providing the status of an observation.  | 
![]() ![]()  | 
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.  | 
![]() ![]() ![]()  | 
S | 1..1 | CodeableConcept | Classification of  type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.  | 
![]() ![]() ![]() ![]()  | 
SΣ | 1..* | Coding | Code defined by a terminology system | 
![]() ![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category  | 
![]() ![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs  | 
![]() ![]()  | 
SΣ | 1..1 | CodeableConcept | Oxygen Saturation Binding: VitalSigns (extensible): This identifies the vital sign result type.  | 
![]() ![]() ![]()  | 
Σ | 2..2 | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system  | 
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | Coding | Code defined by a terminology system | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org  | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 2708-6  | 
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | Coding | Code defined by a terminology system | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct  | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 103228002  | 
![]() ![]()  | 
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about | 
![]() ![]()  | 
SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs Constraints: vs-1  | 
![]() ![]()  | 
Σ | 1..2 | Reference(Practitioner | PractitionerRole | Organization | Patient) | Who is responsible for the observation Slice: Unordered, Open by type:$this  | 
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Patient) | Who is responsible for the observation | 
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Organization) | Who is responsible for the observation | 
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(PractitionerRoleLiteSe) | Who is responsible for the observation | 
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Practitioner) | Who is responsible for the observation | 
![]() ![]()  | 
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  | 
![]() ![]() ![]()  | 
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. | 
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | decimal | Numerical value (with implicit precision) | 
![]() ![]() ![]() ![]()  | 
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.  | 
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | string | Unit representation Fixed Value: %  | 
![]() ![]() ![]() ![]()  | 
SΣC | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org  | 
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. Fixed Value: %  | 
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |
![]() ![]()  | 
Σ | 0..1 | Reference(ObservationInspiredOxygenLite) {c} | Used when reporting vital signs panel components | 
  Documentation for this format | ||||
| Path | Conformance | ValueSet | URI | 
| Observation.status | required | VitalSignStatushttps://cambio.codes/fhir/vs/vital-sign-status/v1From this IG  | |
| Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard  | |
| Observation.category:VSCat | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard  | |
| Observation.code | extensible | VitalSignshttp://hl7.org/fhir/ValueSet/observation-vitalsignresultFrom the FHIR Standard  | |
| Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1From the FHIR Standard  | |
| Observation.component.code | extensible | VitalSignshttp://hl7.org/fhir/ValueSet/observation-vitalsignresultFrom the FHIR Standard  | |
| Observation.component.value[x] | required | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1From the FHIR Standard  | |
| Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reasonFrom the FHIR Standard  | 
| Id | Grade | Path(s) | Details | Requirements | 
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty()  | |
| dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()  | |
| dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()  | |
| dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty()  | |
| dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists()  | |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count())  | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists()  | |
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty()  | |
| obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()  | |
| vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8  | |
| 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 ObservationOxygenSaturationCore
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | 
|---|---|---|---|---|
![]()  | 
ObservationOxygenSaturationCore | |||
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
S | 0..1 | uri | Identifies where the resource comes from | 
![]() ![]() ![]()  | 
1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to | |
![]() ![]()  | 
0..* | Extension | Extension Slice: Unordered, Open by value:url  | |
![]() ![]() ![]()  | 
0..1 | boolean | Optional Extensions Element URL: https://fhir.cambio.se/StructureDefinition/saturation-hypercapnicRespiratoryFailure/v1  | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
0..0 | |||
![]() ![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of Codes providing the status of an observation.  | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
2..2 | Coding | Code defined by a terminology system | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
||||
![]() ![]() ![]() ![]()  | 
1..1 | uri | The namespace for the identifier value | |
![]() ![]() ![]() ![]()  | 
1..1 | string | The value that is unique | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
1..2 | Reference(Practitioner | PractitionerRole | Organization | Patient) | Who is responsible for the observation Slice: Unordered, Open by type:$this  | |
![]() ![]() ![]()  | 
0..1 | Reference(Patient) | Who is responsible for the observation | |
![]() ![]() ![]()  | 
0..1 | Reference(Organization) | Who is responsible for the observation | |
![]() ![]() ![]()  | 
0..1 | Reference(PractitionerRoleLiteSe) | Who is responsible for the observation | |
![]() ![]() ![]()  | 
0..1 | Reference(Practitioner) | Who is responsible for the observation | |
![]() ![]()  | 
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. | |
![]() ![]()  | 
Content/Rules for all slices | |||
![]() ![]() ![]()  | 
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. | |
![]() ![]() ![]() ![]()  | 
1..1 | decimal | Numerical value (with implicit precision) | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..1 | Reference(ObservationInspiredOxygenLite) {c} | Used when reporting vital signs panel components | |
![]() ![]()  | 
0..0 | |||
  Documentation for this format | ||||
| Path | Conformance | ValueSet | URI | 
| Observation.status | required | VitalSignStatushttps://cambio.codes/fhir/vs/vital-sign-status/v1From this IG  | 
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | ||||
|---|---|---|---|---|---|---|---|---|
![]()  | 
C | 0..* | ObservationOxygenSaturationCore | FHIR Oxygen Saturation Profile Constraints: obs-6, obs-7, vs-2  | ||||
![]() ![]()  | 
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]()  | 
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]()  | 
SΣ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]()  | 
Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]()  | 
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.  | ||||
![]() ![]() ![]()  | 
Σ | 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".  | ||||
![]() ![]()  | 
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]()  | 
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language. 
  | |||||
![]() ![]()  | 
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  | |||||
![]() ![]()  | 
0..* | Resource | Contained, inline Resources | |||||
![]() ![]()  | 
0..* | Extension | Extension Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
0..1 | boolean | Optional Extensions Element URL: https://fhir.cambio.se/StructureDefinition/saturation-hypercapnicRespiratoryFailure/v1  | |||||
![]() ![]()  | 
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]()  | 
Σ | 0..* | Identifier | Business Identifier for observation | ||||
![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient  | ||||
![]() ![]() ![]()  | 
Σ | 1..1 | string | The value that is unique Example General: 123456  | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]()  | 
?!SΣ | 1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of Codes providing the status of an observation.  | ||||
![]() ![]()  | 
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.  | ||||
![]() ![]() ![]()  | 
S | 1..1 | CodeableConcept | Classification of  type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.  | ||||
![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]()  | 
SΣ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]()  | 
SΣ | 1..1 | CodeableConcept | Oxygen Saturation Binding: VitalSigns (extensible): This identifies the vital sign result type.  | ||||
![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
Σ | 2..2 | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 2708-6  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 103228002  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]()  | 
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about | ||||
![]() ![]()  | 
Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]()  | 
Σ | 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).  | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]()  | 
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 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.  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | string | The value that is unique Example General: 123456  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | string | Text alternative for the resource | ||||
![]() ![]()  | 
SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs Constraints: vs-1  | ||||
![]() ![]()  | 
Σ | 1..2 | Reference(Practitioner | PractitionerRole | Organization | Patient) | Who is responsible for the observation Slice: Unordered, Open by type:$this  | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Patient) | Who is responsible for the observation | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Organization) | Who is responsible for the observation | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(PractitionerRoleLiteSe) | Who is responsible for the observation | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Practitioner) | Who is responsible for the observation | ||||
![]() ![]()  | 
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  | ||||
![]() ![]() ![]()  | 
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. | ||||
![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | decimal | Numerical value (with implicit precision) | ||||
![]() ![]() ![]() ![]()  | 
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.  | ||||
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | string | Unit representation Fixed Value: %  | ||||
![]() ![]() ![]() ![]()  | 
SΣC | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org  | ||||
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. Fixed Value: %  | ||||
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |||||
![]() ![]()  | 
0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.  | |||||
![]() ![]()  | 
Σ | 0..1 | Reference(ObservationInspiredOxygenLite) {c} | Used when reporting vital signs panel components | ||||
  Documentation for this format | ||||||||
| Path | Conformance | ValueSet | URI | |||
| Observation.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labelsFrom the FHIR Standard  | ||||
| Observation.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tagsFrom the FHIR Standard  | ||||
| Observation.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languagesFrom the FHIR Standard 
  | ||||
| Observation.status | required | VitalSignStatushttps://cambio.codes/fhir/vs/vital-sign-status/v1From this IG  | ||||
| Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard  | ||||
| Observation.category:VSCat | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard  | ||||
| Observation.code | extensible | VitalSignshttp://hl7.org/fhir/ValueSet/observation-vitalsignresultFrom the FHIR Standard  | ||||
| Observation.encounter.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-typesFrom the FHIR Standard  | ||||
| Observation.encounter.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1From the FHIR Standard  | ||||
| Observation.encounter.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-typeFrom the FHIR Standard  | ||||
| Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1From the FHIR Standard  | ||||
| Observation.method | example | ObservationMethodshttp://hl7.org/fhir/ValueSet/observation-methodsFrom the FHIR Standard  | ||||
| Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaningFrom the FHIR Standard  | ||||
| Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliestoFrom the FHIR Standard  | ||||
| Observation.component.code | extensible | VitalSignshttp://hl7.org/fhir/ValueSet/observation-vitalsignresultFrom the FHIR Standard  | ||||
| Observation.component.value[x] | required | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1From the FHIR Standard  | ||||
| Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reasonFrom the FHIR Standard  | ||||
| Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretationFrom the FHIR Standard  | 
| Id | Grade | Path(s) | Details | Requirements | 
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty()  | |
| dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()  | |
| dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()  | |
| dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty()  | |
| dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists()  | |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count())  | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists()  | |
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty()  | |
| obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()  | |
| vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8  | |
| 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 ObservationOxygenSaturationCore
Summary
Mandatory: 2 elements(4 nested mandatory elements)
 Must-Support: 1 element
 Prohibited: 11 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | 
|---|---|---|---|---|
![]()  | 
C | 0..* | ObservationOxygenSaturationCore | FHIR Oxygen Saturation Profile Constraints: obs-6, obs-7, vs-2  | 
![]() ![]()  | 
Σ | 0..1 | Meta | Metadata about the resource | 
![]() ![]() ![]()  | 
SΣ | 0..1 | uri | Identifies where the resource comes from | 
![]() ![]() ![]()  | 
Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to | 
![]() ![]()  | 
?!Σ | 0..1 | uri | A set of rules under which this content was created | 
![]() ![]()  | 
0..* | Extension | Extension Slice: Unordered, Open by value:url  | |
![]() ![]() ![]()  | 
0..1 | boolean | Optional Extensions Element URL: https://fhir.cambio.se/StructureDefinition/saturation-hypercapnicRespiratoryFailure/v1  | |
![]() ![]()  | 
?! | 0..* | Extension | Extensions that cannot be ignored | 
![]() ![]()  | 
?!SΣ | 1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of Codes providing the status of an observation.  | 
![]() ![]()  | 
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.  | 
![]() ![]() ![]()  | 
S | 1..1 | CodeableConcept | Classification of  type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.  | 
![]() ![]() ![]() ![]()  | 
SΣ | 1..* | Coding | Code defined by a terminology system | 
![]() ![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category  | 
![]() ![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs  | 
![]() ![]()  | 
SΣ | 1..1 | CodeableConcept | Oxygen Saturation Binding: VitalSigns (extensible): This identifies the vital sign result type.  | 
![]() ![]() ![]()  | 
Σ | 2..2 | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system  | 
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | Coding | Code defined by a terminology system | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org  | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 2708-6  | 
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | Coding | Code defined by a terminology system | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct  | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 103228002  | 
![]() ![]()  | 
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about | 
![]() ![]()  | 
SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs Constraints: vs-1  | 
![]() ![]()  | 
Σ | 1..2 | Reference(Practitioner | PractitionerRole | Organization | Patient) | Who is responsible for the observation Slice: Unordered, Open by type:$this  | 
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Patient) | Who is responsible for the observation | 
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Organization) | Who is responsible for the observation | 
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(PractitionerRoleLiteSe) | Who is responsible for the observation | 
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Practitioner) | Who is responsible for the observation | 
![]() ![]()  | 
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  | 
![]() ![]() ![]()  | 
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. | 
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | decimal | Numerical value (with implicit precision) | 
![]() ![]() ![]() ![]()  | 
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.  | 
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | string | Unit representation Fixed Value: %  | 
![]() ![]() ![]() ![]()  | 
SΣC | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org  | 
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. Fixed Value: %  | 
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |
![]() ![]()  | 
Σ | 0..1 | Reference(ObservationInspiredOxygenLite) {c} | Used when reporting vital signs panel components | 
  Documentation for this format | ||||
| Path | Conformance | ValueSet | URI | 
| Observation.status | required | VitalSignStatushttps://cambio.codes/fhir/vs/vital-sign-status/v1From this IG  | |
| Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard  | |
| Observation.category:VSCat | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard  | |
| Observation.code | extensible | VitalSignshttp://hl7.org/fhir/ValueSet/observation-vitalsignresultFrom the FHIR Standard  | |
| Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1From the FHIR Standard  | |
| Observation.component.code | extensible | VitalSignshttp://hl7.org/fhir/ValueSet/observation-vitalsignresultFrom the FHIR Standard  | |
| Observation.component.value[x] | required | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1From the FHIR Standard  | |
| Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reasonFrom the FHIR Standard  | 
| Id | Grade | Path(s) | Details | Requirements | 
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty()  | |
| dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()  | |
| dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()  | |
| dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty()  | |
| dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists()  | |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count())  | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists()  | |
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty()  | |
| obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()  | |
| vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8  | |
| 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 ObservationOxygenSaturationCore
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | 
|---|---|---|---|---|
![]()  | 
ObservationOxygenSaturationCore | |||
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
S | 0..1 | uri | Identifies where the resource comes from | 
![]() ![]() ![]()  | 
1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to | |
![]() ![]()  | 
0..* | Extension | Extension Slice: Unordered, Open by value:url  | |
![]() ![]() ![]()  | 
0..1 | boolean | Optional Extensions Element URL: https://fhir.cambio.se/StructureDefinition/saturation-hypercapnicRespiratoryFailure/v1  | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
0..0 | |||
![]() ![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of Codes providing the status of an observation.  | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
2..2 | Coding | Code defined by a terminology system | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
||||
![]() ![]() ![]() ![]()  | 
1..1 | uri | The namespace for the identifier value | |
![]() ![]() ![]() ![]()  | 
1..1 | string | The value that is unique | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
1..2 | Reference(Practitioner | PractitionerRole | Organization | Patient) | Who is responsible for the observation Slice: Unordered, Open by type:$this  | |
![]() ![]() ![]()  | 
0..1 | Reference(Patient) | Who is responsible for the observation | |
![]() ![]() ![]()  | 
0..1 | Reference(Organization) | Who is responsible for the observation | |
![]() ![]() ![]()  | 
0..1 | Reference(PractitionerRoleLiteSe) | Who is responsible for the observation | |
![]() ![]() ![]()  | 
0..1 | Reference(Practitioner) | Who is responsible for the observation | |
![]() ![]()  | 
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. | |
![]() ![]()  | 
Content/Rules for all slices | |||
![]() ![]() ![]()  | 
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. | |
![]() ![]() ![]() ![]()  | 
1..1 | decimal | Numerical value (with implicit precision) | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..1 | Reference(ObservationInspiredOxygenLite) {c} | Used when reporting vital signs panel components | |
![]() ![]()  | 
0..0 | |||
  Documentation for this format | ||||
| Path | Conformance | ValueSet | URI | 
| Observation.status | required | VitalSignStatushttps://cambio.codes/fhir/vs/vital-sign-status/v1From this IG  | 
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | ||||
|---|---|---|---|---|---|---|---|---|
![]()  | 
C | 0..* | ObservationOxygenSaturationCore | FHIR Oxygen Saturation Profile Constraints: obs-6, obs-7, vs-2  | ||||
![]() ![]()  | 
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]()  | 
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]()  | 
SΣ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]()  | 
Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]()  | 
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.  | ||||
![]() ![]() ![]()  | 
Σ | 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".  | ||||
![]() ![]()  | 
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]()  | 
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language. 
  | |||||
![]() ![]()  | 
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  | |||||
![]() ![]()  | 
0..* | Resource | Contained, inline Resources | |||||
![]() ![]()  | 
0..* | Extension | Extension Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
0..1 | boolean | Optional Extensions Element URL: https://fhir.cambio.se/StructureDefinition/saturation-hypercapnicRespiratoryFailure/v1  | |||||
![]() ![]()  | 
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]()  | 
Σ | 0..* | Identifier | Business Identifier for observation | ||||
![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient  | ||||
![]() ![]() ![]()  | 
Σ | 1..1 | string | The value that is unique Example General: 123456  | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]()  | 
?!SΣ | 1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of Codes providing the status of an observation.  | ||||
![]() ![]()  | 
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.  | ||||
![]() ![]() ![]()  | 
S | 1..1 | CodeableConcept | Classification of  type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.  | ||||
![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]()  | 
SΣ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]()  | 
SΣ | 1..1 | CodeableConcept | Oxygen Saturation Binding: VitalSigns (extensible): This identifies the vital sign result type.  | ||||
![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
Σ | 2..2 | Coding | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 2708-6  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://snomed.info/sct  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 103228002  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]()  | 
SΣ | 1..1 | Reference(Patient) | Who and/or what the observation is about | ||||
![]() ![]()  | 
Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]()  | 
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]()  | 
Σ | 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).  | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]()  | 
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 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.  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 1..1 | string | The value that is unique Example General: 123456  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | string | Text alternative for the resource | ||||
![]() ![]()  | 
SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs Constraints: vs-1  | ||||
![]() ![]()  | 
Σ | 1..2 | Reference(Practitioner | PractitionerRole | Organization | Patient) | Who is responsible for the observation Slice: Unordered, Open by type:$this  | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Patient) | Who is responsible for the observation | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Organization) | Who is responsible for the observation | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(PractitionerRoleLiteSe) | Who is responsible for the observation | ||||
![]() ![]() ![]()  | 
Σ | 0..1 | Reference(Practitioner) | Who is responsible for the observation | ||||
![]() ![]()  | 
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  | ||||
![]() ![]() ![]()  | 
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. | ||||
![]() ![]() ![]() ![]()  | 
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]()  | 
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url  | |||||
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | decimal | Numerical value (with implicit precision) | ||||
![]() ![]() ![]() ![]()  | 
?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.  | ||||
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | string | Unit representation Fixed Value: %  | ||||
![]() ![]() ![]() ![]()  | 
SΣC | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org  | ||||
![]() ![]() ![]() ![]()  | 
SΣ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. Fixed Value: %  | ||||
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |||||
![]() ![]()  | 
0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations.  | |||||
![]() ![]()  | 
Σ | 0..1 | Reference(ObservationInspiredOxygenLite) {c} | Used when reporting vital signs panel components | ||||
  Documentation for this format | ||||||||
| Path | Conformance | ValueSet | URI | |||
| Observation.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labelsFrom the FHIR Standard  | ||||
| Observation.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tagsFrom the FHIR Standard  | ||||
| Observation.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languagesFrom the FHIR Standard 
  | ||||
| Observation.status | required | VitalSignStatushttps://cambio.codes/fhir/vs/vital-sign-status/v1From this IG  | ||||
| Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard  | ||||
| Observation.category:VSCat | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-categoryFrom the FHIR Standard  | ||||
| Observation.code | extensible | VitalSignshttp://hl7.org/fhir/ValueSet/observation-vitalsignresultFrom the FHIR Standard  | ||||
| Observation.encounter.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-typesFrom the FHIR Standard  | ||||
| Observation.encounter.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1From the FHIR Standard  | ||||
| Observation.encounter.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-typeFrom the FHIR Standard  | ||||
| Observation.value[x]:valueQuantity.comparator | required | QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1From the FHIR Standard  | ||||
| Observation.method | example | ObservationMethodshttp://hl7.org/fhir/ValueSet/observation-methodsFrom the FHIR Standard  | ||||
| Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaningFrom the FHIR Standard  | ||||
| Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliestoFrom the FHIR Standard  | ||||
| Observation.component.code | extensible | VitalSignshttp://hl7.org/fhir/ValueSet/observation-vitalsignresultFrom the FHIR Standard  | ||||
| Observation.component.value[x] | required | VitalSignsUnitshttp://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1From the FHIR Standard  | ||||
| Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reasonFrom the FHIR Standard  | ||||
| Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretationFrom the FHIR Standard  | 
| Id | Grade | Path(s) | Details | Requirements | 
| dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty()  | |
| dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()  | |
| dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()  | |
| dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty()  | |
| dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists()  | |
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count())  | |
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists()  | |
| obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty()  | |
| obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()  | |
| vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8  | |
| 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 ObservationOxygenSaturationCore
Summary
Mandatory: 2 elements(4 nested mandatory elements)
 Must-Support: 1 element
 Prohibited: 11 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron