Phenomics Exchange for Research and Diagnostics, published by HL7 International / Clinical Interoperability Council. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/phenomics-exchange-ig/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/uv/phenomics-exchange/StructureDefinition/PhenotypicFeature | Version: 0.1.0 | |||
Draft as of 2021-06-03 | Computable Name: PhenotypicFeature | |||
Copyright/Legal: Global Alliance for Genomics and Health |
This profile defines the GA4GH PhenotypicFeature element in terms of the FHIR Observation
In the GA4GH Phenopacket Schema, a phenopacket representing clinical data about an individual can have zero to many PhenotypicFeatures.
This element is intended to be used to describe a phenotypic feature that characterizes the subject of the Phenopacket, which in general is a patient or a proband of a study. The phenotypic features are represented by terms of an ontology such as the Human Phenotype Ontology (HPO). While this concept has no exact correspondence in the FHIR standard, we shoose to base it on the FHIR Observation, which is used to specify a Measurements and simple assertions made about a patient, device or other subject. In our case, a PhenotypicFeature is intended to be an assertion about a specific phenotypic abnormality that is a component of a disease.
In the GA4GH Phenopacket Schema, the description
element is string that can be used for comments or arbitrary additional information. We do not consider this to be an essential or even recommended part of the PhenotypicFeature
and choose not to model it explictly in this IG. Implementers of software to transform FHIR code to GA4GH phenopacket code are free to use this field to record additional information in the FHR record as dictated by project needs, but that is outside the scope of this IG. For instance, implementations may record information in the note
field that will be inserted into the description
element of the GA4GH PhenopacketFeature
. However, we recommend that implementers avoid using free text wherever possible.
In the GA4GH phenopacket, the type
element is an OntologyClass that corresponds to the code
element of Observation
.
In the GA4GH phenopacket, excluded
is a boolean that is false by default. If set true, the meaning is that the phenotypic feature indicated by the type
element was explicitly excluded by clinical examination. In this IG, if a phenotype term is observed, then the value
should be set to the LOINC code for present, and if the phenotypic feature was explicitly exclude, the value
should be set to the LOINC code for absent.
If the phenotypic feature was excluded, the value
field should be set to false
. We show an observed and excluded phenotypic feature in the Examples.
severity
element is an OntologyClass. The modifiers
element is a list of OntologyClass that can be empty or contain one or more ontology terms that are intended to provide more expressive or precise descriptions of a phenotypic feature, including attributes such as positionality and external factors that tend to trigger or ameliorate the feature.The features cannot easily be represented in the framework of an Observation
, but they are not needed for the vast majority of intended downstream applications in the field of rare disease. To ease adoption of this IG, we have chosen not to model these element of the GA4GH Phenopacket in this IG at present, but may choose to introduce them as extensions to meet future needs as appropriate.
In the GA4GH phenopacket, the onset
element is a TimeElement that represents the time or age of onset of the phenotypic feature. Similarly, the resolution
element is a TimeElement that represents the time or age of resolution or abatement of the phenotypic feature. In this IG, implementers should represent this data using the standard effective
element of the Observation
, which represents the clinically relevant time/time-period for observation. Software for transforming this IG into a GA4GH phenopacket must support the various ways time periods can be represented (the beginning and end of a time period should be interpreted as the onset and resolution. If the end of the period conincides with the time of the clinical encounter, this should be interpreted as indicating there has not been resolution of the phenotypic feature).
In the GA4GH phenopacket, the evidence
element is an Element that represents the the evidence for an assertion of the observation of the phenotypic feature. There is no
corresponding element in the Observation
. Software for transforming this IG into a GA4GH phenopacket is free to add an evidence field corresponding to the needs of the project, but this is beyond the scope of this IG.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Observation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | Observation | |||
code | S | 1..1 | CodeableConcept | Type of observation (code / type) |
value[x] | S | 1..1 | CodeableConcept | LOINC code for presence absence Binding: LOINC Answer List LL1937-3 (required) |
specimen | 0..0 | |||
device | 0..0 | |||
referenceRange | 0..0 | |||
hasMember | 0..0 | |||
Slices for component | S | 0..* | BackboneElement | GA4GH severity and modifiers should be coded as CodeableConcepts in the code field of the component Slice: Unordered, Open by pattern:code.coding |
component:severity | 0..1 | BackboneElement | Component results | |
code | ||||
coding | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012824 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Severity | |
value[x] | 0..1 | CodeableConcept | Actual component result Binding: Hpo Severity Value Set (required) | |
component:modifier | 0..* | BackboneElement | Component results | |
code | ||||
coding | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012823 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Clinical modifier | |
value[x] | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result Binding: Phenotypic modifier ValueSet (required) | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.value[x] | required | LOINC LL1937-3http://loinc.org/vs/LL1937-3 | |
Observation.component:severity.value[x] | required | HpoSeverityVShttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/HpoSeverity from this IG | |
Observation.component:modifier.value[x] | required | PhenotypicModifierValueSethttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/PhenotypicModifierValueSet from this IG |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | Observation | 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 |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
value[x] | SΣC | 1..1 | CodeableConcept | LOINC code for presence absence Binding: LOINC Answer List LL1937-3 (required) |
Slices for component | SΣ | 0..* | BackboneElement | GA4GH severity and modifiers should be coded as CodeableConcepts in the code field of the component Slice: Unordered, Open by pattern:code.coding |
component:All Slices | Content/Rules for all slices | |||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
component:severity | Σ | 0..1 | BackboneElement | Component results |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
coding | Σ | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012824 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Severity | |
value[x] | Σ | 0..1 | CodeableConcept | Actual component result Binding: Hpo Severity Value Set (required) |
component:modifier | Σ | 0..* | BackboneElement | Component results |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
coding | Σ | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012823 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Clinical modifier | |
value[x] | Σ | 0..1 | Actual component result Binding: Phenotypic modifier ValueSet (required) | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | |
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.value[x] | required | LOINC LL1937-3http://loinc.org/vs/LL1937-3 | |
Observation.component.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.component:severity.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.component:severity.value[x] | required | HpoSeverityVShttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/HpoSeverity from this IG | |
Observation.component:modifier.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.component:modifier.value[x] | required | PhenotypicModifierValueSethttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/PhenotypicModifierValueSet from this IG |
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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | Observation | 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 | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | Business Identifier for observation | ||||
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
category | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
subject | Σ | 0..1 | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about | ||||
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
effective[x] | Σ | 0..1 | Clinically relevant time/time-period for observation | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveTiming | Timing | |||||||
effectiveInstant | instant | |||||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation | ||||
value[x] | SΣC | 1..1 | CodeableConcept | LOINC code for presence absence Binding: LOINC Answer List LL1937-3 (required) | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
note | 0..* | Annotation | Comments about the observation | |||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |||||
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
Slices for component | SΣ | 0..* | BackboneElement | GA4GH severity and modifiers should be coded as CodeableConcepts in the code field of the component Slice: Unordered, Open by pattern:code.coding | ||||
component:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
value[x] | Σ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
component:severity | Σ | 0..1 | BackboneElement | Component results | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012824 | |||||
display | 1..1 | string | Representation defined by the system Fixed Value: Severity | |||||
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] | Σ | 0..1 | CodeableConcept | Actual component result Binding: Hpo Severity Value Set (required) | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
component:modifier | Σ | 0..* | BackboneElement | Component results | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012823 | |||||
display | 1..1 | string | Representation defined by the system Fixed Value: Clinical modifier | |||||
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] | Σ | 0..1 | Actual component result Binding: Phenotypic modifier ValueSet (required) | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages 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.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.value[x] | required | LOINC LL1937-3http://loinc.org/vs/LL1937-3 | ||||
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | ||||
Observation.bodySite | example | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-site from the FHIR Standard | ||||
Observation.method | example | 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 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | ||||
Observation.component:severity.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component:severity.value[x] | required | HpoSeverityVShttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/HpoSeverity from this IG | ||||
Observation.component:severity.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component:severity.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | ||||
Observation.component:modifier.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component:modifier.value[x] | required | PhenotypicModifierValueSethttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/PhenotypicModifierValueSet from this IG | ||||
Observation.component:modifier.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component:modifier.interpretation | extensible | 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-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() |
This structure is derived from Observation
Summary
Mandatory: 1 element(2 nested mandatory elements)
Must-Support: 3 elements
Prohibited: 4 elements
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Observation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | Observation | |||
code | S | 1..1 | CodeableConcept | Type of observation (code / type) |
value[x] | S | 1..1 | CodeableConcept | LOINC code for presence absence Binding: LOINC Answer List LL1937-3 (required) |
specimen | 0..0 | |||
device | 0..0 | |||
referenceRange | 0..0 | |||
hasMember | 0..0 | |||
Slices for component | S | 0..* | BackboneElement | GA4GH severity and modifiers should be coded as CodeableConcepts in the code field of the component Slice: Unordered, Open by pattern:code.coding |
component:severity | 0..1 | BackboneElement | Component results | |
code | ||||
coding | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012824 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Severity | |
value[x] | 0..1 | CodeableConcept | Actual component result Binding: Hpo Severity Value Set (required) | |
component:modifier | 0..* | BackboneElement | Component results | |
code | ||||
coding | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012823 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Clinical modifier | |
value[x] | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period | Actual component result Binding: Phenotypic modifier ValueSet (required) | |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.value[x] | required | LOINC LL1937-3http://loinc.org/vs/LL1937-3 | |
Observation.component:severity.value[x] | required | HpoSeverityVShttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/HpoSeverity from this IG | |
Observation.component:modifier.value[x] | required | PhenotypicModifierValueSethttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/PhenotypicModifierValueSet from this IG |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | Observation | 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 |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. |
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
value[x] | SΣC | 1..1 | CodeableConcept | LOINC code for presence absence Binding: LOINC Answer List LL1937-3 (required) |
Slices for component | SΣ | 0..* | BackboneElement | GA4GH severity and modifiers should be coded as CodeableConcepts in the code field of the component Slice: Unordered, Open by pattern:code.coding |
component:All Slices | Content/Rules for all slices | |||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
component:severity | Σ | 0..1 | BackboneElement | Component results |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
coding | Σ | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012824 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Severity | |
value[x] | Σ | 0..1 | CodeableConcept | Actual component result Binding: Hpo Severity Value Set (required) |
component:modifier | Σ | 0..* | BackboneElement | Component results |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. |
coding | Σ | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012823 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Clinical modifier | |
value[x] | Σ | 0..1 | Actual component result Binding: Phenotypic modifier ValueSet (required) | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
Documentation for this format |
Path | Conformance | ValueSet | URI |
Observation.status | required | ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1 from the FHIR Standard | |
Observation.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.value[x] | required | LOINC LL1937-3http://loinc.org/vs/LL1937-3 | |
Observation.component.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.component:severity.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.component:severity.value[x] | required | HpoSeverityVShttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/HpoSeverity from this IG | |
Observation.component:modifier.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
Observation.component:modifier.value[x] | required | PhenotypicModifierValueSethttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/PhenotypicModifierValueSet from this IG |
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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | Observation | 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 | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | Business Identifier for observation | ||||
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!Σ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required): Codes providing the status of an observation. | ||||
category | 0..* | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
subject | Σ | 0..1 | Reference(Patient | Group | Device | Location) | Who and/or what the observation is about | ||||
focus | Σ | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record | ||||
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
effective[x] | Σ | 0..1 | Clinically relevant time/time-period for observation | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effectiveTiming | Timing | |||||||
effectiveInstant | instant | |||||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation | ||||
value[x] | SΣC | 1..1 | CodeableConcept | LOINC code for presence absence Binding: LOINC Answer List LL1937-3 (required) | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
note | 0..* | Annotation | Comments about the observation | |||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |||||
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
Slices for component | SΣ | 0..* | BackboneElement | GA4GH severity and modifiers should be coded as CodeableConcepts in the code field of the component Slice: Unordered, Open by pattern:code.coding | ||||
component:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
value[x] | Σ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
component:severity | Σ | 0..1 | BackboneElement | Component results | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012824 | |||||
display | 1..1 | string | Representation defined by the system Fixed Value: Severity | |||||
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] | Σ | 0..1 | CodeableConcept | Actual component result Binding: Hpo Severity Value Set (required) | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
component:modifier | Σ | 0..* | BackboneElement | Component results | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
code | Σ | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 1..* | Coding | Code defined by a terminology system Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://human-phenotype-ontology.org | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: HP:0012823 | |||||
display | 1..1 | string | Representation defined by the system Fixed Value: Clinical modifier | |||||
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] | Σ | 0..1 | Actual component result Binding: Phenotypic modifier ValueSet (required) | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Observation.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages 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.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.value[x] | required | LOINC LL1937-3http://loinc.org/vs/LL1937-3 | ||||
Observation.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | ||||
Observation.bodySite | example | SNOMEDCTBodyStructureshttp://hl7.org/fhir/ValueSet/body-site from the FHIR Standard | ||||
Observation.method | example | 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 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | ||||
Observation.component:severity.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component:severity.value[x] | required | HpoSeverityVShttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/HpoSeverity from this IG | ||||
Observation.component:severity.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component:severity.interpretation | extensible | ObservationInterpretationCodeshttp://hl7.org/fhir/ValueSet/observation-interpretation from the FHIR Standard | ||||
Observation.component:modifier.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
Observation.component:modifier.value[x] | required | PhenotypicModifierValueSethttp://hl7.org/fhir/uv/phenomics-exchange/ValueSet/PhenotypicModifierValueSet from this IG | ||||
Observation.component:modifier.dataAbsentReason | extensible | DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason from the FHIR Standard | ||||
Observation.component:modifier.interpretation | extensible | 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-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() |
This structure is derived from Observation
Summary
Mandatory: 1 element(2 nested mandatory elements)
Must-Support: 3 elements
Prohibited: 4 elements
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron