PackagesCanonicalsLogsProblems
    Packages
    ca.on.mha.pds@2.0.0-snapshot17
    http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-questionnaireresponse
{
  "description": null,
  "_filename": "QuestionnaireResponse.StructureDefinition.json",
  "package_name": "ca.on.mha.pds",
  "date": null,
  "derivation": "constraint",
  "publisher": null,
  "fhirVersion": "4.0.1",
  "name": "QuestionnaireResponse",
  "abstract": false,
  "type": "QuestionnaireResponse",
  "experimental": null,
  "resourceType": "StructureDefinition",
  "title": null,
  "package_version": "2.0.0-snapshot17",
  "status": "active",
  "id": "1eb74187-ffa4-4e63-b625-08504f2ea0de",
  "kind": "resource",
  "url": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-questionnaireresponse",
  "version": "2.0.0-snapshot17",
  "differential": {
    "element": [ {
      "id": "QuestionnaireResponse",
      "path": "QuestionnaireResponse",
      "constraint": [ {
        "key": "gambling-questionnaire-q2-inv",
        "human": "Question 2 must be answered when answer to question 1 is \"own gambling\" or \"both\"",
        "severity": "error",
        "expression": "questionnaire.contains('gambling-questionnaire') and item.where(linkId='Q1').answer.value.code in ('1'|'2') implies item.where(linkId='Q2').answer.value.hasValue()"
      }, {
        "key": "gambling-questionnaire-q3-inv",
        "human": "Question 3 must be answered when answer to question 1 is \"own gambling\" or \"both\"",
        "severity": "error",
        "expression": "questionnaire.contains('gambling-questionnaire') and item.where(linkId='Q1').answer.value.code in ('1'|'2') implies item.where(linkId='Q3').answer.value.hasValue()"
      }, {
        "key": "gambling-questionnaire-q4-inv",
        "human": "Question 4 must be answered when answer to question 1 is \"own gambling\" or \"both\"",
        "severity": "error",
        "expression": "questionnaire.contains('gambling-questionnaire') and item.where(linkId='Q1').answer.value.code in ('1'|'2') implies item.where(linkId='Q4').answer.value.hasValue()"
      }, {
        "key": "gambling-questionnaire-q5-inv",
        "human": "Question 5 must be answered when answer to question 1 is \"own gambling\" or \"both\"",
        "severity": "error",
        "expression": "questionnaire.contains('gambling-questionnaire') and item.where(linkId='Q1').answer.value.code in ('1'|'2') implies item.where(linkId='Q5').answer.value.hasValue()"
      }, {
        "key": "gambling-questionnaire-q6-inv",
        "human": "Question 6 must be answered when answer to question 1 is \"own gambling\" or \"both\"",
        "severity": "error",
        "expression": "questionnaire.contains('gambling-questionnaire') and item.where(linkId='Q1').answer.value.code in ('1'|'2') implies item.where(linkId='Q6').answer.exists()"
      }, {
        "key": "gambling-questionnaire-q6b-q6c-inv",
        "human": "In gambling questionnaireResponse, if question 6 is provided, 6-b and 6-c must be either both provided, or none provided",
        "severity": "error",
        "expression": "questionnaire.contains('gambling-questionnaire') and item.where(linkId='Q6').exists() implies item.where(linkId='Q6').answer.all(item.where(linkId='Q6-b').exists() = item.where(linkId='Q6-c').exists())"
      }, {
        "key": "gambling-questionnaire-q7-inv",
        "human": "Question 7 must be answered when answer to question 1 is \"own gambling\" or \"both\"",
        "severity": "error",
        "expression": "questionnaire.contains('gambling-questionnaire') and item.where(linkId='Q1').answer.value.code in ('1'|'2') implies item.where(linkId='Q7').item.exists()"
      }, {
        "key": "gambling-q7-percentage-rule",
        "human": "If question 7 is provided in the gambling questionnaire, the percentages provided must add up to 100",
        "severity": "error",
        "expression": "questionnaire.contains('gambling-questionnaire') and item.where(linkId='Q7').item.exists() implies item.where(linkId='Q7').item.where(linkId='Q7-a').answer.value + item.where(linkId='Q7').item.where(linkId='Q7-b').answer.value + item.where(linkId='Q7').item.where(linkId='Q7-c').answer.value = 100"
      } ]
    }, {
      "id": "QuestionnaireResponse.meta",
      "min": 1,
      "path": "QuestionnaireResponse.meta",
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.meta.profile",
      "max": "1",
      "min": 1,
      "path": "QuestionnaireResponse.meta.profile",
      "mustSupport": true,
      "fixedCanonical": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-questionnaireresponse"
    }, {
      "id": "QuestionnaireResponse.questionnaire",
      "min": 1,
      "path": "QuestionnaireResponse.questionnaire",
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.status",
      "path": "QuestionnaireResponse.status",
      "fixedCode": "completed",
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.subject",
      "min": 1,
      "path": "QuestionnaireResponse.subject",
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.subject.reference",
      "min": 1,
      "path": "QuestionnaireResponse.subject.reference",
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.item",
      "min": 1,
      "path": "QuestionnaireResponse.item",
      "constraint": [ {
        "key": "gambling-q7-percentage-rule",
        "human": "If Q7 is provided, the sum of percentages must add up to 100",
        "severity": "error"
      } ],
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.item.linkId",
      "path": "QuestionnaireResponse.item.linkId",
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.item.text",
      "min": 1,
      "path": "QuestionnaireResponse.item.text",
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.item.answer",
      "path": "QuestionnaireResponse.item.answer",
      "mustSupport": true
    }, {
      "id": "QuestionnaireResponse.item.answer.value[x]",
      "min": 1,
      "path": "QuestionnaireResponse.item.answer.value[x]"
    } ]
  },
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
}