{
  "resourceType": "StructureDefinition",
  "id": "zib-PainScore",
  "url": "http://nictiz.nl/fhir/StructureDefinition/zib-PainScore",
  "version": "1.0.3",
  "name": "Zib PainScore",
  "title": "HCIM PainScore",
  "status": "active",
  "publisher": "Nictiz",
  "contact": [
    {
      "name": "Nictiz",
      "telecom": [
        {
          "system": "url",
          "value": "https://www.nictiz.nl",
          "use": "work"
        }
      ]
    }
  ],
  "description": "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.\r\n\r\nThe pain score is a general measurement for pain experience, not a description of specific, localized pain.",
  "purpose": "The purpose of the pain score is to quantify and objectify the patient’s subjective pain experience.",
  "copyright": "CC0",
  "fhirVersion": "3.0.2",
  "mapping": [
    {
      "identity": "hcim-painscore-v3.1-2017EN",
      "uri": "https://zibs.nl/wiki/PainScore-v3.1(2017EN)",
      "name": "HCIM PainScore-v3.1-2017EN"
    },
    {
      "identity": "hcim-basicelements-v1.0-2017EN",
      "uri": "https://zibs.nl/wiki/BasicElements-v1.0(2017EN)",
      "name": "HCIM BasicElements-v1.0-2017EN"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Observation",
  "baseDefinition": "http://fhir.nl/fhir/StructureDefinition/nl-core-observation",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Observation",
        "path": "Observation",
        "short": "PainScore",
        "definition": "The pain score is a general measurement for pain experience, not a description of specific, localized pain.\r\n\r\nThe following are used as an easily reproducible measurement for pain experience:\r\n\r\n    NRS (Numeric Rating Scale) in which the patient gives the pain a number on a scale of 1 (no pain) to 10 (unbearable pain).\r\n    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.\r\n\r\nThe results of both scores have the same meaning, but the visual analogue method (VAS) is seen as more reliable than the NRS pain score.",
        "alias": [
          "Pijnscore"
        ],
        "constraint": [
          {
            "key": "maxValue-for-method",
            "severity": "error",
            "human": "maxValue of 10 if method is VAS10 or NRS or 100 if VAS100",
            "expression": "((method.coding.code = 'VAS10' or method.coding.code = 'NRS') and valueQuantity.value <= 10) or (method.coding.code='VAS100' and valueQuantity.value <= 100)"
          },
          {
            "key": "minValue-for-method",
            "severity": "error",
            "human": "minValue of 1 if method is NRS or 0 if VAS",
            "expression": "((method.coding.code = 'VAS10' or method.coding.code = 'VAS100') and valueQuantity.value >= 0) or (method.coding.code='NRS' and valueQuantity.value >= 1)"
          }
        ],
        "mapping": [
          {
            "identity": "hcim-painscore-v3.1-2017EN",
            "map": "NL-CM:12.9.1",
            "comment": "PainScore"
          }
        ]
      },
      {
        "id": "Observation.identifier",
        "path": "Observation.identifier",
        "max": "1"
      },
      {
        "id": "Observation.code.coding",
        "path": "Observation.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            },
            {
              "type": "value",
              "path": "code"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Observation.code.coding:PainScoreCode",
        "path": "Observation.code.coding",
        "sliceName": "PainScoreCode",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Observation.code.coding:PainScoreCode.system",
        "path": "Observation.code.coding.system",
        "min": 1,
        "fixedUri": "http://snomed.info/sct"
      },
      {
        "id": "Observation.code.coding:PainScoreCode.code",
        "path": "Observation.code.coding.code",
        "min": 1,
        "fixedCode": "225908003"
      },
      {
        "id": "Observation.code.coding:PainScoreCode.display",
        "path": "Observation.code.coding.display",
        "defaultValueString": "Pain score (observable entity)"
      },
      {
        "id": "Observation.subject",
        "path": "Observation.subject",
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://fhir.nl/fhir/StructureDefinition/nl-core-patient"
          }
        ]
      },
      {
        "id": "Observation.effective[x]",
        "path": "Observation.effective[x]",
        "definition": "The date and time at which the pain score was measured.",
        "alias": [
          "PijnscoreDatumTijd"
        ],
        "min": 1,
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "mapping": [
          {
            "identity": "hcim-painscore-v3.1-2017EN",
            "map": "NL-CM:12.9.3",
            "comment": "PainScoreDateTime"
          }
        ]
      },
      {
        "id": "Observation.value[x]",
        "path": "Observation.value[x]",
        "definition": "The score is a general measurement of pain experience, not a description of specific, localized pain.\r\n\r\nDepending 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.\r\n\r\nSometimes a value range of 0-100 is used instead of 0-10.",
        "alias": [
          "PijnscoreWaarde"
        ],
        "min": 1,
        "type": [
          {
            "code": "Quantity"
          }
        ],
        "example": [
          {
            "label": "Example of PainScore",
            "valueQuantity": {
              "value": 7,
              "system": "http://unitsofmeasure.org",
              "code": "{score}"
            }
          }
        ],
        "mapping": [
          {
            "identity": "hcim-painscore-v3.1-2017EN",
            "map": "NL-CM:12.9.2",
            "comment": "PainScoreValue"
          }
        ]
      },
      {
        "id": "Observation.value[x].value",
        "path": "Observation.value[x].value",
        "min": 1
      },
      {
        "id": "Observation.comment",
        "path": "Observation.comment",
        "definition": "Comment on the pain score measurement, including comments on for example the circumstances and/or disruptive factors that may influence the result.",
        "alias": [
          "Toelichting"
        ],
        "mapping": [
          {
            "identity": "hcim-painscore-v3.1-2017EN",
            "map": "NL-CM:12.9.5",
            "comment": "Comment"
          }
        ]
      },
      {
        "id": "Observation.bodySite",
        "path": "Observation.bodySite",
        "label": "AnatomicalLocation",
        "definition": "Anatomical location which is the focus of the procedure.",
        "alias": [
          "AnatomischeLocatie"
        ],
        "binding": {
          "strength": "required",
          "valueSetReference": {
            "reference": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.2--20171231000000",
            "display": "PijnAnatomischeLocatieCodelijst"
          }
        },
        "mapping": [
          {
            "identity": "hcim-painscore-v3.1-2017EN",
            "map": "NL-CM:12.9.6",
            "comment": "AnatomicalLocation"
          }
        ]
      },
      {
        "id": "Observation.bodySite.extension:Laterality",
        "path": "Observation.bodySite.extension",
        "sliceName": "Laterality",
        "definition": "Laterality adds information about body side to the anatomic location, e.g. left",
        "alias": [
          "Lateraliteit"
        ],
        "type": [
          {
            "code": "Extension",
            "profile": "http://nictiz.nl/fhir/StructureDefinition/BodySite-Qualifier"
          }
        ],
        "mapping": [
          {
            "identity": "hcim-painscore-v3.1-2017EN",
            "map": "NL-CM:12.9.7",
            "comment": "Laterality"
          }
        ]
      },
      {
        "id": "Observation.bodySite.extension:Laterality.value[x]",
        "path": "Observation.bodySite.extension.value[x]",
        "binding": {
          "strength": "extensible",
          "description": "Laterality",
          "valueSetReference": {
            "reference": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.3--20171231000000",
            "display": "PijnLateraliteitCodelijst"
          }
        }
      },
      {
        "id": "Observation.method",
        "path": "Observation.method",
        "label": "PainMeasuringMethod",
        "definition": "The measuring method describes the method used to determine the pain score. The measurement involves a visualization of the pain scale.",
        "alias": [
          "PijnMeetmethode"
        ],
        "min": 1,
        "binding": {
          "strength": "required",
          "valueSetReference": {
            "reference": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.12.9.1--20171231000000",
            "display": "PijnMeetMethodeCodelijst"
          }
        },
        "mapping": [
          {
            "identity": "hcim-painscore-v3.1-2017EN",
            "map": "NL-CM:12.9.4",
            "comment": "PainMeasuringMethod"
          }
        ]
      }
    ]
  }
}