Interweave Implementation Guide
0.1.0 - ci-build
Interweave Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the STU3 profiles here.
Official URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Interweave-Observation | Version: 0.0.1 | |||
Draft as of 2024-07-15 | Computable Name: InterweaveObservation |
Interweave Observation resource profile - DRAFT.
Status: DRAFT: For Review
This profile sets minimum expectations for the Observation resource. We use the observation structure definition as a base to this profile.
This Resource will give the consumer the ability to see information on observations used for tracking any current and historical health observations recorded in a numberical value that have been made for a patient.
At its core, Observation allows expressing a name-value pair or structured collection of name-value pairs. The Observation resource provides measurements or simple assertions Examples of common observations are: Laboratory results (blood sugar, hemoglobin), Vital signs (temperature, blood pressure), Personal characteristics (height, weight), and Social history (tobacco/alcohol use, employment status). Pathology reports, radiology reports, and other textual reports should be represented by the DiagnosticReport resource.
This profile sets out the expectations for the interweave observation resource. Our profile models measurements and simple assertions about a patient that are useful for establishing baselines or trends, monitoring a patient’s progress, and establishing diagnoses. Most observations are simple name/value pair assertions but some observations, such as blood pressure, group other observations together logically. Modelling observations can be quite complex. This is due to the way in which result formats vary for the different types of observation. In line with UK Core, this has led us to design specific profiles for the some of the most commonly recorded/shared observation types such as blood pressure; heart rate; NEWS 2 score etc (see the artifacts section for the full list). We are aware at that we will not have modelled every type of observation, if you identify a type of observation, which you believe requires a specific profile, then please get in touch.
This profile can be used to represent observations which are perhaps less common or were no specific profile exists and is under development. But the “type” specific profiles should be used where possible, to aid the data consumer.
Only finalised observations should be provided for the shared care record.
The following mandatory fields are defined:
status – We use the required binding for the observation status. As stated in the introduction, only finalised observations should be shared. We do also allow for amendments and corrections to the final observation to take place. We therefore limit the list of statuses which can be used to the following - final; amended; corrected
category – The classification of the type of observation e.g. exam, survey, vital-signs etc. We require that the FHIR Observation category is always populated. There is also an option to provide additional local categories to enable FHIR searching on local categories.
code – This is the type of observation. We state a preferred binding on this field of the SNOMED concept: 363787002 (observable entity). This is in recognition of the large amount of local code sets which are currently in use and the difficulties which data providers may have mapping their local codes to SNOMED. Should you wish to use a local code set to populate this field, as detailed in the conformance section of this implementation guide, you must contact us for explicit approval to do so.
subject – Every observation must be linked to a patient.
effective – An important field to provide details of the time/time period during which the observation was taken.
In addition the following fields are "Must Support" - ie they must be populated if relevant and known.
identifier - A Local Id should be provided, such that could be quoted if manually getting in touch to find out more.
encounter – This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). For some observations it may be important to know the link between an observation and a particular encounter.
performer - We limit this field to reference practitioner / practitionerRole/ CareTeam resources only. The organization responsible for the observation can be obtained via the provenance tag.
value[x] – Is used to house simple results. We cannot make the field mandatory, as there maybe occasions where a result is missing (see dataAbsentReason below) or the result may be housed within the component field instead.
dataAbsentReason - The reason why the result is missing, this is valuable if a value has not been obtained for some reason e.g. a patient refused. This field can only be provided when there is no value present.
interpretation - This is also known as the ‘abnormal flag’ and is regularly recorded alongside the actual result. It is used to signal the meaning of the result.
note - Comments in addition to the result are often recorded for observations, it is therefore important to provide this field when available to give the consumer the full result information.
bodySite - A long list of SNOMED codes which represent the observed parts of the body.
referenceRange - To aid the interpretation of a result, it is important to include the reference range.
component – The component field is used to house multiple code/value pairs which make up a single result, such as systolic and diastolic measurements which in combination represent blood pressure. If the display order of values held in the component field has importance, then they should be provided in the order in which they should be displayed.
Other fields are optional and may be populated if known - on the understanding that not all data consumers will necessarily make use of them. Points of note include:
method – Option to provide the mechanism used to perform the observation.
specimen – Opportunity to provide a link to a specimen resource from which the observation was obtained.
device – Opportunity to provide a link to a device resource from which was used to obtain the observation.
derivedFrom – To reduce complexity, we limit the related field’s usage to only allow links to observation / Questionnaire Response resources, from which the primary observation’s value was derived. E.g. An observation may have a value which is a score, and that score may have been derived from several other observations.
bodyStructureR5 (extension) - Indicates the body structure on the subject's body where the observation was made (i.e. the target site). This is a R5 backport.
valuePrecision (extension) – We use the FHIR precision extension (Extension: precision - FHIR v4.3.0 (hl7.org)) to allow the decimal precision of a result value to be provided where it is of importance. This extension will also be available within the component field.
basedOn – This field is discouraged as it does not appear to provide information which would be beneficial in a shared care record. It also allows references to a raft of request/order resources which introduces a lot of complexity for a data consumer.
partOf – This field is discouraged as it does not appear to provide information which would be beneficial in a shared care record. It also allows references to a raft of request/order resources which introduces a lot of complexity for a data consumer.
issued – This field has been removed as this information can be taken from the mandatory meta.lastUpdated field, and to also avoid any confusion with the other date fields.
focus - Removed.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from UKCoreObservation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | UKCoreObservation | |||
id | S | 0..1 | id | Logical id of this artifact |
meta | ||||
id | 0..0 | |||
versionId | S | 0..1 | id | Version specific identifier |
lastUpdated | S | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. |
profile | S | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource. |
security | 0..* | Coding | DISCOURAGED - may not be honoured by Data Consumers | |
Slices for tag | 0..* | Coding | Tags applied to this resource Slice: Unordered, Open by value:system | |
tag:Source | S | 0..1 | Coding | MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data |
id | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.interweavedigital.nhs.uk/Source | |
version | 0..0 | |||
code | S | 1..1 | code | The Data Provider Id of the system supplying the data |
display | S | 1..1 | string | Name of the system supplying the data |
tag:Provenance | S | 0..1 | Coding | MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data |
id | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance | |
version | 0..0 | |||
code | S | 1..1 | code | The ODS Code of the organisation responsible for the data |
display | S | 1..1 | string | Name of the organisation supplying the data |
implicitRules | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | |
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) | |
text | 0..1 | Narrative | DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users | |
Slices for extension | Content/Rules for all slices | |||
extension:triggeredByR5 | 0..0 | |||
valuePrecision | 0..1 | integer | Explicit precision of the number URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Extension-Interweave-ValuePrecision | |
identifier | S | 0..* | Identifier | Business Identifier for observation |
id | 0..0 | |||
extension | 0..0 | |||
assigner | 0..1 | Reference(InterweaveOrganization) | Organization that issued id (may be just text) | |
basedOn | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | DISCOURAGED - This field does not appear to provide information which would be beneficial in a shared care record. It also allows references to a raft of request/order resources which introduces a lot of complexity for a data consumer. | |
partOf | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | DISCOURAGED - This field does not appear to provide information which would be beneficial in a shared care record. It also allows references to a raft of request/order resources which introduces a lot of complexity for a data consumer. | |
Slices for category | 1..* | CodeableConcept | A code that classifies the general type of observation being made. Slice: Unordered, Open by value:coding.system | |
category:All Slices | Content/Rules for all slices | |||
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
version | 0..0 | |||
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
category:observationCategory | 1..1 | CodeableConcept | A code that classifies the general type of observation being made. Binding: ObservationCategoryCodes (required): Codes for high level observation categories. | |
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
code | ||||
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
subject | 1..1 | Reference(InterweavePatient) | Who and / or what the observation is about. | |
id | 0..0 | |||
extension | 0..0 | |||
reference | 1..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 1..1 | string | Description of the referenced resource | |
focus | 0..0 | |||
encounter | S | 0..1 | Reference(InterweaveEncounter) | Healthcare event during which this observation is made |
effective[x] | 1..1 | This is the time/time period during which the observation was taken. | ||
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effectiveInstant | instant | |||
issued | 0..0 | |||
performer | 0..* | Reference(Practitioner | PractitionerRole | CareTeam) | Who is responsible for the observation. | |
id | 0..0 | |||
extension | 0..0 | |||
reference | 1..1 | string | Reference to a resource (could be Contained) | |
identifier | 0..1 | Identifier | If relevant could include an id | |
display | 1..1 | string | Description of the referenced resource | |
dataAbsentReason | S | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (required) |
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
interpretation | S | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (required) |
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
note | S | 0..1 | Annotation | Comments about the observation |
bodySite | S | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (required) |
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
method | ||||
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
device | 0..1 | Reference(Device) | (Measurement) Device | |
referenceRange | S | 0..* | BackboneElement | Provides guide for interpretation |
id | 0..0 | |||
extension | 0..0 | |||
hasMember | 0..0 | |||
derivedFrom | 0..* | Reference(InterweaveObservation | InterweaveQuestionnaireResponse) | Related measurements the observation is made from | |
component | ||||
id | 0..0 | |||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
valuePrecision | 0..1 | integer | Explicit precision (number of significant decimal places) URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Extension-Interweave-ValuePrecision | |
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) |
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
value[x] | S | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result |
dataAbsentReason | S | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (required) |
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
interpretation | S | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (required) |
id | 0..0 | |||
extension | 0..0 | |||
coding | ||||
id | 0..0 | |||
extension | 0..0 | |||
system | 1..1 | uri | Identity of the terminology system | |
code | 1..1 | code | Symbol in syntax defined by the system | |
display | 1..1 | string | Representation defined by the system | |
referenceRange | S | 0..* | Provides guide for interpretation of component result | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.category:observationCategory | required | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | |
Observation.dataAbsentReason | required | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | |
Observation.interpretation | required | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | |
Observation.bodySite | required | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-site from the FHIR Standard | |
Observation.component.dataAbsentReason | required | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | |
Observation.component.interpretation | required | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | UKCoreObservation | Measurements and simple assertions obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | ||||
id | SΣ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
versionId | SΣ | 0..1 | id | Version specific identifier | ||||
lastUpdated | SΣ | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. | ||||
profile | SΣ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource. | ||||
security | Σ | 0..* | Coding | DISCOURAGED - may not be honoured by Data Consumers Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
Slices for tag | Σ | 0..* | Coding | Tags applied to this resource Slice: Unordered, Open by value:system Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
tag:Source | SΣ | 0..1 | Coding | MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.interweavedigital.nhs.uk/Source | ||||
code | SΣ | 1..1 | code | The Data Provider Id of the system supplying the data | ||||
display | SΣ | 1..1 | string | Name of the system supplying the data | ||||
tag:Provenance | SΣ | 0..1 | Coding | MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance | ||||
code | SΣ | 1..1 | code | The ODS Code of the organisation responsible for the data | ||||
display | SΣ | 1..1 | string | Name of the organisation supplying the data | ||||
implicitRules | ?!Σ | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | ||||
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users | |||||
Slices for extension | Content/Rules for all slices | |||||||
bodyStructureR5 | 0..1 | Reference(BodyStructure) | Observed body structure. This is a R5 backport. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure | |||||
valuePrecision | 0..1 | integer | Explicit precision of the number URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Extension-Interweave-ValuePrecision | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | SΣ | 0..* | Identifier | Business Identifier for observation | ||||
extension | 0..0 | |||||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
assigner | Σ | 0..1 | Reference(InterweaveOrganization) | Organization that issued id (may be just text) | ||||
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | DISCOURAGED - This field does not appear to provide information which would be beneficial in a shared care record. It also allows references to a raft of request/order resources which introduces a lot of complexity for a data consumer. | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | DISCOURAGED - This field does not appear to provide information which would be beneficial in a shared care record. It also allows references to a raft of request/order resources which introduces a lot of complexity for a data consumer. | ||||
status | ?!SΣ | 1..1 | code | The status of the result value. Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
Slices for category | S | 1..* | CodeableConcept | A code that classifies the general type of observation being made. Slice: Unordered, Open by value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | ||||
category:All Slices | Content/Rules for all slices | |||||||
extension | 0..0 | |||||||
category:observationCategory | S | 1..1 | CodeableConcept | A code that classifies the general type of observation being made. Binding: ObservationCategoryCodes (required): Codes for high level observation categories. | ||||
extension | 0..0 | |||||||
code | SΣ | 1..1 | CodeableConcept | The type of observation (code / type). Binding: UK Core Observation Type (preferred): A code from the SNOMED Clinical Terminology UK coding system describing a type of observation | ||||
extension | 0..0 | |||||||
subject | SΣ | 1..1 | Reference(InterweavePatient) | Who and / or what the observation is about. | ||||
extension | 0..0 | |||||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
encounter | SΣ | 0..1 | Reference(InterweaveEncounter) | Healthcare event during which this observation is made | ||||
effective[x] | SΣ | 1..1 | This is the time/time period during which the observation was taken. | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveInstant | instant | |||||||
performer | SΣ | 0..* | Reference(Practitioner | PractitionerRole | CareTeam) | Who is responsible for the observation. | ||||
extension | 0..0 | |||||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
value[x] | SΣC | 0..1 | The actual observed result. | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (required) | ||||
extension | 0..0 | |||||||
interpretation | S | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (required) | ||||
extension | 0..0 | |||||||
note | S | 0..1 | Annotation | Comments about the observation | ||||
bodySite | S | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (required) | ||||
extension | 0..0 | |||||||
device | 0..1 | Reference(Device) | (Measurement) Device | |||||
referenceRange | SC | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
derivedFrom | Σ | 0..* | Reference(InterweaveObservation | InterweaveQuestionnaireResponse) | Related measurements the observation is made from | ||||
component | SΣ | 0..* | BackboneElement | Component / sub results. | ||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
valuePrecision | 0..1 | integer | Explicit precision (number of significant decimal places) URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Extension-Interweave-ValuePrecision | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: UK Core Observation Type (preferred): A code from the SNOMED Clinical Terminology UK coding system describing a type of observation | ||||
extension | 0..0 | |||||||
value[x] | SΣ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (required) | ||||
extension | 0..0 | |||||||
interpretation | S | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (required) | ||||
extension | 0..0 | |||||||
referenceRange | S | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | ||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Observation.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels from the FHIR Standard | ||||
Observation.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Observation.meta.tag:Source | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Observation.meta.tag:Provenance | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Observation.extension:triggeredByR5.extension:type.value[x] | required | http://hl7.org/fhir/ValueSet/observation-triggeredbytypehttp://hl7.org/fhir/ValueSet/observation-triggeredbytype | ||||
Observation.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | ||||
Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.category:observationCategory | required | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.code | preferred | UKCoreObservationTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-ObservationType from this IG | ||||
Observation.dataAbsentReason | required | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.interpretation | required | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | ||||
Observation.bodySite | required | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-site from the FHIR Standard | ||||
Observation.component.code | preferred | UKCoreObservationTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-ObservationType from this IG | ||||
Observation.component.dataAbsentReason | required | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | required | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from 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-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | UKCoreObservation | Measurements and simple assertions obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present | ||||
id | SΣ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
versionId | SΣ | 0..1 | id | Version specific identifier | ||||
lastUpdated | SΣ | 0..1 | instant | MANDATORY except in Contained Resources. When the resource version last changed. | ||||
source | Σ | 0..1 | uri | Identifies where the resource comes from | ||||
profile | SΣ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource. | ||||
security | Σ | 0..* | Coding | DISCOURAGED - may not be honoured by Data Consumers Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
Slices for tag | Σ | 0..* | Coding | Tags applied to this resource Slice: Unordered, Open by value:system Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
tag:Source | SΣ | 0..1 | Coding | MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.interweavedigital.nhs.uk/Source | ||||
code | SΣ | 1..1 | code | The Data Provider Id of the system supplying the data | ||||
display | SΣ | 1..1 | string | Name of the system supplying the data | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
tag:Provenance | SΣ | 0..1 | Coding | MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance | ||||
code | SΣ | 1..1 | code | The ODS Code of the organisation responsible for the data | ||||
display | SΣ | 1..1 | string | Name of the organisation supplying the data | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
implicitRules | ?!Σ | 0..1 | uri | DISCOURAGED - may not be honoured by Data Consumers | ||||
language | 0..1 | code | English is assumed (not currently a multi-lingual implementation) Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
bodyStructureR5 | 0..1 | Reference(BodyStructure) | Observed body structure. This is a R5 backport. URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.bodyStructure | |||||
valuePrecision | 0..1 | integer | Explicit precision of the number URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Extension-Interweave-ValuePrecision | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | SΣ | 0..* | Identifier | Business Identifier for observation | ||||
extension | 0..0 | |||||||
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..1 | string | The value that is unique Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | Σ | 0..1 | Reference(InterweaveOrganization) | Organization that issued id (may be just text) | ||||
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | DISCOURAGED - This field does not appear to provide information which would be beneficial in a shared care record. It also allows references to a raft of request/order resources which introduces a lot of complexity for a data consumer. | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | DISCOURAGED - This field does not appear to provide information which would be beneficial in a shared care record. It also allows references to a raft of request/order resources which introduces a lot of complexity for a data consumer. | ||||
status | ?!SΣ | 1..1 | code | The status of the result value. Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
Slices for category | S | 1..* | CodeableConcept | A code that classifies the general type of observation being made. Slice: Unordered, Open by value:coding.system Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | ||||
category:All Slices | Content/Rules for all slices | |||||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
category:observationCategory | S | 1..1 | CodeableConcept | A code that classifies the general type of observation being made. Binding: ObservationCategoryCodes (required): Codes for high level observation categories. | ||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
code | SΣ | 1..1 | CodeableConcept | The type of observation (code / type). Binding: UK Core Observation Type (preferred): A code from the SNOMED Clinical Terminology UK coding system describing a type of observation | ||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
subject | SΣ | 1..1 | Reference(InterweavePatient) | Who and / or what the observation is about. | ||||
extension | 0..0 | |||||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
encounter | SΣ | 0..1 | Reference(InterweaveEncounter) | Healthcare event during which this observation is made | ||||
effective[x] | SΣ | 1..1 | This is the time/time period during which the observation was taken. | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveInstant | instant | |||||||
performer | SΣ | 0..* | Reference(Practitioner | PractitionerRole | CareTeam) | Who is responsible for the observation. | ||||
extension | 0..0 | |||||||
reference | ΣC | 1..1 | string | Reference to a resource (could be Contained) | ||||
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
identifier | Σ | 0..1 | Identifier | If relevant could include an id | ||||
display | Σ | 1..1 | string | Description of the referenced resource | ||||
value[x] | SΣC | 0..1 | The actual observed result. | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (required) | ||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
interpretation | S | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (required) | ||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
note | S | 0..1 | Annotation | Comments about the observation | ||||
bodySite | S | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (required) | ||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
method | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (preferred): Methods for simple observations. | |||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
specimen | 0..1 | Reference(Specimen) | Specimen used for this observation | |||||
device | 0..1 | Reference(Device) | (Measurement) Device | |||||
referenceRange | SC | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text | ||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
low | C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
derivedFrom | Σ | 0..* | Reference(InterweaveObservation | InterweaveQuestionnaireResponse) | Related measurements the observation is made from | ||||
component | SΣ | 0..* | BackboneElement | Component / sub results. | ||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
valuePrecision | 0..1 | integer | Explicit precision (number of significant decimal places) URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Extension-Interweave-ValuePrecision | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | SΣ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: UK Core Observation Type (preferred): A code from the SNOMED Clinical Terminology UK coding system describing a type of observation | ||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
value[x] | SΣ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | SC | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (required) | ||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
interpretation | S | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (required) | ||||
extension | 0..0 | |||||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
extension | 0..0 | |||||||
system | Σ | 1..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
display | Σ | 1..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
referenceRange | S | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | ||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Observation.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels from the FHIR Standard | ||||
Observation.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Observation.meta.tag:Source | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Observation.meta.tag:Provenance | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Observation.extension:triggeredByR5.extension:type.value[x] | required | http://hl7.org/fhir/ValueSet/observation-triggeredbytypehttp://hl7.org/fhir/ValueSet/observation-triggeredbytype | ||||
Observation.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Observation.identifier.type | extensible | Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type from the FHIR Standard | ||||
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | ||||
Observation.category | preferred | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.category:observationCategory | required | ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category from the FHIR Standard | ||||
Observation.code | preferred | UKCoreObservationTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-ObservationType from this IG | ||||
Observation.subject.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types from the FHIR Standard | ||||
Observation.performer.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types from the FHIR Standard | ||||
Observation.dataAbsentReason | required | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.interpretation | required | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | ||||
Observation.bodySite | required | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-site from the FHIR Standard | ||||
Observation.method | preferred | ObservationMethodshttp://hl7.org/fhir/ValueSet/observation-methods from the FHIR Standard | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodeshttp://hl7.org/fhir/ValueSet/referencerange-meaning from the FHIR Standard | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodeshttp://hl7.org/fhir/ValueSet/referencerange-appliesto from the FHIR Standard | ||||
Observation.component.code | preferred | UKCoreObservationTypehttps://fhir.hl7.org.uk/ValueSet/UKCore-ObservationType from this IG | ||||
Observation.component.dataAbsentReason | required | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | required | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from 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-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() |