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/ObservationPainNrsLite/v1 | Version: 1.1.0 | |||
| Active as of 2022-03-10 | Computable Name: ObservationPainNrsLite | |||
The ObservationPainNrsLite profile represents the vital parameter Pain NRS and is a profile created from the resource Observation. Pain NRS is an observation concerning pain level based on a Numeric Rating Scale (NRS). This scale is used in healthcare to help assess the extent of a patient's pain, rated from 0 (no pain) to 10 (Worst pain). The 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 ObservationPainNrsLite is used for communicating an entry of a patient's Pain NRS by sending a value in the element observation.value. The API can be used to create and read patient Pain NRS 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 | 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) | 
| 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 | 
| 2.4.4 | 1.0.0 | R8.3.04 | Feb 2022 | Initial version, support for GET and POST. | 
| HTTP Method | Description | 
|---|---|
| GET | Used to get or search for Pain NRS registrations | 
| POST | Used to create a Pain NRS 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 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..* | ObservationPainNrsCore | FHIR Vital Signs Profile Constraints: obs-6, obs-7, vs-2  | 
![]() ![]()  | 
Σ | 1..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 | 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..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 | Coded Responses from C-CDA Vital Sign Results Binding: VitalSigns (extensible): This identifies the vital sign result type.  | 
![]() ![]() ![]()  | 
Σ | 1..1 | 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://snomed.info/sct  | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 49121000146105  | 
![]() ![]()  | 
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 | Organization | Patient | PractitionerRoleLiteSe) | 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 | CodeableConcept | 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 | CodeableConcept | 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 | Coding | Code defined by a terminology system | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://cambio.codes/nrs/cs/pain-numeric-rating-scale  | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Binding: PainNumericRatingScale (required)  | 
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |
![]() ![]() ![]()  | 
Σ | 1..1 | markdown | The annotation - text content (as markdown) | 
  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]:valueCodeableConcept.coding.code | required | PainNumericRatingScalehttps://fhir.cambio.se/ValueSet/PainNumericRatingScale/v1From this IG  | |
| 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 ObservationPainNrsCore
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | 
|---|---|---|---|---|
![]()  | 
0..* | ObservationPainNrsCore | FHIR Vital Signs Profile | |
![]() ![]()  | 
1..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..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of codes providing the status of an observation.  | |
![]() ![]()  | 
1..1 | CodeableConcept | Classification of type of observation | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
1..1 | Coding | Code defined by a terminology system | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
||||
![]() ![]() ![]() ![]()  | 
1..1 | string | The value that is unique | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
1..2 | Reference(Practitioner | Organization | Patient | PractitionerRoleLiteSe) | 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 | CodeableConcept | 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..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
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..* | ObservationPainNrsCore | FHIR Vital Signs Profile Constraints: obs-6, obs-7, vs-2  | ||||
![]() ![]()  | 
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]()  | 
Σ | 1..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 | Additional content defined by implementations | |||||
![]() ![]()  | 
?! | 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  | ||||
![]() ![]()  | 
?!SΣ | 1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of codes providing the status of an observation.  | ||||
![]() ![]()  | 
S | 1..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 | Coded Responses from C-CDA Vital Sign Results 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  | |||||
![]() ![]() ![]()  | 
Σ | 1..1 | 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://snomed.info/sct  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 49121000146105  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 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 | 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.  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 0..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 | ||||
![]() ![]()  | 
Σ | 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 | Organization | Patient | PractitionerRoleLiteSe) | 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 | CodeableConcept | 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 | CodeableConcept | 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  | |||||
![]() ![]() ![]() ![]()  | 
Σ | 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: https://cambio.codes/nrs/cs/pain-numeric-rating-scale  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Binding: PainNumericRatingScale (required)  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 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 | ||||
![]() ![]()  | 
0..1 | Annotation | Comments about the 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 | markdown | The annotation - text content (as markdown) | ||||
  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.subject.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-typesFrom the FHIR Standard  | ||||
| Observation.subject.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1From the FHIR Standard  | ||||
| Observation.subject.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-typeFrom 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]:valueCodeableConcept.coding.code | required | PainNumericRatingScalehttps://fhir.cambio.se/ValueSet/PainNumericRatingScale/v1From this IG  | ||||
| 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 ObservationPainNrsCore
Summary
Mandatory: 2 elements(1 nested mandatory element)
 Must-Support: 1 element
 Prohibited: 8 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | 
|---|---|---|---|---|
![]()  | 
C | 0..* | ObservationPainNrsCore | FHIR Vital Signs Profile Constraints: obs-6, obs-7, vs-2  | 
![]() ![]()  | 
Σ | 1..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 | 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..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 | Coded Responses from C-CDA Vital Sign Results Binding: VitalSigns (extensible): This identifies the vital sign result type.  | 
![]() ![]() ![]()  | 
Σ | 1..1 | 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://snomed.info/sct  | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 49121000146105  | 
![]() ![]()  | 
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 | Organization | Patient | PractitionerRoleLiteSe) | 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 | CodeableConcept | 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 | CodeableConcept | 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 | Coding | Code defined by a terminology system | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://cambio.codes/nrs/cs/pain-numeric-rating-scale  | 
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Binding: PainNumericRatingScale (required)  | 
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |
![]() ![]() ![]()  | 
Σ | 1..1 | markdown | The annotation - text content (as markdown) | 
  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]:valueCodeableConcept.coding.code | required | PainNumericRatingScalehttps://fhir.cambio.se/ValueSet/PainNumericRatingScale/v1From this IG  | |
| 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 ObservationPainNrsCore
| Name | Flags | Card. | Type | Description & Constraints    Filter:  ![]() ![]()  | 
|---|---|---|---|---|
![]()  | 
0..* | ObservationPainNrsCore | FHIR Vital Signs Profile | |
![]() ![]()  | 
1..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..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of codes providing the status of an observation.  | |
![]() ![]()  | 
1..1 | CodeableConcept | Classification of type of observation | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
1..1 | Coding | Code defined by a terminology system | |
![]() ![]()  | 
||||
![]() ![]() ![]()  | 
||||
![]() ![]() ![]() ![]()  | 
1..1 | string | The value that is unique | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
1..2 | Reference(Practitioner | Organization | Patient | PractitionerRoleLiteSe) | 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 | CodeableConcept | 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..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..1 | Annotation | Comments about the observation | |
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
0..0 | |||
![]() ![]()  | 
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..* | ObservationPainNrsCore | FHIR Vital Signs Profile Constraints: obs-6, obs-7, vs-2  | ||||
![]() ![]()  | 
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]()  | 
Σ | 1..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 | Additional content defined by implementations | |||||
![]() ![]()  | 
?! | 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  | ||||
![]() ![]()  | 
?!SΣ | 1..1 | code | preliminary | final | entered in error | cancelled Binding: VitalSignStatus (required): Subset of codes providing the status of an observation.  | ||||
![]() ![]()  | 
S | 1..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 | Coded Responses from C-CDA Vital Sign Results 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  | |||||
![]() ![]() ![]()  | 
Σ | 1..1 | 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://snomed.info/sct  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 49121000146105  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 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 | 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.  | ||||
![]() ![]() ![]() ![]()  | 
Σ | 0..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 | ||||
![]() ![]()  | 
Σ | 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 | Organization | Patient | PractitionerRoleLiteSe) | 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 | CodeableConcept | 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 | CodeableConcept | 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  | |||||
![]() ![]() ![]() ![]()  | 
Σ | 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: https://cambio.codes/nrs/cs/pain-numeric-rating-scale  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 1..1 | code | Symbol in syntax defined by the system Binding: PainNumericRatingScale (required)  | ||||
![]() ![]() ![]() ![]() ![]()  | 
Σ | 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 | ||||
![]() ![]()  | 
0..1 | Annotation | Comments about the 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 | markdown | The annotation - text content (as markdown) | ||||
  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.subject.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-typesFrom the FHIR Standard  | ||||
| Observation.subject.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1From the FHIR Standard  | ||||
| Observation.subject.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-typeFrom 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]:valueCodeableConcept.coding.code | required | PainNumericRatingScalehttps://fhir.cambio.se/ValueSet/PainNumericRatingScale/v1From this IG  | ||||
| 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 ObservationPainNrsCore
Summary
Mandatory: 2 elements(1 nested mandatory element)
 Must-Support: 1 element
 Prohibited: 8 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron