Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zib-PainScore #233

Merged
merged 19 commits into from
Jul 12, 2023
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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>

Check warning on line 26 in examples/nl-core-PainScore-01.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Code System URI 'urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.9.1' is unknown so the code cannot be validated
<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">

Check warning on line 1 in resources/zib/terminology/PijnMeetmethodeCodelijst-2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20200901000000.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Unknown System 'urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.9.1' specified, so Concepts and Filters can't be checked (Details: The CodeSystem urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.9.1 is unknown (from Tx-Server))
<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>
147 changes: 147 additions & 0 deletions resources/zib/zib-PainScore.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
<?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 = 'VAS10' or method.coding.code = 'NRS') and value &lt;= 10) or (method.coding.code = 'VAS100' and 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" />
<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>
Loading