{
  "resourceType": "StructureDefinition",
  "id": "questionnaireresponse-item-filter-profile",
  "url": "http://fhir.xt.dev/StructureDefinition/QuestionnaireResponseItemFilter",
  "version": "0.0.4",
  "name": "QuestionnaireResponseItemFilter",
  "status": "draft",
  "date": "2026-04-13T19:55:26.2350821+00:00",
  "publisher": "x-tention Informationstechnologie GmbH",
  "contact": [
    {
      "telecom": [
        {
          "system": "email",
          "value": "fhir.profiling@x-tention.com",
          "use": "work"
        }
      ]
    }
  ],
  "description": "This extension defines a filter for specific content in a QuestionnaireResponse that can be used to decide whether to trigger follow-up processes like tasks based on how questionnaire was filled out.",
  "copyright": "x-tention Informationstechnologie GmbH",
  "fhirVersion": "4.0.1",
  "kind": "complex-type",
  "abstract": false,
  "context": [
    {
      "type": "element",
      "expression": "CommunicationRequest.basedOn"
    }
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "min": 1
      },
      {
        "id": "Extension.extension:linkId",
        "path": "Extension.extension",
        "sliceName": "linkId",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:linkId.url",
        "path": "Extension.extension.url",
        "fixedUri": "linkId"
      },
      {
        "id": "Extension.extension:linkId.value[x]",
        "path": "Extension.extension.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:codingResponse",
        "path": "Extension.extension",
        "sliceName": "codingResponse",
        "short": "Expected Coding",
        "definition": "This is the expected Coding that must exist in the QuestionnaireResponse for this filter to match. If this element is used, booleanResponse must be empty.",
        "max": "1"
      },
      {
        "id": "Extension.extension:codingResponse.url",
        "path": "Extension.extension.url",
        "fixedUri": "codingResponse"
      },
      {
        "id": "Extension.extension:codingResponse.value[x]",
        "path": "Extension.extension.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Coding"
          }
        ]
      },
      {
        "id": "Extension.extension:codingResponse.value[x].version",
        "path": "Extension.extension.value[x].version",
        "max": "0"
      },
      {
        "id": "Extension.extension:codingResponse.value[x].code",
        "path": "Extension.extension.value[x].code",
        "min": 1
      },
      {
        "id": "Extension.extension:codingResponse.value[x].userSelected",
        "path": "Extension.extension.value[x].userSelected",
        "max": "0"
      },
      {
        "id": "Extension.extension:booleanResponse",
        "path": "Extension.extension",
        "sliceName": "booleanResponse",
        "short": "Expected boolean",
        "definition": "This is the expected boolean that must exist in the QuestionnaireResponse for this filter to match. If this element is used, codingResponse must be empty.",
        "max": "1"
      },
      {
        "id": "Extension.extension:booleanResponse.url",
        "path": "Extension.extension.url",
        "fixedUri": "booleanResponse"
      },
      {
        "id": "Extension.extension:booleanResponse.value[x]",
        "path": "Extension.extension.value[x]",
        "min": 1,
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "fixedUri": "http://fhir.xt.dev/StructureDefinition/QuestionnaireResponseItemFilter"
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "max": "0"
      }
    ]
  }
}