Finnish Base Profiles
0.2.0 - ci-build
Finnish Base Profiles - Local Development build (v0.2.0). See the Directory of published versions
Official URL: http://phr.kanta.fi/StructureDefinition/fiphr-sd-vitalsigns | Version: 0.2.0 | |||
Draft as of 2021-02-22 | Computable Name: FIPHRsdVitalsigns |
Finnish PHR base profile for Observation resource
Finnish PHR abstract base profile for Observation used in Vital signs measurements made about a patient. Base profile defines profiled elements used in all vital signs observation resources.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from observation-vitalsigns
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | observation-vitalsigns | Finnish PHR base profile for Observation resource | ||
meta | 1.. | |||
Slices for profile | 1.. | Slice: Unordered, Open by value:$this | ||
profile:fiphrProfile | 1..1 | |||
language | 1.. | Binding: (unbound) (required): Finnish PHR: A code of human language. | ||
text | 1.. | |||
Slices for extension | Slice: Unordered, Open by value:url | |||
creatingApplication | 0..* | (Complex) | Application identification URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication | |
identifier | 1.. | |||
use | ||||
type | S | |||
system | 1.. | Example General: urn:ietf:rfc:3986 | ||
value | 1.. | |||
assigner | ..0 | |||
basedOn | ..0 | |||
partOf | ..0 | |||
status | Finnish PHR: Status final Fixed Value: final | |||
category | Classification of type of observation. Binding: (unbound) (preferred): Classification of type of observation. | |||
category:VSCat | Binding: (unbound) (required) | |||
code | Binding: Value Set Finnish PHR Vital Signs (extensible) | |||
subject | Reference(Finnish PHR Patient profile) {r} | |||
reference | 1.. | |||
identifier | ||||
assigner | ..0 | |||
focus | ..0 | |||
encounter | ..0 | |||
effective[x] | dateTime | |||
issued | 1.. | Finnish PHR: The date and time this observation is stored | ||
performer | 1..1 | Reference(Finnish PHR Patient profile) {r} | Finnish PHR: Application user who is responsible for the observation | |
reference | 1.. | |||
identifier | ||||
assigner | ..0 | |||
value[x] | ||||
dataAbsentReason | Binding: (unbound) (extensible): Codes specifying why the result (Observation.value[x]) is missing. | |||
id | xml:id (or equivalent in JSON) | |||
Slices for coding | ..1 | Slice: Unordered, Open by value:system | ||
coding:fiphrDataAbsentReason | 1..1 | |||
system | 1.. | Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason | ||
code | 1.. | |||
display | 1.. | |||
interpretation | ..1 | Binding: (unbound) (extensible): Finnish PHR: Codes identifying interpretations of observations. | ||
Slices for coding | 1.. | Slice: Unordered, Open by value:system | ||
coding:fiphrInterpretation | 1..1 | |||
system | 1.. | Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation | ||
code | 1.. | |||
display | 1.. | |||
note | ||||
author[x] | ..0 | |||
bodySite | ..0 | |||
method | ..0 | |||
specimen | ..0 | |||
device | ..0 | |||
hasMember | ..0 | |||
derivedFrom | ..0 | |||
component | ||||
code | Binding: Value Set Finnish PHR Vital Signs (extensible) | |||
coding | 1.. | |||
dataAbsentReason | ||||
Slices for coding | 1.. | Slice: Unordered, Open by value:system | ||
coding:fiphrCoding | 1..1 | |||
system | 1.. | Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason | ||
code | 1.. | |||
display | 1.. | |||
interpretation | ||||
Slices for coding | 1.. | Slice: Unordered, Open by value:system | ||
coding:fiphrCoding | 1..1 | |||
system | 1.. | Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation | ||
code | 1.. | |||
display | 1.. | |||
Documentation for this format |
Path | Conformance | ValueSet |
Observation.language | required | |
Observation.category | preferred | |
Observation.category:VSCat | required | |
Observation.code | extensible | fiphr-vs-vitalsigns |
Observation.dataAbsentReason | extensible | |
Observation.interpretation | extensible | |
Observation.component.code | extensible | fiphr-vs-vitalsigns |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | observation-vitalsigns | Finnish PHR base profile for Observation resource |
meta | ΣN | 1..1 | Meta | Metadata about the resource |
Slices for profile | Σ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:$this |
profile:fiphrProfile | Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 1..1 | code | Language of the resource content Binding: CommonLanguages (required): Finnish PHR: A code of human language. | |
text | N | 1..1 | Narrative | Text summary of the resource, for human interpretation |
Slices for extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
creatingApplication | N | 0..* | (Complex) | Application identification URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication |
modifierExtension | ?!N | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
identifier | ΣN | 1..* | Identifier | Business Identifier for observation |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | SΣN | 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 | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient Example General: urn:ietf:rfc:3986 |
value | Σ | 1..1 | string | The value that is unique Example General: 123456 |
status | ?!SΣ | 1..1 | code | Finnish PHR: Status final Binding: ObservationStatus (required): Codes providing the status of an observation. Fixed Value: final |
Slices for category | SN | 1..* | CodeableConcept | Classification of type of observation. Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Classification of type of observation. |
category:VSCat | SN | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (required): Codes for high level observation categories. |
coding | SΣN | 1..* | Coding | Code defined by a terminology system |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
code | SΣN | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type. |
subject | SΣCN | 1..1 | Reference(Finnish PHR Patient profile) {r} | Who and/or what the observation is about |
reference | ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL |
effective[x] | SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs |
issued | Σ | 1..1 | instant | Finnish PHR: The date and time this observation is stored |
performer | ΣCN | 1..1 | Reference(Finnish PHR Patient profile) {r} | Finnish PHR: Application user who is responsible for the observation |
reference | ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL |
value[x] | SΣCN | 0..1 | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SCN | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
Slices for coding | ΣN | 0..1 | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrDataAbsentReason | ΣN | 1..1 | Coding | Code defined by a terminology system |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 1..1 | string | Representation defined by the system |
interpretation | N | 0..1 | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Finnish PHR: Codes identifying interpretations of observations. |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrInterpretation | ΣN | 1..1 | Coding | Code defined by a terminology system |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 1..1 | string | Representation defined by the system |
component | SΣCN | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
modifierExtension | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣN | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type. |
coding | ΣN | 1..* | Coding | Code defined by a terminology system |
value[x] | SΣCN | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SCN | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrCoding | ΣN | 1..1 | Coding | Code defined by a terminology system |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 1..1 | string | Representation defined by the system |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.language | required | CommonLanguages |
Observation.identifier.use | required | IdentifierUse |
Observation.identifier.type | extensible | Identifier Type Codes |
Observation.status | required | Fixed Value: final |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | required | ObservationCategoryCodes |
Observation.code | extensible | fiphr-vs-vitalsigns |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.interpretation | extensible | ObservationInterpretationCodes |
Observation.component.code | extensible | fiphr-vs-vitalsigns |
Observation.component.value[x] | required | VitalSignsUnits |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
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 | Observation.extension, Observation.extension:creatingApplication, Observation.modifierExtension, Observation.component.modifierExtension | 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() | |
qty-3 | error | Observation.value[x], Observation.component.value[x] | If a code for the unit is present, the system SHALL also be present : code.empty() or system.exists() | |
ref-1 | error | Observation.subject, Observation.performer | SHALL have a contained resource if a local reference is provided : reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) | |
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. : (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists()) | |
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | observation-vitalsigns | Finnish PHR base profile for Observation resource |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | ΣN | 1..1 | Meta | Metadata about the resource |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
versionId | Σ | 0..1 | id | Version specific identifier |
lastUpdated | Σ | 0..1 | instant | When the resource version last changed |
source | Σ | 0..1 | uri | Identifies where the resource comes from |
Slices for profile | Σ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:$this |
profile:fiphrProfile | Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to |
security | ΣN | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. |
tag | ΣN | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 1..1 | code | Language of the resource content Binding: CommonLanguages (required): Finnish PHR: A code of human language. | |
text | N | 1..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
Slices for extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
creatingApplication | N | 0..* | (Complex) | Application identification URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication |
modifierExtension | ?!N | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
identifier | ΣN | 1..* | Identifier | Business Identifier for observation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | SΣN | 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 | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient Example General: urn:ietf:rfc:3986 |
value | Σ | 1..1 | string | The value that is unique Example General: 123456 |
period | ΣCN | 0..1 | Period | Time period when id is/was valid for use |
status | ?!SΣ | 1..1 | code | Finnish PHR: Status final Binding: ObservationStatus (required): Codes providing the status of an observation. Fixed Value: final |
Slices for category | SN | 1..* | CodeableConcept | Classification of type of observation. Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Classification of type of observation. |
category:VSCat | SN | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (required): Codes for high level observation categories. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SΣN | 1..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept |
code | SΣN | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type. |
subject | SΣCN | 1..1 | Reference(Finnish PHR Patient profile) {r} | Who and/or what the observation is about |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL |
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 | ΣN | 0..1 | Identifier | Logical reference, when literal reference is not known |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | ΣN | 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 | ΣCN | 0..1 | Period | Time period when id is/was valid for use |
display | Σ | 0..1 | string | Text alternative for the resource |
effective[x] | SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs |
issued | Σ | 1..1 | instant | Finnish PHR: The date and time this observation is stored |
performer | ΣCN | 1..1 | Reference(Finnish PHR Patient profile) {r} | Finnish PHR: Application user who is responsible for the observation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL |
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 | ΣN | 0..1 | Identifier | Logical reference, when literal reference is not known |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | ΣN | 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 | ΣCN | 0..1 | Period | Time period when id is/was valid for use |
display | Σ | 0..1 | string | Text alternative for the resource |
value[x] | SΣCN | 0..1 | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SCN | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | ΣN | 0..1 | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrDataAbsentReason | ΣN | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason |
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 | N | 0..1 | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Finnish PHR: Codes identifying interpretations of observations. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrInterpretation | ΣN | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation |
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 | N | 0..* | Annotation | Comments about the observation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
time | Σ | 0..1 | dateTime | When the annotation was made |
text | Σ | 1..1 | markdown | The annotation - text content (as markdown) |
referenceRange | CN | 0..* | BackboneElement | Provides guide for interpretation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
modifierExtension | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | CN | 0..1 | SimpleQuantity | Low Range, if relevant |
high | CN | 0..1 | SimpleQuantity | High Range, if relevant |
type | N | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. |
appliesTo | N | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. |
age | CN | 0..1 | Range | Applicable age range, if relevant |
text | 0..1 | string | Text based reference range in an observation | |
component | SΣCN | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
modifierExtension | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣN | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | ΣN | 1..* | Coding | Code defined by a terminology system |
text | Σ | 0..1 | string | Plain text representation of the concept |
value[x] | SΣCN | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SCN | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrCoding | ΣN | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason |
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 | N | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrCoding | ΣN | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation |
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 | 0..* | See referenceRange | Provides guide for interpretation of component result | |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.meta.security | extensible | All Security Labels |
Observation.meta.tag | example | CommonTags |
Observation.language | required | CommonLanguages |
Observation.identifier.use | required | IdentifierUse |
Observation.identifier.type | extensible | Identifier Type Codes |
Observation.status | required | Fixed Value: final |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | required | ObservationCategoryCodes |
Observation.code | extensible | fiphr-vs-vitalsigns |
Observation.subject.type | extensible | ResourceType |
Observation.subject.identifier.use | required | IdentifierUse |
Observation.subject.identifier.type | extensible | Identifier Type Codes |
Observation.performer.type | extensible | ResourceType |
Observation.performer.identifier.use | required | IdentifierUse |
Observation.performer.identifier.type | extensible | Identifier Type Codes |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.interpretation | extensible | ObservationInterpretationCodes |
Observation.note.author[x].type | extensible | ResourceType |
Observation.note.author[x].identifier.use | required | IdentifierUse |
Observation.note.author[x].identifier.type | extensible | Identifier Type Codes |
Observation.device.type | extensible | ResourceType |
Observation.device.identifier.use | required | IdentifierUse |
Observation.device.identifier.type | extensible | Identifier Type Codes |
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes |
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes |
Observation.hasMember.type | extensible | ResourceType |
Observation.hasMember.identifier.use | required | IdentifierUse |
Observation.hasMember.identifier.type | extensible | Identifier Type Codes |
Observation.component.code | extensible | fiphr-vs-vitalsigns |
Observation.component.value[x] | required | VitalSignsUnits |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path(s) | Details | Requirements |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.meta.extension, Observation.extension, Observation.extension:creatingApplication, Observation.modifierExtension, Observation.identifier.extension, Observation.category:VSCat.extension, Observation.category:VSCat.coding.extension, Observation.subject.extension, Observation.subject.identifier.extension, Observation.performer.extension, Observation.performer.identifier.extension, Observation.dataAbsentReason.extension, Observation.dataAbsentReason.coding:fiphrDataAbsentReason.extension, Observation.interpretation.extension, Observation.interpretation.coding:fiphrInterpretation.extension, Observation.note.extension, Observation.note.author[x].extension, Observation.note.author[x].identifier.extension, Observation.device.extension, Observation.device.identifier.extension, Observation.referenceRange.extension, Observation.referenceRange.modifierExtension, Observation.hasMember.extension, Observation.hasMember.identifier.extension, Observation.component.extension, Observation.component.modifierExtension, Observation.component.code.extension, Observation.component.dataAbsentReason.extension, Observation.component.dataAbsentReason.coding:fiphrCoding.extension, Observation.component.interpretation.extension, Observation.component.interpretation.coding:fiphrCoding.extension | 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() | |
per-1 | error | Observation.identifier.period, Observation.subject.identifier.period, Observation.performer.identifier.period, Observation.note.author[x].identifier.period, Observation.device.identifier.period, Observation.hasMember.identifier.period | If present, start SHALL have a lower value than end : start.hasValue().not() or end.hasValue().not() or (start <= end) | |
qty-3 | error | Observation.value[x], Observation.referenceRange.low, Observation.referenceRange.high, Observation.component.value[x] | If a code for the unit is present, the system SHALL also be present : code.empty() or system.exists() | |
ref-1 | error | Observation.subject, Observation.performer | SHALL have a contained resource if a local reference is provided : reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) | |
rng-2 | error | Observation.referenceRange.age | If present, low SHALL have a lower value than high : low.empty() or high.empty() or (low <= high) | |
sqty-1 | error | Observation.referenceRange.low, Observation.referenceRange.high | The comparator is not used on a SimpleQuantity : comparator.empty() | |
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() |
This structure is derived from observation-vitalsigns
Summary
Mandatory: 0 element (32 nested mandatory elements)
Must-Support: 1 element
Fixed Value: 6 elements
Prohibited: 17 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from observation-vitalsigns
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | observation-vitalsigns | Finnish PHR base profile for Observation resource | ||
meta | 1.. | |||
Slices for profile | 1.. | Slice: Unordered, Open by value:$this | ||
profile:fiphrProfile | 1..1 | |||
language | 1.. | Binding: (unbound) (required): Finnish PHR: A code of human language. | ||
text | 1.. | |||
Slices for extension | Slice: Unordered, Open by value:url | |||
creatingApplication | 0..* | (Complex) | Application identification URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication | |
identifier | 1.. | |||
use | ||||
type | S | |||
system | 1.. | Example General: urn:ietf:rfc:3986 | ||
value | 1.. | |||
assigner | ..0 | |||
basedOn | ..0 | |||
partOf | ..0 | |||
status | Finnish PHR: Status final Fixed Value: final | |||
category | Classification of type of observation. Binding: (unbound) (preferred): Classification of type of observation. | |||
category:VSCat | Binding: (unbound) (required) | |||
code | Binding: Value Set Finnish PHR Vital Signs (extensible) | |||
subject | Reference(Finnish PHR Patient profile) {r} | |||
reference | 1.. | |||
identifier | ||||
assigner | ..0 | |||
focus | ..0 | |||
encounter | ..0 | |||
effective[x] | dateTime | |||
issued | 1.. | Finnish PHR: The date and time this observation is stored | ||
performer | 1..1 | Reference(Finnish PHR Patient profile) {r} | Finnish PHR: Application user who is responsible for the observation | |
reference | 1.. | |||
identifier | ||||
assigner | ..0 | |||
value[x] | ||||
dataAbsentReason | Binding: (unbound) (extensible): Codes specifying why the result (Observation.value[x]) is missing. | |||
id | xml:id (or equivalent in JSON) | |||
Slices for coding | ..1 | Slice: Unordered, Open by value:system | ||
coding:fiphrDataAbsentReason | 1..1 | |||
system | 1.. | Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason | ||
code | 1.. | |||
display | 1.. | |||
interpretation | ..1 | Binding: (unbound) (extensible): Finnish PHR: Codes identifying interpretations of observations. | ||
Slices for coding | 1.. | Slice: Unordered, Open by value:system | ||
coding:fiphrInterpretation | 1..1 | |||
system | 1.. | Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation | ||
code | 1.. | |||
display | 1.. | |||
note | ||||
author[x] | ..0 | |||
bodySite | ..0 | |||
method | ..0 | |||
specimen | ..0 | |||
device | ..0 | |||
hasMember | ..0 | |||
derivedFrom | ..0 | |||
component | ||||
code | Binding: Value Set Finnish PHR Vital Signs (extensible) | |||
coding | 1.. | |||
dataAbsentReason | ||||
Slices for coding | 1.. | Slice: Unordered, Open by value:system | ||
coding:fiphrCoding | 1..1 | |||
system | 1.. | Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason | ||
code | 1.. | |||
display | 1.. | |||
interpretation | ||||
Slices for coding | 1.. | Slice: Unordered, Open by value:system | ||
coding:fiphrCoding | 1..1 | |||
system | 1.. | Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation | ||
code | 1.. | |||
display | 1.. | |||
Documentation for this format |
Path | Conformance | ValueSet |
Observation.language | required | |
Observation.category | preferred | |
Observation.category:VSCat | required | |
Observation.code | extensible | fiphr-vs-vitalsigns |
Observation.dataAbsentReason | extensible | |
Observation.interpretation | extensible | |
Observation.component.code | extensible | fiphr-vs-vitalsigns |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | observation-vitalsigns | Finnish PHR base profile for Observation resource |
meta | ΣN | 1..1 | Meta | Metadata about the resource |
Slices for profile | Σ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:$this |
profile:fiphrProfile | Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 1..1 | code | Language of the resource content Binding: CommonLanguages (required): Finnish PHR: A code of human language. | |
text | N | 1..1 | Narrative | Text summary of the resource, for human interpretation |
Slices for extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
creatingApplication | N | 0..* | (Complex) | Application identification URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication |
modifierExtension | ?!N | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
identifier | ΣN | 1..* | Identifier | Business Identifier for observation |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | SΣN | 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 | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient Example General: urn:ietf:rfc:3986 |
value | Σ | 1..1 | string | The value that is unique Example General: 123456 |
status | ?!SΣ | 1..1 | code | Finnish PHR: Status final Binding: ObservationStatus (required): Codes providing the status of an observation. Fixed Value: final |
Slices for category | SN | 1..* | CodeableConcept | Classification of type of observation. Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Classification of type of observation. |
category:VSCat | SN | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (required): Codes for high level observation categories. |
coding | SΣN | 1..* | Coding | Code defined by a terminology system |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
code | SΣN | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type. |
subject | SΣCN | 1..1 | Reference(Finnish PHR Patient profile) {r} | Who and/or what the observation is about |
reference | ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL |
effective[x] | SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs |
issued | Σ | 1..1 | instant | Finnish PHR: The date and time this observation is stored |
performer | ΣCN | 1..1 | Reference(Finnish PHR Patient profile) {r} | Finnish PHR: Application user who is responsible for the observation |
reference | ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL |
value[x] | SΣCN | 0..1 | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SCN | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
Slices for coding | ΣN | 0..1 | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrDataAbsentReason | ΣN | 1..1 | Coding | Code defined by a terminology system |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 1..1 | string | Representation defined by the system |
interpretation | N | 0..1 | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Finnish PHR: Codes identifying interpretations of observations. |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrInterpretation | ΣN | 1..1 | Coding | Code defined by a terminology system |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 1..1 | string | Representation defined by the system |
component | SΣCN | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
modifierExtension | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣN | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type. |
coding | ΣN | 1..* | Coding | Code defined by a terminology system |
value[x] | SΣCN | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SCN | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrCoding | ΣN | 1..1 | Coding | Code defined by a terminology system |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason |
code | Σ | 1..1 | code | Symbol in syntax defined by the system |
display | Σ | 1..1 | string | Representation defined by the system |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.language | required | CommonLanguages |
Observation.identifier.use | required | IdentifierUse |
Observation.identifier.type | extensible | Identifier Type Codes |
Observation.status | required | Fixed Value: final |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | required | ObservationCategoryCodes |
Observation.code | extensible | fiphr-vs-vitalsigns |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.interpretation | extensible | ObservationInterpretationCodes |
Observation.component.code | extensible | fiphr-vs-vitalsigns |
Observation.component.value[x] | required | VitalSignsUnits |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
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 | Observation.extension, Observation.extension:creatingApplication, Observation.modifierExtension, Observation.component.modifierExtension | 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() | |
qty-3 | error | Observation.value[x], Observation.component.value[x] | If a code for the unit is present, the system SHALL also be present : code.empty() or system.exists() | |
ref-1 | error | Observation.subject, Observation.performer | SHALL have a contained resource if a local reference is provided : reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) | |
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
vs-2 | error | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. : (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists()) | |
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | observation-vitalsigns | Finnish PHR base profile for Observation resource |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | ΣN | 1..1 | Meta | Metadata about the resource |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
versionId | Σ | 0..1 | id | Version specific identifier |
lastUpdated | Σ | 0..1 | instant | When the resource version last changed |
source | Σ | 0..1 | uri | Identifies where the resource comes from |
Slices for profile | Σ | 1..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by value:$this |
profile:fiphrProfile | Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to |
security | ΣN | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. |
tag | ΣN | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 1..1 | code | Language of the resource content Binding: CommonLanguages (required): Finnish PHR: A code of human language. | |
text | N | 1..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
Slices for extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
creatingApplication | N | 0..* | (Complex) | Application identification URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication |
modifierExtension | ?!N | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
identifier | ΣN | 1..* | Identifier | Business Identifier for observation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | SΣN | 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 | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient Example General: urn:ietf:rfc:3986 |
value | Σ | 1..1 | string | The value that is unique Example General: 123456 |
period | ΣCN | 0..1 | Period | Time period when id is/was valid for use |
status | ?!SΣ | 1..1 | code | Finnish PHR: Status final Binding: ObservationStatus (required): Codes providing the status of an observation. Fixed Value: final |
Slices for category | SN | 1..* | CodeableConcept | Classification of type of observation. Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred): Classification of type of observation. |
category:VSCat | SN | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (required): Codes for high level observation categories. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SΣN | 1..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | SΣ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept |
code | SΣN | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type. |
subject | SΣCN | 1..1 | Reference(Finnish PHR Patient profile) {r} | Who and/or what the observation is about |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL |
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 | ΣN | 0..1 | Identifier | Logical reference, when literal reference is not known |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | ΣN | 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 | ΣCN | 0..1 | Period | Time period when id is/was valid for use |
display | Σ | 0..1 | string | Text alternative for the resource |
effective[x] | SΣC | 1..1 | dateTime | Often just a dateTime for Vital Signs |
issued | Σ | 1..1 | instant | Finnish PHR: The date and time this observation is stored |
performer | ΣCN | 1..1 | Reference(Finnish PHR Patient profile) {r} | Finnish PHR: Application user who is responsible for the observation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
reference | ΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL |
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 | ΣN | 0..1 | Identifier | Logical reference, when literal reference is not known |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | ΣN | 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 | ΣCN | 0..1 | Period | Time period when id is/was valid for use |
display | Σ | 0..1 | string | Text alternative for the resource |
value[x] | SΣCN | 0..1 | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SCN | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | ΣN | 0..1 | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrDataAbsentReason | ΣN | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason |
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 | N | 0..1 | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Finnish PHR: Codes identifying interpretations of observations. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrInterpretation | ΣN | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation |
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 | N | 0..* | Annotation | Comments about the observation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
time | Σ | 0..1 | dateTime | When the annotation was made |
text | Σ | 1..1 | markdown | The annotation - text content (as markdown) |
referenceRange | CN | 0..* | BackboneElement | Provides guide for interpretation |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
modifierExtension | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | CN | 0..1 | SimpleQuantity | Low Range, if relevant |
high | CN | 0..1 | SimpleQuantity | High Range, if relevant |
type | N | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. |
appliesTo | N | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. |
age | CN | 0..1 | Range | Applicable age range, if relevant |
text | 0..1 | string | Text based reference range in an observation | |
component | SΣCN | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
modifierExtension | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣN | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | ΣN | 1..* | Coding | Code defined by a terminology system |
text | Σ | 0..1 | string | Plain text representation of the concept |
value[x] | SΣCN | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SCN | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrCoding | ΣN | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason |
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 | N | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | ΣN | 1..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
coding:fiphrCoding | ΣN | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | N | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation |
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 | 0..* | See referenceRange | Provides guide for interpretation of component result | |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.meta.security | extensible | All Security Labels |
Observation.meta.tag | example | CommonTags |
Observation.language | required | CommonLanguages |
Observation.identifier.use | required | IdentifierUse |
Observation.identifier.type | extensible | Identifier Type Codes |
Observation.status | required | Fixed Value: final |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | required | ObservationCategoryCodes |
Observation.code | extensible | fiphr-vs-vitalsigns |
Observation.subject.type | extensible | ResourceType |
Observation.subject.identifier.use | required | IdentifierUse |
Observation.subject.identifier.type | extensible | Identifier Type Codes |
Observation.performer.type | extensible | ResourceType |
Observation.performer.identifier.use | required | IdentifierUse |
Observation.performer.identifier.type | extensible | Identifier Type Codes |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.interpretation | extensible | ObservationInterpretationCodes |
Observation.note.author[x].type | extensible | ResourceType |
Observation.note.author[x].identifier.use | required | IdentifierUse |
Observation.note.author[x].identifier.type | extensible | Identifier Type Codes |
Observation.device.type | extensible | ResourceType |
Observation.device.identifier.use | required | IdentifierUse |
Observation.device.identifier.type | extensible | Identifier Type Codes |
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes |
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes |
Observation.hasMember.type | extensible | ResourceType |
Observation.hasMember.identifier.use | required | IdentifierUse |
Observation.hasMember.identifier.type | extensible | Identifier Type Codes |
Observation.component.code | extensible | fiphr-vs-vitalsigns |
Observation.component.value[x] | required | VitalSignsUnits |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path(s) | Details | Requirements |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Observation.meta.extension, Observation.extension, Observation.extension:creatingApplication, Observation.modifierExtension, Observation.identifier.extension, Observation.category:VSCat.extension, Observation.category:VSCat.coding.extension, Observation.subject.extension, Observation.subject.identifier.extension, Observation.performer.extension, Observation.performer.identifier.extension, Observation.dataAbsentReason.extension, Observation.dataAbsentReason.coding:fiphrDataAbsentReason.extension, Observation.interpretation.extension, Observation.interpretation.coding:fiphrInterpretation.extension, Observation.note.extension, Observation.note.author[x].extension, Observation.note.author[x].identifier.extension, Observation.device.extension, Observation.device.identifier.extension, Observation.referenceRange.extension, Observation.referenceRange.modifierExtension, Observation.hasMember.extension, Observation.hasMember.identifier.extension, Observation.component.extension, Observation.component.modifierExtension, Observation.component.code.extension, Observation.component.dataAbsentReason.extension, Observation.component.dataAbsentReason.coding:fiphrCoding.extension, Observation.component.interpretation.extension, Observation.component.interpretation.coding:fiphrCoding.extension | 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() | |
per-1 | error | Observation.identifier.period, Observation.subject.identifier.period, Observation.performer.identifier.period, Observation.note.author[x].identifier.period, Observation.device.identifier.period, Observation.hasMember.identifier.period | If present, start SHALL have a lower value than end : start.hasValue().not() or end.hasValue().not() or (start <= end) | |
qty-3 | error | Observation.value[x], Observation.referenceRange.low, Observation.referenceRange.high, Observation.component.value[x] | If a code for the unit is present, the system SHALL also be present : code.empty() or system.exists() | |
ref-1 | error | Observation.subject, Observation.performer | SHALL have a contained resource if a local reference is provided : reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) | |
rng-2 | error | Observation.referenceRange.age | If present, low SHALL have a lower value than high : low.empty() or high.empty() or (low <= high) | |
sqty-1 | error | Observation.referenceRange.low, Observation.referenceRange.high | The comparator is not used on a SimpleQuantity : comparator.empty() | |
vs-1 | error | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
vs-3 | error | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() |
This structure is derived from observation-vitalsigns
Summary
Mandatory: 0 element (32 nested mandatory elements)
Must-Support: 1 element
Fixed Value: 6 elements
Prohibited: 17 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron