Skip to content

Commit

Permalink
Merge pull request #233 from Nictiz/zib-PainScore
Browse files Browse the repository at this point in the history
Zib-PainScore
  • Loading branch information
pieter-edelman-nictiz authored Jul 12, 2023
2 parents 4f3180d + 63d4f03 commit e04fdbf
Show file tree
Hide file tree
Showing 6 changed files with 329 additions and 0 deletions.
32 changes: 32 additions & 0 deletions examples/nl-core-PainScore-01.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<Observation xmlns="http://hl7.org/fhir">
<id value="nl-core-PainScore-01"/>
<meta>
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-PainScore"/>
</meta>
<status value="final"/>
<code>
<coding>
<system value="http://snomed.info/sct"/>
<code value="225908003"/>
<display value="pijnscore"/>
</coding>
</code>
<subject>
<reference value="Patient/nl-core-Patient-01"/>
<type value="Patient"/>
<display value="Patient, Johanna Petronella Maria (Jo) van Putten-van der Giessen"/>
</subject>
<effectiveDateTime value="2013-02-08T06:43:00+01:00"/>
<valueInteger value="7"/>
<note>
<text value="Bij bewegen"/>
</note>
<method>
<coding>
<system value="urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.9.1"/>
<code value="VAS10"/>
<display value="VAS10"/>
</coding>
</method>
</Observation>
6 changes: 6 additions & 0 deletions known-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -769,6 +769,12 @@ nl-core-VisualFunction.VisualAid-*:
- message: 'Profile http://nictiz.nl/fhir/StructureDefinition/nl-core-VisualFunction.VisualAid, Element matches more than one slice'
reason: The Validator cannot actually inspect the referenced resources, and falsely assumes the reference is a reference to the offending profile.

nl-core-PainScore-01:
ignored issues:
Observation.method:
- message: None of the codings provided are in the value set 'PijnMeetmethodeCodelijst'
reason: The terminology servers used don't know this code system and wrongly conclude that this is an invalid code.

nl-core-Patient-01:
ignored issues:
Patient.communication[0].language:
Expand Down
6 changes: 6 additions & 0 deletions release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,12 @@ This document contains release notes per zib, indicating differences with their
* New concept Indication mapped on the extension `NutritionOrder.extension:indication`.
* The comment extension has been replaced by a mapping to `NutritionOrder.note.text`.

## zib-PainScore
* Removed mapping on `Observation.bodySite` because the AnatomicalLocation concept has been removed from the zib.
* Removed laterality extension because the Laterality concept has been removed from the zib.
* Cardinality of `Observation.method` has changed from 1..1 to 0..1.
* The data type of `Observation.value[x]` (zib concept PainScoreValue) has been changed from Quantity to Integer.

## zib-ParticipationInSociety
* No specific changes have been made to this profile other than the generic changes for the Observation resource

Expand Down
48 changes: 48 additions & 0 deletions resources/nl-core/nl-core-PainScore.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="nl-core-PainScore" />
<url value="http://nictiz.nl/fhir/StructureDefinition/nl-core-PainScore" />
<name value="NlcorePainScore" />
<title value="nl core PainScore" />
<status value="draft" />
<publisher value="Nictiz" />
<contact>
<name value="Nictiz" />
<telecom>
<system value="url" />
<value value="https://www.nictiz.nl" />
<use value="work" />
</telecom>
</contact>
<description value="The pain score is a general measurement for pain experience, not a description of specific, localized pain.&#xD;&#xA;&#xD;&#xA;The following are used as an easily reproducible measurement for pain experience:&#xD;&#xA;NRS (Numeric Rating Scale) in which the patient gives the pain a number on a scale of 1 (no pain) to 10 (unbearable pain).&#xD;&#xA;VAS (Visual Analogue Score), in which the patient points to a bar with a line to indicate the pain they feel. The back of the bar has a scale from 0 (no pain) to 10 (unbearable pain) on it.&#xD;&#xA;&#xD;&#xA;The results of both scores have the same meaning, but the visual analogue method (VAS) is seen as more reliable than the NRS pain score." />
<purpose value="A derived profile from [zib-PainScore](http://nictiz.nl/fhir/StructureDefinition/zib-PainScore) to provide a version better suited for implementation purposes. This profile augments the base profile with elements found in the various use cases that have adopted the zib." />
<copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
<fhirVersion value="4.0.1" />
<mapping>
<identity value="zib-painscore-v4.0-2020EN" />
<uri value="https://zibs.nl/wiki/PainScore-v4.0(2020EN)" />
<name value="zib PainScore-v4.0(2020EN)" />
</mapping>
<kind value="resource" />
<abstract value="false" />
<type value="Observation" />
<baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/zib-PainScore" />
<derivation value="constraint" />
<differential>
<element id="Observation">
<path value="Observation" />
<alias value="nl-core-PainScore" />
</element>
<element id="Observation.subject">
<path value="Observation.subject" />
<type>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Group" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
<targetProfile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient" />
</type>
</element>
</differential>
</StructureDefinition>
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
<ValueSet xmlns="http://hl7.org/fhir">
<id value="2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20200901000000"/>
<meta>
<profile value="http://hl7.org/fhir/StructureDefinition/shareablevalueset"/><!--<profile value="http://hl7.org/fhir/4.0/StructureDefinition/ValueSet"/>-->
</meta>
<extension url="http://hl7.org/fhir/StructureDefinition/resource-effectivePeriod">
<valuePeriod>
<start value="2020-09-01T00:00:00+01:00"/>
</valuePeriod>
</extension>
<url value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20200901000000"/>
<identifier>
<use value="official"/>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:oid:2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1"/>
</identifier>
<version value="2020-09-01T00:00:00"/>
<name value="PijnMeetmethodeCodelijst"/>
<title value="PijnMeetmethodeCodelijst"/>
<status value="active"/>
<experimental value="false"/>
<publisher value="Registratie aan de bron"/>
<contact>
<name value="Registratie aan de bron"/>
<telecom>
<system value="url"/>
<value value="https://www.registratieaandebron.nl"/>
</telecom>
<telecom>
<system value="url"/>
<value value="https://www.zibs.nl"/>
</telecom>
</contact>
<description value="PijnMeetmethodeCodelijst"/>
<immutable value="false"/>
<compose>
<include>
<system value="urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.9.1"/>
<concept>
<extension url="http://hl7.org/fhir/StructureDefinition/valueset-concept-comments">
<valueString value="NRS"/>
</extension>
<code value="NRS"/>
<display value="NRS"/>
<designation>
<language value="nl-NL"/>
<use>
<system value="http://snomed.info/sct"/>
<code value="900000000000013009"/>
<display value="Synonym"/>
</use>
<value value="NRS"/>
</designation>
</concept>
<concept>
<extension url="http://hl7.org/fhir/StructureDefinition/valueset-concept-comments">
<valueString value="VAS10"/>
</extension>
<code value="VAS10"/>
<display value="VAS10"/>
<designation>
<language value="nl-NL"/>
<use>
<system value="http://snomed.info/sct"/>
<code value="900000000000013009"/>
<display value="Synonym"/>
</use>
<value value="VAS10"/>
</designation>
</concept>
<concept>
<extension url="http://hl7.org/fhir/StructureDefinition/valueset-concept-comments">
<valueString value="VAS100"/>
</extension>
<code value="VAS100"/>
<display value="VAS100"/>
<designation>
<language value="nl-NL"/>
<use>
<system value="http://snomed.info/sct"/>
<code value="900000000000013009"/>
<display value="Synonym"/>
</use>
<value value="VAS100"/>
</designation>
</concept>
</include>
</compose>
</ValueSet>
148 changes: 148 additions & 0 deletions resources/zib/zib-PainScore.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="zib-PainScore" />
<url value="http://nictiz.nl/fhir/StructureDefinition/zib-PainScore" />
<name value="ZibPainScore" />
<title value="zib PainScore" />
<status value="draft" />
<publisher value="Nictiz" />
<contact>
<name value="Nictiz" />
<telecom>
<system value="url" />
<value value="https://www.nictiz.nl" />
<use value="work" />
</telecom>
</contact>
<description value="The pain score is a general measurement for pain experience, not a description of specific, localized pain.&#xD;&#xA;&#xD;&#xA;The following are used as an easily reproducible measurement for pain experience:&#xD;&#xA;NRS (Numeric Rating Scale) in which the patient gives the pain a number on a scale of 1 (no pain) to 10 (unbearable pain).&#xD;&#xA;VAS (Visual Analogue Score), in which the patient points to a bar with a line to indicate the pain they feel. The back of the bar has a scale from 0 (no pain) to 10 (unbearable pain) on it.&#xD;&#xA;&#xD;&#xA;The results of both scores have the same meaning, but the visual analogue method (VAS) is seen as more reliable than the NRS pain score." />
<purpose value="This Observation resource represents the Dutch [zib ('Zorginformatiebouwsteen', i.e. Health and Care Information Model) PainScore-v4.0(2020EN)](https://zibs.nl/wiki/PainScore-v4.0(2020EN))." />
<copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
<fhirVersion value="4.0.1" />
<mapping>
<identity value="zib-painscore-v4.0-2020EN" />
<uri value="https://zibs.nl/wiki/PainScore-v4.0(2020EN)" />
<name value="zib PainScore-v4.0(2020EN)" />
</mapping>
<kind value="resource" />
<abstract value="true" />
<type value="Observation" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" />
<derivation value="constraint" />
<differential>
<element id="Observation">
<path value="Observation" />
<short value="PainScore" />
<alias value="PijnScore" />
<constraint>
<key value="zib-PainScore-1" />
<severity value="error" />
<human value="The maximum value is 10 if method is VAS10 or NRS, or 100 if method is VAS100" />
<expression value="(method.coding.code in ('VAS10' | 'NRS') implies value &lt;= 10) and (method.coding.code = 'VAS100' implies value &lt;= 100)" />
</constraint>
<constraint>
<key value="zib-PainScore-2" />
<severity value="error" />
<human value="The minimum value is 0" />
<expression value="value &gt;= 0" />
</constraint>
<mapping>
<identity value="zib-painscore-v4.0-2020EN" />
<map value="NL-CM:12.9.1" />
<comment value="PainScore" />
</mapping>
</element>
<element id="Observation.code">
<path value="Observation.code" />
<patternCodeableConcept>
<coding>
<system value="http://snomed.info/sct" />
<code value="225908003" />
</coding>
</patternCodeableConcept>
</element>
<element id="Observation.effective[x]">
<path value="Observation.effective[x]" />
<slicing>
<discriminator>
<type value="type" />
<path value="$this" />
</discriminator>
<rules value="open" />
</slicing>
</element>
<element id="Observation.effective[x]:effectiveDateTime">
<path value="Observation.effective[x]" />
<sliceName value="effectiveDateTime" />
<short value="PainScoreDateTime" />
<definition value="The date and time at which the pain score was measured." />
<alias value="PijnscoreDatumTijd" />
<type>
<code value="dateTime" />
</type>
<mapping>
<identity value="zib-painscore-v4.0-2020EN" />
<map value="NL-CM:12.9.3" />
<comment value="PainScoreDateTime" />
</mapping>
</element>
<element id="Observation.value[x]">
<path value="Observation.value[x]" />
<slicing>
<discriminator>
<type value="type" />
<path value="$this" />
</discriminator>
<rules value="open" />
</slicing>
</element>
<element id="Observation.value[x]:valueInteger">
<path value="Observation.value[x]" />
<sliceName value="valueInteger" />
<short value="PainScoreValue" />
<definition value="The score is a general measurement of pain experience, not a description of specific, localized pain. &#xD;&#xA; &#xD;&#xA;Depending on the measuring method used, it indicates the level of pain experienced by the patient on a scale of 0 to 10: 0 = no pain and 10 = the worst pain imaginable. No descriptions are used for the intermediate values, so that the value is displayed as a number and not as a code. &#xD;&#xA; &#xD;&#xA;Sometimes a value range of 0-100 is used instead of 0-10." />
<alias value="PijnscoreWaarde" />
<type>
<code value="integer" />
</type>
<condition value="zib-PainScore-1" />
<condition value="zib-PainScore-2" />
<mapping>
<identity value="zib-painscore-v4.0-2020EN" />
<map value="NL-CM:12.9.2" />
<comment value="PainScoreValue" />
</mapping>
</element>
<element id="Observation.note">
<path value="Observation.note" />
<max value="1" />
</element>
<element id="Observation.note.text">
<path value="Observation.note.text" />
<short value="Comment" />
<definition value="Comment on the pain score measurement, including comments on for example the circumstances and/or disruptive factors that may influence the result." />
<alias value="Toelichting" />
<mapping>
<identity value="zib-painscore-v4.0-2020EN" />
<map value="NL-CM:12.9.5" />
<comment value="Comment" />
</mapping>
</element>
<element id="Observation.method">
<path value="Observation.method" />
<short value="PainMeasuringMethod" />
<definition value="The measuring method describes the method used to determine the pain score. The measurement involves a visualization of the pain scale." />
<alias value="PijnMeetmethode" />
<condition value="zib-PainScore-1" />
<condition value="zib-PainScore-2" />
<binding>
<strength value="required" />
<valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20200901000000" />
</binding>
<mapping>
<identity value="zib-painscore-v4.0-2020EN" />
<map value="NL-CM:12.9.4" />
<comment value="PainMeasuringMethod" />
</mapping>
</element>
</differential>
</StructureDefinition>

0 comments on commit e04fdbf

Please sign in to comment.