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-calorieintake

Official URL: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake Version: 0.2.0
Draft as of 2021-02-22 Computable Name: FIPHRSDCalorieIntake

Finnish PHR profile for Calorie Intake observation resource

Finnish PHR profile for Observation used for measuring calorie intake. The profile is based on the Finnish PHR Nutrition profile.

Usage:

Formal Views of Profile Content

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

This structure is derived from FIPHRSDNutrition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*FIPHRSDNutritionFinnish PHR profile for Calorie Intake observation resource
... meta 1..1MetaMetadata about the resource
.... profile 1..*canonical(StructureDefinition)Profiles this resource claims to conform to
Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
.... profile:fiphrProfile 1..1canonical(StructureDefinition)Profiles this resource claims to conform to
Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
... code
.... coding:fiphrCode 1..1CodingCode defined by a terminology system
..... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 9052-2
... Slices for effective[x] 1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Open by type:$this
.... effective[x]:effectiveDateTime 1..1dateTimeClinically relevant time/time-period for observation
.... value[x]:valueQuantity 1..1QuantityActual result
..... value 1..1decimalNumerical value (with implicit precision)
..... unit 1..1stringUnit representation
Fixed Value: kcal
..... system 1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code 1..1codeCoded form of the unit
Fixed Value: kcal

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*FIPHRSDNutritionFinnish PHR profile for Calorie Intake observation resource
... meta Σ1..1MetaMetadata about the resource
.... Slices for profile Σ1..*canonical(StructureDefinition)Profiles this resource claims to conform to
Slice: Unordered, Open by value:$this

Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
..... profile:fiphrProfile Σ1..1canonical(StructureDefinition)Profiles this resource claims to conform to

Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 1..1codeLanguage of the resource content
Binding: CommonLanguages (required): A human language.

... 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 .

.... 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 ?!Σ1..1codeFinnish PHR: Status final
Binding: ObservationStatus (required): Codes providing the status of an observation.


Fixed Value: final
... category N1..1CodeableConceptClassification of type of observation
Binding: Value Set Finnish PHR Observation Category (extensible): Codes for high level observation categories.


.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system, value:code
..... coding:fiphrCategory ΣN1..1CodingCode defined by a terminology system
...... system Σ1..1uriFinnish PHR: Codes for high level observation categories.
Fixed Value: http://phr.kanta.fi/CodeSystem/fiphr-cs-observationcategory
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: nutrition
... code ΣN1..1CodeableConceptType of observation (code / type)
Binding: Value Set Finnish PHR Nutrition (extensible): Codes identifying names of simple observations.

.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system, value:code
..... coding:fiphrCode Σ1..1CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 9052-2
...... display Σ1..1stringRepresentation defined by the system
... subject ΣCN1..1Reference(Finnish PHR Patient profile) {r}Who and/or what the observation is about
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... Slices for effective[x] Σ1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ1..1dateTimeClinically relevant time/time-period for observation
... issued Σ1..1instantFinnish PHR: The date and time this observation is stored
... performer ΣCN1..1Reference(Finnish PHR Patient profile)Finnish PHR: Application user who is responsible for the observation
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... Slices for value[x] ΣC1..1QuantityActual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueQuantity ΣC1..1QuantityActual result
..... value Σ1..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ1..1stringUnit representation
Fixed Value: kcal
..... system ΣC1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code Σ1..1codeCoded form of the unit
Fixed Value: kcal

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.languagerequiredCommonLanguages
Observation.identifier.userequiredIdentifierUse
Observation.statusrequiredFixed Value: final
Observation.categoryextensiblefiphr-vs-observationcategory
Observation.codeextensiblefiphr-vs-nutrition
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
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:creatingApplication, Observation.modifierExtension, Observation.referenceRange.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.value[x]:valueQuantity, Observation.referenceRange.low, Observation.referenceRange.highIf 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'))
sqty-1errorObservation.referenceRange.low, Observation.referenceRange.highThe comparator is not used on a SimpleQuantity
: comparator.empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*FIPHRSDNutritionFinnish PHR profile for Calorie Intake observation resource
... id Σ0..1idLogical id of this artifact
... meta Σ1..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

Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
..... profile:fiphrProfile Σ1..1canonical(StructureDefinition)Profiles this resource claims to conform to

Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
.... 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 Σ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 ?!Σ1..1codeFinnish PHR: Status final
Binding: ObservationStatus (required): Codes providing the status of an observation.


Fixed Value: final
... category N1..1CodeableConceptClassification of type of observation
Binding: Value Set Finnish PHR Observation Category (extensible): 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
.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system, value:code
..... coding:fiphrCategory Σ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..1uriFinnish PHR: Codes for high level observation categories.
Fixed Value: http://phr.kanta.fi/CodeSystem/fiphr-cs-observationcategory
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: nutrition
...... 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 ΣN1..1CodeableConceptType of observation (code / type)
Binding: Value Set Finnish PHR Nutrition (extensible): Codes identifying names of simple 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, value:code
..... coding:fiphrCode Σ1..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://loinc.org
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 9052-2
...... 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
... subject Σ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
... Slices for effective[x] Σ1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ1..1dateTimeClinically relevant time/time-period for observation
... issued Σ1..1instantFinnish PHR: The date and time this observation is stored
... performer ΣCN1..1Reference(Finnish PHR Patient profile)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
... Slices for value[x] ΣC1..1QuantityActual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueQuantity ΣC1..1QuantityActual result
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ1..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ1..1stringUnit representation
Fixed Value: kcal
..... system ΣC1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code Σ1..1codeCoded form of the unit
Fixed Value: kcal
... interpretation N0..*CodeableConceptHigh, 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)

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.categoryextensiblefiphr-vs-observationcategory
Observation.codeextensiblefiphr-vs-nutrition
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.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.interpretationextensibleObservationInterpretationCodes
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
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.extension, Observation.category.coding:fiphrCategory.extension, Observation.code.extension, Observation.code.coding:fiphrCode.extension, Observation.subject.extension, Observation.subject.identifier.extension, Observation.performer.extension, Observation.performer.identifier.extension, Observation.value[x]:valueQuantity.extension, Observation.interpretation.extension, Observation.interpretation.coding:fiphrInterpretation.extension, Observation.note.extension, Observation.referenceRange.extension, Observation.referenceRange.modifierExtension, Observation.component.extension, Observation.component.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
per-1errorObservation.identifier.period, Observation.subject.identifier.period, Observation.performer.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.value[x]:valueQuantity, 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()

This structure is derived from FIPHRSDNutrition

Summary

Mandatory: 7 elements
Fixed Value: 6 elements

Slices

This structure defines the following Slices:

  • The element Observation.effective[x] is sliced based on the value of type:$this
  • The element Observation.value[x] is sliced based on the value of type:$this

Differential View

This structure is derived from FIPHRSDNutrition

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*FIPHRSDNutritionFinnish PHR profile for Calorie Intake observation resource
... meta 1..1MetaMetadata about the resource
.... profile 1..*canonical(StructureDefinition)Profiles this resource claims to conform to
Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
.... profile:fiphrProfile 1..1canonical(StructureDefinition)Profiles this resource claims to conform to
Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
... code
.... coding:fiphrCode 1..1CodingCode defined by a terminology system
..... code 1..1codeSymbol in syntax defined by the system
Fixed Value: 9052-2
... Slices for effective[x] 1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Open by type:$this
.... effective[x]:effectiveDateTime 1..1dateTimeClinically relevant time/time-period for observation
.... value[x]:valueQuantity 1..1QuantityActual result
..... value 1..1decimalNumerical value (with implicit precision)
..... unit 1..1stringUnit representation
Fixed Value: kcal
..... system 1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code 1..1codeCoded form of the unit
Fixed Value: kcal

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*FIPHRSDNutritionFinnish PHR profile for Calorie Intake observation resource
... meta Σ1..1MetaMetadata about the resource
.... Slices for profile Σ1..*canonical(StructureDefinition)Profiles this resource claims to conform to
Slice: Unordered, Open by value:$this

Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
..... profile:fiphrProfile Σ1..1canonical(StructureDefinition)Profiles this resource claims to conform to

Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 1..1codeLanguage of the resource content
Binding: CommonLanguages (required): A human language.

... 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 .

.... 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 ?!Σ1..1codeFinnish PHR: Status final
Binding: ObservationStatus (required): Codes providing the status of an observation.


Fixed Value: final
... category N1..1CodeableConceptClassification of type of observation
Binding: Value Set Finnish PHR Observation Category (extensible): Codes for high level observation categories.


.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system, value:code
..... coding:fiphrCategory ΣN1..1CodingCode defined by a terminology system
...... system Σ1..1uriFinnish PHR: Codes for high level observation categories.
Fixed Value: http://phr.kanta.fi/CodeSystem/fiphr-cs-observationcategory
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: nutrition
... code ΣN1..1CodeableConceptType of observation (code / type)
Binding: Value Set Finnish PHR Nutrition (extensible): Codes identifying names of simple observations.

.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system, value:code
..... coding:fiphrCode Σ1..1CodingCode defined by a terminology system
...... system Σ1..1uriIdentity of the terminology system
Fixed Value: http://loinc.org
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 9052-2
...... display Σ1..1stringRepresentation defined by the system
... subject ΣCN1..1Reference(Finnish PHR Patient profile) {r}Who and/or what the observation is about
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... Slices for effective[x] Σ1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ1..1dateTimeClinically relevant time/time-period for observation
... issued Σ1..1instantFinnish PHR: The date and time this observation is stored
... performer ΣCN1..1Reference(Finnish PHR Patient profile)Finnish PHR: Application user who is responsible for the observation
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... Slices for value[x] ΣC1..1QuantityActual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueQuantity ΣC1..1QuantityActual result
..... value Σ1..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ1..1stringUnit representation
Fixed Value: kcal
..... system ΣC1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code Σ1..1codeCoded form of the unit
Fixed Value: kcal

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.languagerequiredCommonLanguages
Observation.identifier.userequiredIdentifierUse
Observation.statusrequiredFixed Value: final
Observation.categoryextensiblefiphr-vs-observationcategory
Observation.codeextensiblefiphr-vs-nutrition
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
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:creatingApplication, Observation.modifierExtension, Observation.referenceRange.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.value[x]:valueQuantity, Observation.referenceRange.low, Observation.referenceRange.highIf 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'))
sqty-1errorObservation.referenceRange.low, Observation.referenceRange.highThe comparator is not used on a SimpleQuantity
: comparator.empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*FIPHRSDNutritionFinnish PHR profile for Calorie Intake observation resource
... id Σ0..1idLogical id of this artifact
... meta Σ1..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

Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
..... profile:fiphrProfile Σ1..1canonical(StructureDefinition)Profiles this resource claims to conform to

Fixed Value: http://phr.kanta.fi/StructureDefinition/fiphr-sd-calorieintake
.... 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 Σ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 ?!Σ1..1codeFinnish PHR: Status final
Binding: ObservationStatus (required): Codes providing the status of an observation.


Fixed Value: final
... category N1..1CodeableConceptClassification of type of observation
Binding: Value Set Finnish PHR Observation Category (extensible): 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
.... Slices for coding ΣN1..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system, value:code
..... coding:fiphrCategory Σ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..1uriFinnish PHR: Codes for high level observation categories.
Fixed Value: http://phr.kanta.fi/CodeSystem/fiphr-cs-observationcategory
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: nutrition
...... 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 ΣN1..1CodeableConceptType of observation (code / type)
Binding: Value Set Finnish PHR Nutrition (extensible): Codes identifying names of simple 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, value:code
..... coding:fiphrCode Σ1..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://loinc.org
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: 9052-2
...... 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
... subject Σ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
... Slices for effective[x] Σ1..1dateTimeClinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ1..1dateTimeClinically relevant time/time-period for observation
... issued Σ1..1instantFinnish PHR: The date and time this observation is stored
... performer ΣCN1..1Reference(Finnish PHR Patient profile)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
... Slices for value[x] ΣC1..1QuantityActual result
Slice: Unordered, Closed by type:$this
.... value[x]:valueQuantity ΣC1..1QuantityActual result
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ1..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ1..1stringUnit representation
Fixed Value: kcal
..... system ΣC1..1uriSystem that defines coded unit form
Fixed Value: http://unitsofmeasure.org
..... code Σ1..1codeCoded form of the unit
Fixed Value: kcal
... interpretation N0..*CodeableConceptHigh, 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)

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.categoryextensiblefiphr-vs-observationcategory
Observation.codeextensiblefiphr-vs-nutrition
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.value[x]:valueQuantity.comparatorrequiredQuantityComparator
Observation.interpretationextensibleObservationInterpretationCodes
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes (a valid code from LOINC)
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.extension, Observation.category.coding:fiphrCategory.extension, Observation.code.extension, Observation.code.coding:fiphrCode.extension, Observation.subject.extension, Observation.subject.identifier.extension, Observation.performer.extension, Observation.performer.identifier.extension, Observation.value[x]:valueQuantity.extension, Observation.interpretation.extension, Observation.interpretation.coding:fiphrInterpretation.extension, Observation.note.extension, Observation.referenceRange.extension, Observation.referenceRange.modifierExtension, Observation.component.extension, Observation.component.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
per-1errorObservation.identifier.period, Observation.subject.identifier.period, Observation.performer.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.value[x]:valueQuantity, 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()

This structure is derived from FIPHRSDNutrition

Summary

Mandatory: 7 elements
Fixed Value: 6 elements

Slices

This structure defines the following Slices:

  • The element Observation.effective[x] is sliced based on the value of type:$this
  • The element Observation.value[x] is sliced based on the value of type:$this

 

Other representations of profile: CSV, Excel, Schematron