Finnish Base Profiles
0.2.0 - ci-build Finland flag

Finnish Base Profiles - Local Development build (v0.2.0). See the Directory of published versions

Resource Profile: fiphr-sd-vitalsigns

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:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from observation-vitalsigns

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation observation-vitalsignsFinnish 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..1Reference(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 ..1Slice: 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 ..1Binding: (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..

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.languagerequired
Observation.categorypreferred
Observation.category:VSCatrequired
Observation.codeextensiblefiphr-vs-vitalsigns
Observation.dataAbsentReasonextensible
Observation.interpretationextensible
Observation.component.codeextensiblefiphr-vs-vitalsigns
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*observation-vitalsignsFinnish PHR base profile for Observation resource
... meta ΣN1..1MetaMetadata 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..1canonical(StructureDefinition)Profiles this resource claims to conform to
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 1..1codeLanguage of the resource content
Binding: CommonLanguages (required): Finnish PHR: A code of human language.

... Slices for extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... creatingApplication N0..*(Complex)Application identification
URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication
... modifierExtension ?!N0..*ExtensionExtensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier ΣN1..*IdentifierBusiness Identifier for observation
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type SΣN0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Example General: urn:ietf:rfc:3986
.... value Σ1..1stringThe value that is unique
Example General: 123456
... status ?!SΣ1..1codeFinnish PHR: Status final
Binding: ObservationStatus (required): Codes providing the status of an observation.


Fixed Value: final
... Slices for category SN1..*CodeableConceptClassification of type of observation.
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Classification of type of observation.


.... category:VSCat SN1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (required): Codes for high level observation categories.


..... coding SΣN1..*CodingCode defined by a terminology system
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code SΣ1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
... code SΣN1..1CodeableConceptCoded Responses from C-CDA Vital Sign Results
Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type.

... subject SΣCN1..1Reference(Finnish PHR Patient profile) {r}Who and/or what the observation is about
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... effective[x] SΣC1..1dateTimeOften just a dateTime for Vital Signs
... issued Σ1..1instantFinnish PHR: The date and time this observation is stored
... performer ΣCN1..1Reference(Finnish PHR Patient profile) {r}Finnish PHR: Application user who is responsible for the observation
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... value[x] SΣCN0..1Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
... dataAbsentReason SCN0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... id 0..1stringxml:id (or equivalent in JSON)
.... Slices for coding ΣN0..1CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:fiphrDataAbsentReason ΣN1..1CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ1..1stringRepresentation defined by the system
... interpretation N0..1CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Finnish PHR: Codes identifying interpretations of observations.


.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:fiphrInterpretation ΣN1..1CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ1..1stringRepresentation defined by the system
... component SΣCN0..*BackboneElementUsed when reporting systolic and diastolic blood pressure.
.... modifierExtension ?!ΣN0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code SΣN1..1CodeableConceptType of component observation (code / type)
Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type.

..... coding ΣN1..*CodingCode defined by a terminology system
.... value[x] SΣCN0..1Vital Sign Value recorded with UCUM
Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs.

..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
.... dataAbsentReason SCN0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:fiphrCoding ΣN1..1CodingCode defined by a terminology system
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
....... code Σ1..1codeSymbol in syntax defined by the system
....... display Σ1..1stringRepresentation defined by the system

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.languagerequiredCommonLanguages
Observation.identifier.userequiredIdentifierUse
Observation.identifier.typeextensibleIdentifier Type Codes
Observation.statusrequiredFixed Value: final
Observation.categorypreferredObservationCategoryCodes
Observation.category:VSCatrequiredObservationCategoryCodes
Observation.codeextensiblefiphr-vs-vitalsigns
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.component.codeextensiblefiphr-vs-vitalsigns
Observation.component.value[x]requiredVitalSignsUnits
Observation.component.dataAbsentReasonextensibleDataAbsentReason

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.extension, Observation.extension:creatingApplication, Observation.modifierExtension, Observation.component.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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-3errorObservation.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-1errorObservation.subject, Observation.performerSHALL 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-1errorObservation.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-2errorObservationIf 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-3errorObservation.componentIf there is no a value a data absent reason must be present
: value.exists() or dataAbsentReason.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*observation-vitalsignsFinnish PHR base profile for Observation resource
... id Σ0..1idLogical id of this artifact
... meta ΣN1..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source Σ0..1uriIdentifies 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..1canonical(StructureDefinition)Profiles this resource claims to conform to
.... security ΣN0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag ΣN0..*CodingTags 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..1uriA set of rules under which this content was created
... text N1..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... creatingApplication N0..*(Complex)Application identification
URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication
... modifierExtension ?!N0..*ExtensionExtensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier ΣN1..*IdentifierBusiness Identifier for observation
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type SΣN0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Example General: urn:ietf:rfc:3986
.... value Σ1..1stringThe value that is unique
Example General: 123456
.... period ΣCN0..1PeriodTime period when id is/was valid for use
... status ?!SΣ1..1codeFinnish PHR: Status final
Binding: ObservationStatus (required): Codes providing the status of an observation.


Fixed Value: final
... Slices for category SN1..*CodeableConceptClassification of type of observation.
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Classification of type of observation.


.... category:VSCat SN1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (required): Codes for high level observation categories.


..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣN1..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
... code SΣN1..1CodeableConceptCoded Responses from C-CDA Vital Sign Results
Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type.

... subject SΣCN1..1Reference(Finnish PHR Patient profile) {r}Who and/or what the observation is about
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier ΣN0..1IdentifierLogical reference, when literal reference is not known
..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type ΣN0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period ΣCN0..1PeriodTime period when id is/was valid for use
.... display Σ0..1stringText alternative for the resource
... effective[x] SΣC1..1dateTimeOften just a dateTime for Vital Signs
... issued Σ1..1instantFinnish PHR: The date and time this observation is stored
... performer ΣCN1..1Reference(Finnish PHR Patient profile) {r}Finnish PHR: Application user who is responsible for the observation
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier ΣN0..1IdentifierLogical reference, when literal reference is not known
..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type ΣN0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period ΣCN0..1PeriodTime period when id is/was valid for use
.... display Σ0..1stringText alternative for the resource
... value[x] SΣCN0..1Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
... dataAbsentReason SCN0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... id 0..1stringxml:id (or equivalent in JSON)
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding ΣN0..1CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:fiphrDataAbsentReason ΣN1..1CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ1..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... interpretation N0..1CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Finnish PHR: Codes identifying interpretations of observations.


.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:fiphrInterpretation ΣN1..1CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ1..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... note N0..*AnnotationComments about the observation
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... time Σ0..1dateTimeWhen the annotation was made
.... text Σ1..1markdownThe annotation - text content (as markdown)
... referenceRange CN0..*BackboneElementProvides guide for interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!ΣN0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... low CN0..1SimpleQuantityLow Range, if relevant
.... high CN0..1SimpleQuantityHigh Range, if relevant
.... type N0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo N0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age CN0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... component SΣCN0..*BackboneElementUsed when reporting systolic and diastolic blood pressure.
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!ΣN0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code SΣN1..1CodeableConceptType of component observation (code / type)
Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type.

..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding ΣN1..*CodingCode defined by a terminology system
..... text Σ0..1stringPlain text representation of the concept
.... value[x] SΣCN0..1Vital Sign Value recorded with UCUM
Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs.

..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
.... dataAbsentReason SCN0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:fiphrCoding ΣN1..1CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
....... display Σ1..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
.... interpretation N0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:fiphrCoding ΣN1..1CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
....... display Σ1..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
.... referenceRange 0..*See referenceRangeProvides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.meta.securityextensibleAll Security Labels
Observation.meta.tagexampleCommonTags
Observation.languagerequiredCommonLanguages
Observation.identifier.userequiredIdentifierUse
Observation.identifier.typeextensibleIdentifier Type Codes
Observation.statusrequiredFixed Value: final
Observation.categorypreferredObservationCategoryCodes
Observation.category:VSCatrequiredObservationCategoryCodes
Observation.codeextensiblefiphr-vs-vitalsigns
Observation.subject.typeextensibleResourceType
Observation.subject.identifier.userequiredIdentifierUse
Observation.subject.identifier.typeextensibleIdentifier Type Codes
Observation.performer.typeextensibleResourceType
Observation.performer.identifier.userequiredIdentifierUse
Observation.performer.identifier.typeextensibleIdentifier Type Codes
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.note.author[x].typeextensibleResourceType
Observation.note.author[x].identifier.userequiredIdentifierUse
Observation.note.author[x].identifier.typeextensibleIdentifier Type Codes
Observation.device.typeextensibleResourceType
Observation.device.identifier.userequiredIdentifierUse
Observation.device.identifier.typeextensibleIdentifier Type Codes
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.hasMember.typeextensibleResourceType
Observation.hasMember.identifier.userequiredIdentifierUse
Observation.hasMember.identifier.typeextensibleIdentifier Type Codes
Observation.component.codeextensiblefiphr-vs-vitalsigns
Observation.component.value[x]requiredVitalSignsUnits
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.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.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
per-1errorObservation.identifier.period, Observation.subject.identifier.period, Observation.performer.identifier.period, Observation.note.author[x].identifier.period, Observation.device.identifier.period, Observation.hasMember.identifier.periodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
qty-3errorObservation.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-1errorObservation.subject, Observation.performerSHALL 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-2errorObservation.referenceRange.ageIf present, low SHALL have a lower value than high
: low.empty() or high.empty() or (low <= high)
sqty-1errorObservation.referenceRange.low, Observation.referenceRange.highThe comparator is not used on a SimpleQuantity
: comparator.empty()
vs-1errorObservation.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-3errorObservation.componentIf 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:

  • The element Observation.meta.profile is sliced based on the value of value:$this
  • The element Observation.dataAbsentReason.coding is sliced based on the value of value:system
  • The element Observation.interpretation.coding is sliced based on the value of value:system
  • The element Observation.component.dataAbsentReason.coding is sliced based on the value of value:system
  • The element Observation.component.interpretation.coding is sliced based on the value of value:system

Differential View

This structure is derived from observation-vitalsigns

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation observation-vitalsignsFinnish 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..1Reference(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 ..1Slice: 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 ..1Binding: (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..

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Observation.languagerequired
Observation.categorypreferred
Observation.category:VSCatrequired
Observation.codeextensiblefiphr-vs-vitalsigns
Observation.dataAbsentReasonextensible
Observation.interpretationextensible
Observation.component.codeextensiblefiphr-vs-vitalsigns

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*observation-vitalsignsFinnish PHR base profile for Observation resource
... meta ΣN1..1MetaMetadata 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..1canonical(StructureDefinition)Profiles this resource claims to conform to
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 1..1codeLanguage of the resource content
Binding: CommonLanguages (required): Finnish PHR: A code of human language.

... Slices for extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... creatingApplication N0..*(Complex)Application identification
URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication
... modifierExtension ?!N0..*ExtensionExtensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier ΣN1..*IdentifierBusiness Identifier for observation
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type SΣN0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Example General: urn:ietf:rfc:3986
.... value Σ1..1stringThe value that is unique
Example General: 123456
... status ?!SΣ1..1codeFinnish PHR: Status final
Binding: ObservationStatus (required): Codes providing the status of an observation.


Fixed Value: final
... Slices for category SN1..*CodeableConceptClassification of type of observation.
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Classification of type of observation.


.... category:VSCat SN1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (required): Codes for high level observation categories.


..... coding SΣN1..*CodingCode defined by a terminology system
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code SΣ1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
... code SΣN1..1CodeableConceptCoded Responses from C-CDA Vital Sign Results
Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type.

... subject SΣCN1..1Reference(Finnish PHR Patient profile) {r}Who and/or what the observation is about
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... effective[x] SΣC1..1dateTimeOften just a dateTime for Vital Signs
... issued Σ1..1instantFinnish PHR: The date and time this observation is stored
... performer ΣCN1..1Reference(Finnish PHR Patient profile) {r}Finnish PHR: Application user who is responsible for the observation
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... value[x] SΣCN0..1Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
... dataAbsentReason SCN0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... id 0..1stringxml:id (or equivalent in JSON)
.... Slices for coding ΣN0..1CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:fiphrDataAbsentReason ΣN1..1CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ1..1stringRepresentation defined by the system
... interpretation N0..1CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Finnish PHR: Codes identifying interpretations of observations.


.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:fiphrInterpretation ΣN1..1CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ1..1stringRepresentation defined by the system
... component SΣCN0..*BackboneElementUsed when reporting systolic and diastolic blood pressure.
.... modifierExtension ?!ΣN0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code SΣN1..1CodeableConceptType of component observation (code / type)
Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type.

..... coding ΣN1..*CodingCode defined by a terminology system
.... value[x] SΣCN0..1Vital Sign Value recorded with UCUM
Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs.

..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
.... dataAbsentReason SCN0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:fiphrCoding ΣN1..1CodingCode defined by a terminology system
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
....... code Σ1..1codeSymbol in syntax defined by the system
....... display Σ1..1stringRepresentation defined by the system

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.languagerequiredCommonLanguages
Observation.identifier.userequiredIdentifierUse
Observation.identifier.typeextensibleIdentifier Type Codes
Observation.statusrequiredFixed Value: final
Observation.categorypreferredObservationCategoryCodes
Observation.category:VSCatrequiredObservationCategoryCodes
Observation.codeextensiblefiphr-vs-vitalsigns
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.component.codeextensiblefiphr-vs-vitalsigns
Observation.component.value[x]requiredVitalSignsUnits
Observation.component.dataAbsentReasonextensibleDataAbsentReason

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.extension, Observation.extension:creatingApplication, Observation.modifierExtension, Observation.component.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf 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-3errorObservation.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-1errorObservation.subject, Observation.performerSHALL 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-1errorObservation.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-2errorObservationIf 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-3errorObservation.componentIf there is no a value a data absent reason must be present
: value.exists() or dataAbsentReason.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*observation-vitalsignsFinnish PHR base profile for Observation resource
... id Σ0..1idLogical id of this artifact
... meta ΣN1..1MetaMetadata about the resource
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source Σ0..1uriIdentifies 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..1canonical(StructureDefinition)Profiles this resource claims to conform to
.... security ΣN0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag ΣN0..*CodingTags 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..1uriA set of rules under which this content was created
... text N1..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... creatingApplication N0..*(Complex)Application identification
URL: http://phr.kanta.fi/StructureDefinition/fiphr-ext-creatingapplication
... modifierExtension ?!N0..*ExtensionExtensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier ΣN1..*IdentifierBusiness Identifier for observation
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type SΣN0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Example General: urn:ietf:rfc:3986
.... value Σ1..1stringThe value that is unique
Example General: 123456
.... period ΣCN0..1PeriodTime period when id is/was valid for use
... status ?!SΣ1..1codeFinnish PHR: Status final
Binding: ObservationStatus (required): Codes providing the status of an observation.


Fixed Value: final
... Slices for category SN1..*CodeableConceptClassification of type of observation.
Slice: Unordered, Open by value:coding.code, value:coding.system
Binding: ObservationCategoryCodes (preferred): Classification of type of observation.


.... category:VSCat SN1..1CodeableConceptClassification of type of observation
Binding: ObservationCategoryCodes (required): Codes for high level observation categories.


..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣN1..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeSymbol in syntax defined by the system
Fixed Value: vital-signs
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
... code SΣN1..1CodeableConceptCoded Responses from C-CDA Vital Sign Results
Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type.

... subject SΣCN1..1Reference(Finnish PHR Patient profile) {r}Who and/or what the observation is about
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier ΣN0..1IdentifierLogical reference, when literal reference is not known
..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type ΣN0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period ΣCN0..1PeriodTime period when id is/was valid for use
.... display Σ0..1stringText alternative for the resource
... effective[x] SΣC1..1dateTimeOften just a dateTime for Vital Signs
... issued Σ1..1instantFinnish PHR: The date and time this observation is stored
... performer ΣCN1..1Reference(Finnish PHR Patient profile) {r}Finnish PHR: Application user who is responsible for the observation
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier ΣN0..1IdentifierLogical reference, when literal reference is not known
..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type ΣN0..1CodeableConceptDescription 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..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value Σ0..1stringThe value that is unique
Example General: 123456
..... period ΣCN0..1PeriodTime period when id is/was valid for use
.... display Σ0..1stringText alternative for the resource
... value[x] SΣCN0..1Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... valueBooleanboolean
.... valueIntegerinteger
.... valueRangeRange
.... valueRatioRatio
.... valueSampledDataSampledData
.... valueTimetime
.... valueDateTimedateTime
.... valuePeriodPeriod
... dataAbsentReason SCN0..1CodeableConceptWhy the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... id 0..1stringxml:id (or equivalent in JSON)
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding ΣN0..1CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:fiphrDataAbsentReason ΣN1..1CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ1..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... interpretation N0..1CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Finnish PHR: Codes identifying interpretations of observations.


.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
..... coding:fiphrInterpretation ΣN1..1CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
...... display Σ1..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... note N0..*AnnotationComments about the observation
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... time Σ0..1dateTimeWhen the annotation was made
.... text Σ1..1markdownThe annotation - text content (as markdown)
... referenceRange CN0..*BackboneElementProvides guide for interpretation
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!ΣN0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... low CN0..1SimpleQuantityLow Range, if relevant
.... high CN0..1SimpleQuantityHigh Range, if relevant
.... type N0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo N0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age CN0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... component SΣCN0..*BackboneElementUsed when reporting systolic and diastolic blood pressure.
.... id 0..1stringUnique id for inter-element referencing
.... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!ΣN0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code SΣN1..1CodeableConceptType of component observation (code / type)
Binding: Value Set Finnish PHR Vital Signs (extensible): This identifies the vital sign result type.

..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding ΣN1..*CodingCode defined by a terminology system
..... text Σ0..1stringPlain text representation of the concept
.... value[x] SΣCN0..1Vital Sign Value recorded with UCUM
Binding: VitalSignsUnits (required): Common UCUM units for recording Vital Signs.

..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
.... dataAbsentReason SCN0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:fiphrCoding ΣN1..1CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/data-absent-reason
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
....... display Σ1..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
.... interpretation N0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


..... id 0..1stringUnique id for inter-element referencing
..... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:fiphrCoding ΣN1..1CodingCode defined by a terminology system
....... id 0..1stringUnique id for inter-element referencing
....... extension N0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ1..1codeSymbol in syntax defined by the system
....... display Σ1..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
.... referenceRange 0..*See referenceRangeProvides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.meta.securityextensibleAll Security Labels
Observation.meta.tagexampleCommonTags
Observation.languagerequiredCommonLanguages
Observation.identifier.userequiredIdentifierUse
Observation.identifier.typeextensibleIdentifier Type Codes
Observation.statusrequiredFixed Value: final
Observation.categorypreferredObservationCategoryCodes
Observation.category:VSCatrequiredObservationCategoryCodes
Observation.codeextensiblefiphr-vs-vitalsigns
Observation.subject.typeextensibleResourceType
Observation.subject.identifier.userequiredIdentifierUse
Observation.subject.identifier.typeextensibleIdentifier Type Codes
Observation.performer.typeextensibleResourceType
Observation.performer.identifier.userequiredIdentifierUse
Observation.performer.identifier.typeextensibleIdentifier Type Codes
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.note.author[x].typeextensibleResourceType
Observation.note.author[x].identifier.userequiredIdentifierUse
Observation.note.author[x].identifier.typeextensibleIdentifier Type Codes
Observation.device.typeextensibleResourceType
Observation.device.identifier.userequiredIdentifierUse
Observation.device.identifier.typeextensibleIdentifier Type Codes
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.hasMember.typeextensibleResourceType
Observation.hasMember.identifier.userequiredIdentifierUse
Observation.hasMember.identifier.typeextensibleIdentifier Type Codes
Observation.component.codeextensiblefiphr-vs-vitalsigns
Observation.component.value[x]requiredVitalSignsUnits
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.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.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
per-1errorObservation.identifier.period, Observation.subject.identifier.period, Observation.performer.identifier.period, Observation.note.author[x].identifier.period, Observation.device.identifier.period, Observation.hasMember.identifier.periodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
qty-3errorObservation.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-1errorObservation.subject, Observation.performerSHALL 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-2errorObservation.referenceRange.ageIf present, low SHALL have a lower value than high
: low.empty() or high.empty() or (low <= high)
sqty-1errorObservation.referenceRange.low, Observation.referenceRange.highThe comparator is not used on a SimpleQuantity
: comparator.empty()
vs-1errorObservation.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-3errorObservation.componentIf 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:

  • The element Observation.meta.profile is sliced based on the value of value:$this
  • The element Observation.dataAbsentReason.coding is sliced based on the value of value:system
  • The element Observation.interpretation.coding is sliced based on the value of value:system
  • The element Observation.component.dataAbsentReason.coding is sliced based on the value of value:system
  • The element Observation.component.interpretation.coding is sliced based on the value of value:system

 

Other representations of profile: CSV, Excel, Schematron