{
  "resourceType": "StructureDefinition",
  "id": "taskforprofessional-profile",
  "url": "http://fhir.xt.dev/StructureDefinition/TaskForProfessional",
  "version": "2.1.0",
  "name": "TaskForProfessional",
  "status": "active",
  "date": "2026-07-29T20:13:16.3717829+00:00",
  "publisher": "x-tention Informationstechnologie GmbH",
  "contact": [
    {
      "telecom": [
        {
          "system": "email",
          "value": "fhir.profiling@x-tention.com",
          "use": "work"
        }
      ]
    }
  ],
  "description": "A Task that is meant to be fulfilled by an individual professional, potentially in the name of a provider organization.",
  "copyright": "x-tention Informationstechnologie GmbH",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Task",
  "baseDefinition": "http://fhir.xt.dev/StructureDefinition/BaseTask",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Task.extension:performer",
        "path": "Task.extension",
        "sliceName": "performer"
      },
      {
        "id": "Task.extension:performer.value[x]:valueCodeableConcept",
        "path": "Task.extension.value[x]",
        "sliceName": "valueCodeableConcept"
      },
      {
        "id": "Task.extension:performer.value[x]:valueCodeableConcept.coding",
        "path": "Task.extension.value[x].coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Task.extension:performer.value[x]:valueCodeableConcept.coding.system",
        "path": "Task.extension.value[x].coding.system",
        "min": 1,
        "fixedUri": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
      },
      {
        "id": "Task.extension:performer.value[x]:valueCodeableConcept.coding.version",
        "path": "Task.extension.value[x].coding.version",
        "max": "0"
      },
      {
        "id": "Task.extension:performer.value[x]:valueCodeableConcept.coding.code",
        "path": "Task.extension.value[x].coding.code",
        "min": 1,
        "fixedCode": "PPRF"
      },
      {
        "id": "Task.extension:performer.value[x]:valueCodeableConcept.coding.userSelected",
        "path": "Task.extension.value[x].coding.userSelected",
        "max": "0"
      },
      {
        "id": "Task.extension:performer.value[x]:valueReference",
        "path": "Task.extension.value[x]",
        "sliceName": "valueReference",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Practitioner"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Task.extension:performer.value[x]:valueReference.reference",
        "path": "Task.extension.value[x].reference",
        "short": "Literal reference to the Practitioner",
        "definition": "A literal reference relative to the service base URL. Identifies the Practitioner who performs the Task.",
        "min": 1
      },
      {
        "id": "Task.extension:performer.value[x]:valueReference.identifier",
        "path": "Task.extension.value[x].identifier",
        "max": "0"
      },
      {
        "id": "Task.extension:requestedPerformer",
        "path": "Task.extension",
        "sliceName": "requestedPerformer"
      },
      {
        "id": "Task.extension:requestedPerformer.value[x]",
        "path": "Task.extension.value[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Task.extension:requestedPerformer.value[x]:valueReference",
        "path": "Task.extension.value[x]",
        "sliceName": "valueReference",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/Organization",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Task.extension:requestedPerformer.value[x]:valueReference.reference",
        "path": "Task.extension.value[x].reference",
        "short": "Literal reference",
        "definition": "A reference to a location at which the other resource is found. The reference must be a relative reference to an Organization, Practitioner, PractitionerRole or HealthcareService. It must be relative to the service base URL",
        "min": 1
      },
      {
        "id": "Task.extension:requestedPerformer.value[x]:valueReference.identifier",
        "path": "Task.extension.value[x].identifier",
        "max": "0"
      },
      {
        "id": "Task.identifier",
        "path": "Task.identifier",
        "max": "0"
      },
      {
        "id": "Task.instantiatesUri",
        "path": "Task.instantiatesUri",
        "definition": "The URL identifying the workflow, normally starting with http://workflow.xt.dev/ for all standard x-tention workflows."
      },
      {
        "id": "Task.intent",
        "path": "Task.intent",
        "short": "plan | order",
        "definition": "Tasks for professionals currently only support 2 modes, \"plan\" for suggested actions, e.g. patient requests, and \"order\" for required actions, e.g. authorized requests by other professionals."
      },
      {
        "id": "Task.code",
        "path": "Task.code",
        "min": 1,
        "binding": {
          "strength": "extensible",
          "description": "Codes to identify the type of task for the professional",
          "valueSet": "http://fhir.xt.dev/ValueSet/ProfessionalTaskTypes"
        }
      },
      {
        "id": "Task.code.coding",
        "path": "Task.code.coding",
        "min": 1,
        "max": "1",
        "binding": {
          "strength": "extensible",
          "valueSet": "http://fhir.xt.dev/ValueSet/ProfessionalTaskTypes"
        }
      },
      {
        "id": "Task.code.coding.system",
        "path": "Task.code.coding.system",
        "min": 1
      },
      {
        "id": "Task.code.coding.version",
        "path": "Task.code.coding.version",
        "max": "0"
      },
      {
        "id": "Task.code.coding.code",
        "path": "Task.code.coding.code",
        "min": 1
      },
      {
        "id": "Task.code.coding.userSelected",
        "path": "Task.code.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Task.code.text",
        "path": "Task.code.text",
        "max": "0"
      },
      {
        "id": "Task.description",
        "path": "Task.description",
        "min": 1
      },
      {
        "id": "Task.for",
        "path": "Task.for",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Task.for.reference",
        "path": "Task.for.reference",
        "min": 1
      },
      {
        "id": "Task.for.identifier",
        "path": "Task.for.identifier",
        "max": "0"
      },
      {
        "id": "Task.authoredOn",
        "path": "Task.authoredOn",
        "min": 1
      },
      {
        "id": "Task.lastModified",
        "path": "Task.lastModified",
        "min": 1
      },
      {
        "id": "Task.requester",
        "path": "Task.requester",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Organization",
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Task.requester.reference",
        "path": "Task.requester.reference",
        "min": 1
      },
      {
        "id": "Task.requester.identifier",
        "path": "Task.requester.identifier",
        "max": "0"
      },
      {
        "id": "Task.performerType",
        "path": "Task.performerType",
        "max": "0"
      },
      {
        "id": "Task.owner",
        "path": "Task.owner",
        "short": "Responsible organization",
        "definition": "Organization currently responsible for task execution.",
        "comment": "This type of Task may only be created with an identified owner.",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Organization"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Task.owner.reference",
        "path": "Task.owner.reference",
        "min": 1
      },
      {
        "id": "Task.owner.identifier",
        "path": "Task.owner.identifier",
        "max": "0"
      },
      {
        "id": "Task.reasonCode",
        "path": "Task.reasonCode",
        "max": "0"
      },
      {
        "id": "Task.reasonReference",
        "path": "Task.reasonReference",
        "max": "0"
      }
    ]
  }
}