{
  "resourceType": "StructureDefinition",
  "id": "timerbeeappointment-v2-profile",
  "url": "http://fhir.xt.dev/StructureDefinition/TimerbeeAppointmentV2",
  "version": "1.0.1",
  "name": "TimerbeeAppointmentV2",
  "status": "active",
  "date": "2025-10-30T20:28:19.2224336+00:00",
  "publisher": "x-tention Informationstechnologie GmbH",
  "contact": [
    {
      "telecom": [
        {
          "system": "email",
          "value": "fhir.profiling@x-tention.com",
          "use": "work"
        }
      ]
    }
  ],
  "description": "Version 2 of the Timerbee Appointment in the eAppointments module. Valid for both patient-booked and provider-booked appointments. Includes all basic appointment attributes.",
  "copyright": "x-tention Informationstechnologie GmbH",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Appointment",
  "baseDefinition": "http://fhir.xt.dev/StructureDefinition/BaseAppointment",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Appointment.identifier",
        "path": "Appointment.identifier",
        "min": 1
      },
      {
        "id": "Appointment.identifier:primaryAppointmentID",
        "path": "Appointment.identifier",
        "sliceName": "primaryAppointmentID"
      },
      {
        "id": "Appointment.identifier:primaryAppointmentID.type.coding:timerbeeTypeCode",
        "path": "Appointment.identifier.type.coding",
        "sliceName": "timerbeeTypeCode",
        "min": 1
      },
      {
        "id": "Appointment.identifier:primaryAppointmentID.type.coding:hisAppointmentTypeCode",
        "path": "Appointment.identifier.type.coding",
        "sliceName": "hisAppointmentTypeCode",
        "max": "0"
      },
      {
        "id": "Appointment.specialty:iheDeVsSpecialty",
        "path": "Appointment.specialty",
        "sliceName": "iheDeVsSpecialty",
        "min": 1
      },
      {
        "id": "Appointment.reasonCode",
        "path": "Appointment.reasonCode",
        "max": "0"
      },
      {
        "id": "Appointment.reasonReference",
        "path": "Appointment.reasonReference",
        "max": "0"
      },
      {
        "id": "Appointment.slot",
        "path": "Appointment.slot",
        "max": "0"
      },
      {
        "id": "Appointment.basedOn",
        "path": "Appointment.basedOn",
        "max": "0"
      },
      {
        "id": "Appointment.participant",
        "path": "Appointment.participant",
        "min": 2
      },
      {
        "id": "Appointment.participant:bookableHealthcareService",
        "path": "Appointment.participant",
        "sliceName": "bookableHealthcareService",
        "min": 1
      },
      {
        "id": "Appointment.participant:bookableHealthcareService.actor.identifier",
        "path": "Appointment.participant.actor.identifier",
        "min": 1
      },
      {
        "id": "Appointment.participant:bookableHealthcareService.actor.identifier.system",
        "path": "Appointment.participant.actor.identifier.system",
        "short": "Timerbee Purpose ID Namespace",
        "definition": "Timerbee Purpose identifier namespace (also known as the Resource Managers \"ID System URI\" in Timerbee Admin)",
        "min": 1
      },
      {
        "id": "Appointment.participant:bookableHealthcareService.actor.identifier.value",
        "path": "Appointment.participant.actor.identifier.value",
        "short": "Timerbee Purpose ID",
        "definition": "Timerbee Purpose identifier value",
        "min": 1
      },
      {
        "id": "Appointment.participant:bookableHealthcareService.actor.identifier.period",
        "path": "Appointment.participant.actor.identifier.period",
        "max": "0"
      },
      {
        "id": "Appointment.participant:searchableHealthcareService",
        "path": "Appointment.participant",
        "sliceName": "searchableHealthcareService",
        "min": 1
      },
      {
        "id": "Appointment.participant:searchableHealthcareService.actor.identifier",
        "path": "Appointment.participant.actor.identifier",
        "min": 1
      },
      {
        "id": "Appointment.participant:searchableHealthcareService.actor.identifier.system",
        "path": "Appointment.participant.actor.identifier.system",
        "short": "Timerbee Resource ID namespace",
        "definition": "Timerbee Resource identifier namespace (also known as the Resource Managers \"ID System URI\" in Timerbee Admin)",
        "min": 1
      },
      {
        "id": "Appointment.participant:searchableHealthcareService.actor.identifier.value",
        "path": "Appointment.participant.actor.identifier.value",
        "short": "Timerbee Resource ID",
        "definition": "Timerbee Resource identifier value",
        "min": 1
      },
      {
        "id": "Appointment.participant:searchableHealthcareService.actor.identifier.period",
        "path": "Appointment.participant.actor.identifier.period",
        "max": "0"
      },
      {
        "id": "Appointment.participant:noRecordPatient",
        "path": "Appointment.participant",
        "sliceName": "noRecordPatient",
        "max": "0"
      }
    ]
  }
}