Nictiz FHIR NL STU3 Zib2017
1.3.15 - CI Build

Nictiz FHIR NL STU3 Zib2017 - Local Development build (v1.3.15) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: HCIM PainScore

Official URL: http://nictiz.nl/fhir/StructureDefinition/zib-PainScore Version: 1.3.15
Draft as of 2024-04-09 Computable Name: Zib PainScore

Copyright/Legal: CC0

This profile is derived from the HL7 Observation profile in order to add mappings from the Dutch Health and Care Information models (Dutch: Zorginformatiebouwsteen or ZIB) PainScore version 3.1, release 2017 and to provide extensions for missing concepts if needed.

The pain score is a general measurement for pain experience, not a description of specific, localized pain.

The purpose of the pain score is to quantify and objectify the patient’s subjective pain experience.

Usage:

Formal Views of Profile Content

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

This structure is derived from nl-core-observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* nl-core-observation PainScore
maxValue-for-method: maxValue of 10 if method is VAS10 or NRS or 100 if VAS100
minValue-for-method: minValue of 1 if method is NRS or 0 if VAS
... identifier 0..1 Identifier Business Identifier for observation
... code
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:PainScoreCode 0..* Coding Code defined by a terminology system
...... system 0..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 0..1 code Symbol in syntax defined by the system
Fixed Value: 225908003
... subject 1..1 Reference(nl-core-patient) Who and/or what this is about
... value[x]:valueQuantity 1..1 Quantity Actual result
Example Example of PainScore: {"value":7,"system":"http://unitsofmeasure.org","code":"{score}"}
.... value 1..1 decimal Numerical value (with implicit precision)
... comment 0..1 string Comments about result
... bodySite 0..1 CodeableConcept Observed body part
Binding: PijnAnatomischeLocatieCodelijst (required)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Laterality 0..* (Complex) Extension
URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
..... valueCodeableConcept:valueCodeableConcept 0..1 CodeableConcept BodySite qualifier
Binding: PijnLateraliteitCodelijst (extensible): Laterality

... method 1..1 CodeableConcept How it was done
Binding: PijnMeetmethodeCodelijst (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.bodySiterequiredPijnAnatomischeLocatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.2--20171231000000
from this IG
Observation.bodySite.extension:Laterality.valueCodeableConcept:valueCodeableConceptextensiblePijnLateraliteitCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.3--20171231000000
from this IG
Observation.methodrequiredPijnMeetmethodeCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20171231000000
from this IG

Constraints

IdGradePath(s)DetailsRequirements
maxValue-for-methoderrorObservationmaxValue of 10 if method is VAS10 or NRS or 100 if VAS100
: ((method.coding.code = 'VAS10' or method.coding.code = 'NRS') and valueQuantity.value <= 10) or (method.coding.code='VAS100' and valueQuantity.value <= 100)
minValue-for-methoderrorObservationminValue of 1 if method is NRS or 0 if VAS
: ((method.coding.code = 'VAS10' or method.coding.code = 'VAS100') and valueQuantity.value >= 0) or (method.coding.code='NRS' and valueQuantity.value >= 1)
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* nl-core-observation PainScore
obs-7: If code is the same as a component code then the value element associated with the code SHALL NOT be present
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
maxValue-for-method: maxValue of 10 if method is VAS10 or NRS or 100 if VAS100
minValue-for-method: minValue of 1 if method is NRS or 0 if VAS
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Business Identifier for observation
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINC Codes (example): Codes identifying names of simple observations.

.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:PainScoreCode Σ 0..* Coding Code defined by a terminology system
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ 0..1 code Symbol in syntax defined by the system
Fixed Value: 225908003
... subject Σ 1..1 Reference(nl-core-patient) Who and/or what this is about
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ 1..1 dateTime Clinically relevant time/time-period for observation
.... value[x]:valueQuantity ΣC 1..1 Quantity Actual result
Example Example of PainScore: {"value":7,"system":"http://unitsofmeasure.org","code":"{score}"}
..... value Σ 1..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

... comment 0..1 string Comments about result
... bodySite 0..1 CodeableConcept Observed body part
Binding: PijnAnatomischeLocatieCodelijst (required)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Laterality 0..* (Complex) Extension
URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
..... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"
..... Slices for value[x] 0..1 CodeableConcept Value of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueCodeableConcept 0..1 CodeableConcept BodySite qualifier
Binding: PijnLateraliteitCodelijst (extensible): Laterality

... method 1..1 CodeableConcept How it was done
Binding: PijnMeetmethodeCodelijst (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status
from the FHIR Standard
Observation.codeexampleLOINC Codes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator
from the FHIR Standard
Observation.bodySiterequiredPijnAnatomischeLocatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.2--20171231000000
from this IG
Observation.bodySite.extension:Laterality.value[x]:valueCodeableConceptextensiblePijnLateraliteitCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.3--20171231000000
from this IG
Observation.methodrequiredPijnMeetmethodeCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20171231000000
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-1errorObservationIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
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
: contained.where(('#'+id in %resource.descendants().reference).not()).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()
maxValue-for-methoderrorObservationmaxValue of 10 if method is VAS10 or NRS or 100 if VAS100
: ((method.coding.code = 'VAS10' or method.coding.code = 'NRS') and valueQuantity.value <= 10) or (method.coding.code='VAS100' and valueQuantity.value <= 100)
minValue-for-methoderrorObservationminValue of 1 if method is NRS or 0 if VAS
: ((method.coding.code = 'VAS10' or method.coding.code = 'VAS100') and valueQuantity.value >= 0) or (method.coding.code='NRS' and valueQuantity.value >= 1)
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf code is the same as a component code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where( (coding.code = %resource.code.coding.code) and (coding.system = %resource.code.coding.system)).empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* nl-core-observation PainScore
obs-7: If code is the same as a component code then the value element associated with the code SHALL NOT be present
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
maxValue-for-method: maxValue of 10 if method is VAS10 or NRS or 100 if VAS100
minValue-for-method: minValue of 1 if method is NRS or 0 if VAS
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: Common Languages (extensible): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional Content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Business Identifier for observation
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ProcedureRequest | ReferralRequest) Fulfills plan, proposal or order
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category 0..* CodeableConcept Classification of type of observation
Binding: Observation Category Codes (preferred): Codes for high level observation categories.


... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINC Codes (example): Codes identifying names of simple observations.

.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:PainScoreCode Σ 0..* Coding Code defined by a terminology system
...... id 0..1 string xml:id (or equivalent in JSON)
...... extension 0..* Extension Additional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 0..1 code Symbol in syntax defined by the system
Fixed Value: 225908003
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... subject Σ 1..1 Reference(nl-core-patient) Who and/or what this is about
... context 0..1 Reference(nl-core-episodeofcare | HCIM Encounter | gp-Encounter) Healthcare event during which this observation is made
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ 1..1 dateTime Clinically relevant time/time-period for observation
... issued Σ 0..1 instant Date/Time this was made available
... performer Σ 0..* Reference(nl-core-organization | nl-core-patient | nl-core-practitioner | nl-core-relatedperson) Who is responsible for the observation
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... practitionerRole 0..1 Reference(nl-core-practitionerrole) Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/practitionerrole-reference
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... value[x]:valueQuantity ΣC 1..1 Quantity Actual result
Example Example of PainScore: {"value":7,"system":"http://unitsofmeasure.org","code":"{score}"}
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
Slice: Unordered, Open by value:url
.... value Σ 1..1 decimal Numerical value (with implicit precision)
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

.... unit Σ 0..1 string Unit representation
.... system ΣC 0..1 uri System that defines coded unit form
.... code Σ 0..1 code Coded form of the unit
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: Observation Value Absent Reason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation 0..1 CodeableConcept High, low, normal, etc.
Binding: Observation Interpretation Codes (extensible): Codes identifying interpretations of observations.

... comment 0..1 string Comments about result
... bodySite 0..1 CodeableConcept Observed body part
Binding: PijnAnatomischeLocatieCodelijst (required)
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Laterality 0..* (Complex) Extension
URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"
..... Slices for value[x] 0..1 CodeableConcept Value of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueCodeableConcept 0..1 CodeableConcept BodySite qualifier
Binding: PijnLateraliteitCodelijst (extensible): Laterality

.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... method 1..1 CodeableConcept How it was done
Binding: PijnMeetmethodeCodelijst (required)
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
... referenceRange C 0..* BackboneElement Provides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... low C 0..1 SimpleQuantity Low Range, if relevant
.... high C 0..1 SimpleQuantity High Range, if relevant
.... type 0..1 CodeableConcept Reference range qualifier
Binding: Observation Reference Range Meaning Codes (extensible): Code for the meaning of a reference range.

.... appliesTo 0..* CodeableConcept Reference range population
Binding: Observation Reference Range Applies To Codes (example): Codes identifying the population the reference range applies to.


.... age 0..1 Range Applicable age range, if relevant
.... text 0..1 string Text based reference range in an observation
... related Σ 0..* BackboneElement Resource related to this observation
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... type 0..1 code has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required): Codes specifying how two observations are related.

.... target 1..1 Reference(Observation | QuestionnaireResponse | Sequence) Resource that is related to this one
... component Σ 0..* BackboneElement Component results
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINC Codes (example): Codes identifying names of simple observations.

.... value[x] Σ 0..1 Actual component result
..... valueQuantity Quantity
..... valueCodeableConcept CodeableConcept
..... valueString string
..... valueRange Range
..... valueRatio Ratio
..... valueSampledData SampledData
..... valueAttachment Attachment
..... valueTime time
..... valueDateTime dateTime
..... valuePeriod Period
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: Observation Value Absent Reason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... interpretation 0..1 CodeableConcept High, low, normal, etc.
Binding: Observation Interpretation Codes (extensible): Codes identifying interpretations of observations.

.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status
from the FHIR Standard
Observation.categorypreferredObservation Category Codes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINC Codes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator
from the FHIR Standard
Observation.dataAbsentReasonextensibleObservation Value Absent Reason
http://hl7.org/fhir/ValueSet/observation-valueabsentreason
from the FHIR Standard
Observation.interpretationextensibleObservation Interpretation Codes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.bodySiterequiredPijnAnatomischeLocatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.2--20171231000000
from this IG
Observation.bodySite.extension:Laterality.value[x]:valueCodeableConceptextensiblePijnLateraliteitCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.3--20171231000000
from this IG
Observation.methodrequiredPijnMeetmethodeCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20171231000000
from this IG
Observation.referenceRange.typeextensibleObservation Reference Range Meaning Codes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToexampleObservation Reference Range Applies To Codes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.related.typerequiredObservationRelationshipType
http://hl7.org/fhir/ValueSet/observation-relationshiptypes
from the FHIR Standard
Observation.component.codeexampleLOINC Codes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.dataAbsentReasonextensibleObservation Value Absent Reason
http://hl7.org/fhir/ValueSet/observation-valueabsentreason
from the FHIR Standard
Observation.component.interpretationextensibleObservation Interpretation Codes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-1errorObservationIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
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
: contained.where(('#'+id in %resource.descendants().reference).not()).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()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
maxValue-for-methoderrorObservationmaxValue of 10 if method is VAS10 or NRS or 100 if VAS100
: ((method.coding.code = 'VAS10' or method.coding.code = 'NRS') and valueQuantity.value <= 10) or (method.coding.code='VAS100' and valueQuantity.value <= 100)
minValue-for-methoderrorObservationminValue of 1 if method is NRS or 0 if VAS
: ((method.coding.code = 'VAS10' or method.coding.code = 'VAS100') and valueQuantity.value >= 0) or (method.coding.code='NRS' and valueQuantity.value >= 1)
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf code is the same as a component code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where( (coding.code = %resource.code.coding.code) and (coding.system = %resource.code.coding.system)).empty()

This structure is derived from nl-core-observation

Summary

Mandatory: 4 elements
Fixed: 2 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 1 is sliced based on the value of Observation.code.coding

Differential View

This structure is derived from nl-core-observation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* nl-core-observation PainScore
maxValue-for-method: maxValue of 10 if method is VAS10 or NRS or 100 if VAS100
minValue-for-method: minValue of 1 if method is NRS or 0 if VAS
... identifier 0..1 Identifier Business Identifier for observation
... code
.... Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:PainScoreCode 0..* Coding Code defined by a terminology system
...... system 0..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 0..1 code Symbol in syntax defined by the system
Fixed Value: 225908003
... subject 1..1 Reference(nl-core-patient) Who and/or what this is about
... value[x]:valueQuantity 1..1 Quantity Actual result
Example Example of PainScore: {"value":7,"system":"http://unitsofmeasure.org","code":"{score}"}
.... value 1..1 decimal Numerical value (with implicit precision)
... comment 0..1 string Comments about result
... bodySite 0..1 CodeableConcept Observed body part
Binding: PijnAnatomischeLocatieCodelijst (required)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Laterality 0..* (Complex) Extension
URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
..... valueCodeableConcept:valueCodeableConcept 0..1 CodeableConcept BodySite qualifier
Binding: PijnLateraliteitCodelijst (extensible): Laterality

... method 1..1 CodeableConcept How it was done
Binding: PijnMeetmethodeCodelijst (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Observation.bodySiterequiredPijnAnatomischeLocatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.2--20171231000000
from this IG
Observation.bodySite.extension:Laterality.valueCodeableConcept:valueCodeableConceptextensiblePijnLateraliteitCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.3--20171231000000
from this IG
Observation.methodrequiredPijnMeetmethodeCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20171231000000
from this IG

Constraints

IdGradePath(s)DetailsRequirements
maxValue-for-methoderrorObservationmaxValue of 10 if method is VAS10 or NRS or 100 if VAS100
: ((method.coding.code = 'VAS10' or method.coding.code = 'NRS') and valueQuantity.value <= 10) or (method.coding.code='VAS100' and valueQuantity.value <= 100)
minValue-for-methoderrorObservationminValue of 1 if method is NRS or 0 if VAS
: ((method.coding.code = 'VAS10' or method.coding.code = 'VAS100') and valueQuantity.value >= 0) or (method.coding.code='NRS' and valueQuantity.value >= 1)

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* nl-core-observation PainScore
obs-7: If code is the same as a component code then the value element associated with the code SHALL NOT be present
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
maxValue-for-method: maxValue of 10 if method is VAS10 or NRS or 100 if VAS100
minValue-for-method: minValue of 1 if method is NRS or 0 if VAS
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Business Identifier for observation
... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINC Codes (example): Codes identifying names of simple observations.

.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:PainScoreCode Σ 0..* Coding Code defined by a terminology system
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code Σ 0..1 code Symbol in syntax defined by the system
Fixed Value: 225908003
... subject Σ 1..1 Reference(nl-core-patient) Who and/or what this is about
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ 1..1 dateTime Clinically relevant time/time-period for observation
.... value[x]:valueQuantity ΣC 1..1 Quantity Actual result
Example Example of PainScore: {"value":7,"system":"http://unitsofmeasure.org","code":"{score}"}
..... value Σ 1..1 decimal Numerical value (with implicit precision)
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

... comment 0..1 string Comments about result
... bodySite 0..1 CodeableConcept Observed body part
Binding: PijnAnatomischeLocatieCodelijst (required)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Laterality 0..* (Complex) Extension
URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
..... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"
..... Slices for value[x] 0..1 CodeableConcept Value of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueCodeableConcept 0..1 CodeableConcept BodySite qualifier
Binding: PijnLateraliteitCodelijst (extensible): Laterality

... method 1..1 CodeableConcept How it was done
Binding: PijnMeetmethodeCodelijst (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status
from the FHIR Standard
Observation.codeexampleLOINC Codes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator
from the FHIR Standard
Observation.bodySiterequiredPijnAnatomischeLocatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.2--20171231000000
from this IG
Observation.bodySite.extension:Laterality.value[x]:valueCodeableConceptextensiblePijnLateraliteitCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.3--20171231000000
from this IG
Observation.methodrequiredPijnMeetmethodeCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20171231000000
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-1errorObservationIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
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
: contained.where(('#'+id in %resource.descendants().reference).not()).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()
maxValue-for-methoderrorObservationmaxValue of 10 if method is VAS10 or NRS or 100 if VAS100
: ((method.coding.code = 'VAS10' or method.coding.code = 'NRS') and valueQuantity.value <= 10) or (method.coding.code='VAS100' and valueQuantity.value <= 100)
minValue-for-methoderrorObservationminValue of 1 if method is NRS or 0 if VAS
: ((method.coding.code = 'VAS10' or method.coding.code = 'VAS100') and valueQuantity.value >= 0) or (method.coding.code='NRS' and valueQuantity.value >= 1)
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf code is the same as a component code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where( (coding.code = %resource.code.coding.code) and (coding.system = %resource.code.coding.system)).empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* nl-core-observation PainScore
obs-7: If code is the same as a component code then the value element associated with the code SHALL NOT be present
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
maxValue-for-method: maxValue of 10 if method is VAS10 or NRS or 100 if VAS100
minValue-for-method: minValue of 1 if method is NRS or 0 if VAS
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: Common Languages (extensible): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional Content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Business Identifier for observation
... basedOn Σ 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ProcedureRequest | ReferralRequest) Fulfills plan, proposal or order
... status ?!Σ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... category 0..* CodeableConcept Classification of type of observation
Binding: Observation Category Codes (preferred): Codes for high level observation categories.


... code Σ 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINC Codes (example): Codes identifying names of simple observations.

.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding Σ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:code
..... coding:PainScoreCode Σ 0..* Coding Code defined by a terminology system
...... id 0..1 string xml:id (or equivalent in JSON)
...... extension 0..* Extension Additional Content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 0..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version Σ 0..1 string Version of the system - if relevant
...... code Σ 0..1 code Symbol in syntax defined by the system
Fixed Value: 225908003
...... display Σ 0..1 string Representation defined by the system
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... subject Σ 1..1 Reference(nl-core-patient) Who and/or what this is about
... context 0..1 Reference(nl-core-episodeofcare | HCIM Encounter | gp-Encounter) Healthcare event during which this observation is made
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
.... effective[x]:effectiveDateTime Σ 1..1 dateTime Clinically relevant time/time-period for observation
... issued Σ 0..1 instant Date/Time this was made available
... performer Σ 0..* Reference(nl-core-organization | nl-core-patient | nl-core-practitioner | nl-core-relatedperson) Who is responsible for the observation
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... practitionerRole 0..1 Reference(nl-core-practitionerrole) Optional Extensions Element
URL: http://nictiz.nl/fhir/StructureDefinition/practitionerrole-reference
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... value[x]:valueQuantity ΣC 1..1 Quantity Actual result
Example Example of PainScore: {"value":7,"system":"http://unitsofmeasure.org","code":"{score}"}
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
Slice: Unordered, Open by value:url
.... value Σ 1..1 decimal Numerical value (with implicit precision)
.... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

.... unit Σ 0..1 string Unit representation
.... system ΣC 0..1 uri System that defines coded unit form
.... code Σ 0..1 code Coded form of the unit
... dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: Observation Value Absent Reason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation 0..1 CodeableConcept High, low, normal, etc.
Binding: Observation Interpretation Codes (extensible): Codes identifying interpretations of observations.

... comment 0..1 string Comments about result
... bodySite 0..1 CodeableConcept Observed body part
Binding: PijnAnatomischeLocatieCodelijst (required)
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Laterality 0..* (Complex) Extension
URL: http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1 uri "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"
..... Slices for value[x] 0..1 CodeableConcept Value of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueCodeableConcept 0..1 CodeableConcept BodySite qualifier
Binding: PijnLateraliteitCodelijst (extensible): Laterality

.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 0..1 string Plain text representation of the concept
... method 1..1 CodeableConcept How it was done
Binding: PijnMeetmethodeCodelijst (required)
... specimen 0..1 Reference(Specimen) Specimen used for this observation
... device 0..1 Reference(Device | DeviceMetric) (Measurement) Device
... referenceRange C 0..* BackboneElement Provides guide for interpretation
obs-3: Must have at least a low or a high or text
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... low C 0..1 SimpleQuantity Low Range, if relevant
.... high C 0..1 SimpleQuantity High Range, if relevant
.... type 0..1 CodeableConcept Reference range qualifier
Binding: Observation Reference Range Meaning Codes (extensible): Code for the meaning of a reference range.

.... appliesTo 0..* CodeableConcept Reference range population
Binding: Observation Reference Range Applies To Codes (example): Codes identifying the population the reference range applies to.


.... age 0..1 Range Applicable age range, if relevant
.... text 0..1 string Text based reference range in an observation
... related Σ 0..* BackboneElement Resource related to this observation
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... type 0..1 code has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
Binding: ObservationRelationshipType (required): Codes specifying how two observations are related.

.... target 1..1 Reference(Observation | QuestionnaireResponse | Sequence) Resource that is related to this one
... component Σ 0..* BackboneElement Component results
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... code Σ 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINC Codes (example): Codes identifying names of simple observations.

.... value[x] Σ 0..1 Actual component result
..... valueQuantity Quantity
..... valueCodeableConcept CodeableConcept
..... valueString string
..... valueRange Range
..... valueRatio Ratio
..... valueSampledData SampledData
..... valueAttachment Attachment
..... valueTime time
..... valueDateTime dateTime
..... valuePeriod Period
.... dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: Observation Value Absent Reason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... interpretation 0..1 CodeableConcept High, low, normal, etc.
Binding: Observation Interpretation Codes (extensible): Codes identifying interpretations of observations.

.... referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Observation.languageextensibleCommon Languages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status
from the FHIR Standard
Observation.categorypreferredObservation Category Codes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeexampleLOINC Codes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator
from the FHIR Standard
Observation.dataAbsentReasonextensibleObservation Value Absent Reason
http://hl7.org/fhir/ValueSet/observation-valueabsentreason
from the FHIR Standard
Observation.interpretationextensibleObservation Interpretation Codes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard
Observation.bodySiterequiredPijnAnatomischeLocatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.2--20171231000000
from this IG
Observation.bodySite.extension:Laterality.value[x]:valueCodeableConceptextensiblePijnLateraliteitCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.3--20171231000000
from this IG
Observation.methodrequiredPijnMeetmethodeCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20171231000000
from this IG
Observation.referenceRange.typeextensibleObservation Reference Range Meaning Codes
http://hl7.org/fhir/ValueSet/referencerange-meaning
from the FHIR Standard
Observation.referenceRange.appliesToexampleObservation Reference Range Applies To Codes
http://hl7.org/fhir/ValueSet/referencerange-appliesto
from the FHIR Standard
Observation.related.typerequiredObservationRelationshipType
http://hl7.org/fhir/ValueSet/observation-relationshiptypes
from the FHIR Standard
Observation.component.codeexampleLOINC Codes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.component.dataAbsentReasonextensibleObservation Value Absent Reason
http://hl7.org/fhir/ValueSet/observation-valueabsentreason
from the FHIR Standard
Observation.component.interpretationextensibleObservation Interpretation Codes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-1errorObservationIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
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
: contained.where(('#'+id in %resource.descendants().reference).not()).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()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
maxValue-for-methoderrorObservationmaxValue of 10 if method is VAS10 or NRS or 100 if VAS100
: ((method.coding.code = 'VAS10' or method.coding.code = 'NRS') and valueQuantity.value <= 10) or (method.coding.code='VAS100' and valueQuantity.value <= 100)
minValue-for-methoderrorObservationminValue of 1 if method is NRS or 0 if VAS
: ((method.coding.code = 'VAS10' or method.coding.code = 'VAS100') and valueQuantity.value >= 0) or (method.coding.code='NRS' and valueQuantity.value >= 1)
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf code is the same as a component code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where( (coding.code = %resource.code.coding.code) and (coding.system = %resource.code.coding.system)).empty()

This structure is derived from nl-core-observation

Summary

Mandatory: 4 elements
Fixed: 2 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 1 is sliced based on the value of Observation.code.coding

 

Other representations of profile: CSV, Excel, Schematron