{
  "resourceType": "StructureDefinition",
  "id": "patientappointmentrequest",
  "url": "http://fhir.xt.dev/StructureDefinition/PatientAppointmentRequest",
  "version": "5.1.0",
  "name": "PatientAppointmentRequest",
  "status": "active",
  "experimental": false,
  "date": "2025-03-02T18:47:51.3205821+00:00",
  "publisher": "x-tention Informationstechnologie GmbH",
  "contact": [
    {
      "telecom": [
        {
          "system": "email",
          "value": "fhir.profiling@x-tention.com",
          "use": "work"
        }
      ]
    }
  ],
  "description": "Appointment that represents a request by a patient for treatment. The patient may not know the correct Organization and HealthcareService yet. The resource is used in a workflow, that eventually leads to a specific Appointment, which fulfills this request. The fulfilling Appointment might be managed as a seperate resource to clearly delineate responsibilities and simplify lifecycle issues.",
  "copyright": "x-tention Informationstechnologie GmbH",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Appointment",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Appointment",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Appointment.contained",
        "path": "Appointment.contained",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Appointment.contained:containedUnverifiedPersonData",
        "path": "Appointment.contained",
        "sliceName": "containedUnverifiedPersonData",
        "short": "Contained unverified Person data",
        "definition": "The data that the booking user entered as the patient's data. This is only necessary, if the patient has not been linked and therefore has no verified patient data in the FHIR Patient referenced in Participant.",
        "max": "1",
        "type": [
          {
            "code": "Resource",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Person"
            ]
          }
        ]
      },
      {
        "id": "Appointment.contained:containedAccidentCondition",
        "path": "Appointment.contained",
        "sliceName": "containedAccidentCondition",
        "short": "Contained accident timing Condition",
        "definition": "Contained Condition resource that can be referenced from Appointment.reasonReference.",
        "type": [
          {
            "code": "Resource",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Condition"
            ]
          }
        ]
      },
      {
        "id": "Appointment.extension",
        "path": "Appointment.extension",
        "min": 1
      },
      {
        "id": "Appointment.extension:patientPayorTypeSlice",
        "path": "Appointment.extension",
        "sliceName": "patientPayorTypeSlice",
        "short": "Extension Element for Payor Type",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.xt.dev/StructureDefinition/PatientPayorType"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Appointment.extension:requestedDayOfWeekSlice",
        "path": "Appointment.extension",
        "sliceName": "requestedDayOfWeekSlice",
        "short": "Extension Element for Requested Days of Week",
        "definition": "The weekdays that the patient would prefer for their requested appointment.",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.xt.dev/StructureDefinition/RequestedDayOfWeek"
            ]
          }
        ],
        "meaningWhenMissing": "The patient does not have a preference for a weekday.",
        "isModifier": false
      },
      {
        "id": "Appointment.extension:requestedTimeOfDaySlice",
        "path": "Appointment.extension",
        "sliceName": "requestedTimeOfDaySlice",
        "short": "Extension Element for Requested Times of Day",
        "definition": "The part of the day that the patient would prefer for their requested appointment.",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.xt.dev/StructureDefinition/RequestedTimeOfDay"
            ]
          }
        ],
        "meaningWhenMissing": "The patient does not have a preference for a time of day.",
        "isModifier": false
      },
      {
        "id": "Appointment.extension:notificationAddressSlice",
        "path": "Appointment.extension",
        "sliceName": "notificationAddressSlice",
        "short": "Extension Element for Notification Address",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.xt.dev/StructureDefinition/AppointmentNotificationAddress"
            ]
          }
        ],
        "meaningWhenMissing": "The patient does not want to be contacted",
        "isModifier": false
      },
      {
        "id": "Appointment.extension:referralOrderedByProvider",
        "path": "Appointment.extension",
        "sliceName": "referralOrderedByProvider",
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.xt.dev/StructureDefinition/ReferralOrderedByProvider"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Appointment.status",
        "path": "Appointment.status",
        "short": "proposed | booked | cancelled | entered-in-error",
        "definition": "The overall status of the Appointment. The requests are created in status \"proposed\". When the employee (booking agent) resolves the associated task, it results in a \"booked\" status or in a \"cancelled\" status. When the patient retracts their request, the status \"entered-in-error\" is used."
      },
      {
        "id": "Appointment.cancelationReason",
        "path": "Appointment.cancelationReason",
        "binding": {
          "strength": "required",
          "valueSet": "http://fhir.xt.dev/ValueSet/AppointmentRequestCancellationReasons"
        }
      },
      {
        "id": "Appointment.reasonCode",
        "path": "Appointment.reasonCode",
        "slicing": {
          "discriminator": [
            {
              "type": "exists",
              "path": "text"
            }
          ],
          "rules": "closed"
        }
      },
      {
        "id": "Appointment.reasonCode:requestSlice",
        "path": "Appointment.reasonCode",
        "sliceName": "requestSlice",
        "short": "Request Text",
        "definition": "Die Fragestellung des Patienten",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.reasonCode:requestSlice.text",
        "path": "Appointment.reasonCode.text",
        "short": "Reason for request",
        "definition": "The patient's reason for seeking an appointment.",
        "min": 1
      },
      {
        "id": "Appointment.reasonCode:keywordsSlice",
        "path": "Appointment.reasonCode",
        "sliceName": "keywordsSlice",
        "short": "Keywords",
        "definition": "Stichwort-Liste mit relevanten Begriffen für die Anfrage des Patienten"
      },
      {
        "id": "Appointment.reasonCode:keywordsSlice.coding",
        "path": "Appointment.reasonCode.coding",
        "short": "List of Keywords",
        "definition": "List of organization-specific keywords that the patient selected as being relevant to his request."
      },
      {
        "id": "Appointment.reasonCode:keywordsSlice.text",
        "path": "Appointment.reasonCode.text",
        "max": "0"
      },
      {
        "id": "Appointment.reasonReference",
        "path": "Appointment.reasonReference",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Appointment.reasonReference:containedAccidentCondition",
        "path": "Appointment.reasonReference",
        "sliceName": "containedAccidentCondition",
        "short": "Contained accident timing Condition",
        "definition": "Reference to a contained Condition resource that describes the reason for the appointment request.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Condition"
            ],
            "aggregation": [
              "contained"
            ]
          }
        ]
      },
      {
        "id": "Appointment.reasonReference:containedAccidentCondition.reference",
        "path": "Appointment.reasonReference.reference",
        "short": "Internal fragment reference",
        "definition": "An internal fragment reference (starting with '#') that refers to a contained Condition resource.",
        "min": 1
      },
      {
        "id": "Appointment.reasonReference:containedAccidentCondition.type",
        "path": "Appointment.reasonReference.type",
        "min": 1,
        "fixedUri": "Condition"
      },
      {
        "id": "Appointment.reasonReference:containedAccidentCondition.identifier",
        "path": "Appointment.reasonReference.identifier",
        "max": "0"
      },
      {
        "id": "Appointment.priority",
        "path": "Appointment.priority",
        "max": "0"
      },
      {
        "id": "Appointment.description",
        "path": "Appointment.description",
        "min": 1
      },
      {
        "id": "Appointment.supportingInformation",
        "path": "Appointment.supportingInformation",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Appointment.supportingInformation:unverifiedPersonData",
        "path": "Appointment.supportingInformation",
        "sliceName": "unverifiedPersonData",
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Person"
            ],
            "aggregation": [
              "contained"
            ]
          }
        ]
      },
      {
        "id": "Appointment.supportingInformation:unverifiedPersonData.reference",
        "path": "Appointment.supportingInformation.reference",
        "short": "Internal fragment reference",
        "definition": "An Internal fragment references (starting with '#') that refers to a contained person resource."
      },
      {
        "id": "Appointment.supportingInformation:unverifiedPersonData.type",
        "path": "Appointment.supportingInformation.type",
        "min": 1,
        "fixedUri": "Person"
      },
      {
        "id": "Appointment.supportingInformation:unverifiedPersonData.identifier",
        "path": "Appointment.supportingInformation.identifier",
        "max": "0"
      },
      {
        "id": "Appointment.supportingInformation:resultingAppointment",
        "path": "Appointment.supportingInformation",
        "sliceName": "resultingAppointment",
        "short": "Resulting Appointment",
        "definition": "Appointment booked as a result of this appointmentRequest.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Appointment"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Appointment.supportingInformation:resultingAppointment.type",
        "path": "Appointment.supportingInformation.type",
        "min": 1,
        "fixedUri": "Appointment"
      },
      {
        "id": "Appointment.supportingInformation:generatedCollectionList",
        "path": "Appointment.supportingInformation",
        "sliceName": "generatedCollectionList",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/List"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Appointment.supportingInformation:generatedCollectionList.reference",
        "path": "Appointment.supportingInformation.reference",
        "min": 1
      },
      {
        "id": "Appointment.supportingInformation:generatedCollectionList.type",
        "path": "Appointment.supportingInformation.type",
        "min": 1,
        "fixedUri": "List"
      },
      {
        "id": "Appointment.supportingInformation:generatedCollectionList.identifier",
        "path": "Appointment.supportingInformation.identifier",
        "max": "0"
      },
      {
        "id": "Appointment.minutesDuration",
        "path": "Appointment.minutesDuration",
        "max": "0"
      },
      {
        "id": "Appointment.slot",
        "path": "Appointment.slot",
        "max": "0"
      },
      {
        "id": "Appointment.created",
        "path": "Appointment.created",
        "min": 1
      },
      {
        "id": "Appointment.comment",
        "path": "Appointment.comment",
        "short": "Additional comments by the patient",
        "definition": "Additional comments about the appointment by the patient. This is intended for more administrative aspects, e.g. regarding accomodations that the patient needs.",
        "comment": "Additional text to aid in facilitating the appointment. For instance, a comment might be, \"Wheelchair needed, bringing service animal\""
      },
      {
        "id": "Appointment.basedOn",
        "path": "Appointment.basedOn",
        "max": "0"
      },
      {
        "id": "Appointment.participant",
        "path": "Appointment.participant",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type.coding.system"
            },
            {
              "type": "value",
              "path": "type.coding.code"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Appointment.participant:Patient",
        "path": "Appointment.participant",
        "sliceName": "Patient",
        "short": "Patient",
        "definition": "The patient requesting the appointment. This always references the patient resources. Additional, unverified patient data (name, telephone number, ...) may be found in Appointment.supportingInformation (unverifiedPersonData slice).",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:Patient.id",
        "path": "Appointment.participant.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.type.id",
        "path": "Appointment.participant.type.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.type.coding",
        "path": "Appointment.participant.type.coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:Patient.type.coding.id",
        "path": "Appointment.participant.type.coding.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.type.coding.system",
        "path": "Appointment.participant.type.coding.system",
        "min": 1,
        "fixedUri": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
      },
      {
        "id": "Appointment.participant:Patient.type.coding.version",
        "path": "Appointment.participant.type.coding.version",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.type.coding.code",
        "path": "Appointment.participant.type.coding.code",
        "min": 1,
        "fixedCode": "PART"
      },
      {
        "id": "Appointment.participant:Patient.type.coding.userSelected",
        "path": "Appointment.participant.type.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.type.text",
        "path": "Appointment.participant.type.text",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.actor",
        "path": "Appointment.participant.actor",
        "short": "Patient",
        "definition": "The patient requesting the appointment",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:Patient.actor.id",
        "path": "Appointment.participant.actor.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.actor.reference",
        "path": "Appointment.participant.actor.reference",
        "min": 1
      },
      {
        "id": "Appointment.participant:Patient.actor.identifier",
        "path": "Appointment.participant.actor.identifier",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.actor.display",
        "path": "Appointment.participant.actor.display",
        "max": "0"
      },
      {
        "id": "Appointment.participant:Patient.required",
        "path": "Appointment.participant.required",
        "min": 1,
        "fixedCode": "required"
      },
      {
        "id": "Appointment.participant:Patient.period",
        "path": "Appointment.participant.period",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation",
        "path": "Appointment.participant",
        "sliceName": "requestedLocation",
        "short": "Requested Location",
        "definition": "Organization that the patient is seeking an appointment in, represented by its Location.",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:requestedLocation.id",
        "path": "Appointment.participant.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.type",
        "path": "Appointment.participant.type",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:requestedLocation.type.id",
        "path": "Appointment.participant.type.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.type.coding",
        "path": "Appointment.participant.type.coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:requestedLocation.type.coding.id",
        "path": "Appointment.participant.type.coding.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.type.coding.system",
        "path": "Appointment.participant.type.coding.system",
        "min": 1,
        "fixedUri": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
      },
      {
        "id": "Appointment.participant:requestedLocation.type.coding.version",
        "path": "Appointment.participant.type.coding.version",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.type.coding.code",
        "path": "Appointment.participant.type.coding.code",
        "min": 1,
        "fixedCode": "LOC"
      },
      {
        "id": "Appointment.participant:requestedLocation.type.coding.userSelected",
        "path": "Appointment.participant.type.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.type.text",
        "path": "Appointment.participant.type.text",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.actor",
        "path": "Appointment.participant.actor",
        "short": "Requested Location",
        "definition": "The Location that the patient selected for the appointment request",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Location"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:requestedLocation.actor.id",
        "path": "Appointment.participant.actor.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.actor.reference",
        "path": "Appointment.participant.actor.reference",
        "min": 1
      },
      {
        "id": "Appointment.participant:requestedLocation.actor.type",
        "path": "Appointment.participant.actor.type",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.actor.identifier",
        "path": "Appointment.participant.actor.identifier",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.actor.display",
        "path": "Appointment.participant.actor.display",
        "max": "0"
      },
      {
        "id": "Appointment.participant:requestedLocation.period",
        "path": "Appointment.participant.period",
        "max": "0"
      }
    ]
  }
}