{
  "resourceType": "StructureDefinition",
  "id": "timerbeeappointment-profile",
  "url": "http://fhir.xt.dev/StructureDefinition/TimerbeeAppointment",
  "version": "1.0.1",
  "name": "TimerbeeAppointment",
  "status": "draft",
  "experimental": false,
  "date": "2024-10-31T09:26:38.5213874+00:00",
  "publisher": "x-tention Informationstechnologie GmbH",
  "contact": [
    {
      "telecom": [
        {
          "system": "email",
          "value": "fhir.profiling@x-tention.com",
          "use": "work"
        }
      ]
    }
  ],
  "description": "An appointment that was booked online in the patient portal with Timerbee as middleware.",
  "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.id",
        "path": "Appointment.id",
        "max": "0"
      },
      {
        "id": "Appointment.meta",
        "path": "Appointment.meta",
        "max": "0"
      },
      {
        "id": "Appointment.implicitRules",
        "path": "Appointment.implicitRules",
        "max": "0"
      },
      {
        "id": "Appointment.language",
        "path": "Appointment.language",
        "max": "0"
      },
      {
        "id": "Appointment.text",
        "path": "Appointment.text",
        "max": "0"
      },
      {
        "id": "Appointment.contained",
        "path": "Appointment.contained",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "id"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Appointment.contained:timerbeePurpose",
        "path": "Appointment.contained",
        "sliceName": "timerbeePurpose",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Resource",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Procedure"
            ]
          }
        ]
      },
      {
        "id": "Appointment.contained:timerbeePurpose.id",
        "path": "Appointment.contained.id",
        "definition": "There should be always a fix value \"1\" in the id for this resource.",
        "min": 1,
        "fixedString": "1"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.meta",
        "path": "Appointment.contained.meta",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.implicitRules",
        "path": "Appointment.contained.implicitRules",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.language",
        "path": "Appointment.contained.language",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.text",
        "path": "Appointment.contained.text",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.contained",
        "path": "Appointment.contained.contained",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.identifier",
        "path": "Appointment.contained.identifier",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.instantiatesCanonical",
        "path": "Appointment.contained.instantiatesCanonical",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.instantiatesUri",
        "path": "Appointment.contained.instantiatesUri",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.basedOn",
        "path": "Appointment.contained.basedOn",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.partOf",
        "path": "Appointment.contained.partOf",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.status",
        "path": "Appointment.contained.status",
        "short": "unknown",
        "definition": "A code specifying the state of the procedure. Only use \"unknown\". Other statuses are not supported."
      },
      {
        "id": "Appointment.contained:timerbeePurpose.statusReason",
        "path": "Appointment.contained.statusReason",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category",
        "path": "Appointment.contained.category",
        "min": 1,
        "binding": {
          "strength": "required",
          "valueSet": "http://snomed.info/sct"
        }
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.id",
        "path": "Appointment.contained.category.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.coding",
        "path": "Appointment.contained.category.coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.coding.id",
        "path": "Appointment.contained.category.coding.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.coding.system",
        "path": "Appointment.contained.category.coding.system",
        "definition": "Use http://snomed.info/sct",
        "min": 1,
        "fixedUri": "http://snomed.info/sct"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.coding.version",
        "path": "Appointment.contained.category.coding.version",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.coding.code",
        "path": "Appointment.contained.category.coding.code",
        "min": 1,
        "fixedCode": "11429006",
        "binding": {
          "strength": "required",
          "valueSet": "http://snomed.info/sct"
        }
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.coding.display",
        "path": "Appointment.contained.category.coding.display",
        "definition": "A type of the appointment. Use \"Consultation\" for contained \"Procedure\" in tis resource.",
        "min": 1,
        "fixedString": "Consultation"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.coding.userSelected",
        "path": "Appointment.contained.category.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.category.text",
        "path": "Appointment.contained.category.text",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code",
        "path": "Appointment.contained.code",
        "min": 1
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.id",
        "path": "Appointment.contained.code.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.coding",
        "path": "Appointment.contained.code.coding"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.coding.id",
        "path": "Appointment.contained.code.coding.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.coding.system",
        "path": "Appointment.contained.code.coding.system",
        "short": "Primary system URI",
        "definition": "The URI of the external system where the appointment came from.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.coding.version",
        "path": "Appointment.contained.code.coding.version",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.coding.code",
        "path": "Appointment.contained.code.coding.code",
        "short": "Timerbee Purpose System ID",
        "definition": "In Timerbee it will be used as purpose System-ID preceeded by the Resource Manager name. Example: T1|ANOT40",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.coding.display",
        "path": "Appointment.contained.code.coding.display",
        "short": "Timerbee purpose name",
        "definition": "The nema of purpose in Timerbee that displayed to the patient as appointment type/procedure."
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.coding.userSelected",
        "path": "Appointment.contained.code.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.code.text",
        "path": "Appointment.contained.code.text",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject",
        "path": "Appointment.contained.subject",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient"
            ],
            "aggregation": [
              "referenced"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.id",
        "path": "Appointment.contained.subject.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.reference",
        "path": "Appointment.contained.subject.reference",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.type",
        "path": "Appointment.contained.subject.type",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.identifier",
        "path": "Appointment.contained.subject.identifier"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.identifier.id",
        "path": "Appointment.contained.subject.identifier.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.identifier.use",
        "path": "Appointment.contained.subject.identifier.use",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.identifier.type",
        "path": "Appointment.contained.subject.identifier.type",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.identifier.system",
        "path": "Appointment.contained.subject.identifier.system",
        "short": "OehS account patient namespace",
        "definition": "Account patient namespace. The format is in urn:oid.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.identifier.value",
        "path": "Appointment.contained.subject.identifier.value",
        "short": "Account patient id",
        "definition": "Account patient id from the patient portal.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.identifier.period",
        "path": "Appointment.contained.subject.identifier.period",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.identifier.assigner",
        "path": "Appointment.contained.subject.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.subject.display",
        "path": "Appointment.contained.subject.display",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.encounter",
        "path": "Appointment.contained.encounter",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.performed[x]",
        "path": "Appointment.contained.performed[x]",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.recorder",
        "path": "Appointment.contained.recorder",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.asserter",
        "path": "Appointment.contained.asserter",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.performer",
        "path": "Appointment.contained.performer",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.location",
        "path": "Appointment.contained.location",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.reasonCode",
        "path": "Appointment.contained.reasonCode",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.reasonReference",
        "path": "Appointment.contained.reasonReference",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.bodySite",
        "path": "Appointment.contained.bodySite",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.outcome",
        "path": "Appointment.contained.outcome",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.report",
        "path": "Appointment.contained.report",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.complication",
        "path": "Appointment.contained.complication",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.complicationDetail",
        "path": "Appointment.contained.complicationDetail",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.followUp",
        "path": "Appointment.contained.followUp",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.note",
        "path": "Appointment.contained.note",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.focalDevice",
        "path": "Appointment.contained.focalDevice",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.usedReference",
        "path": "Appointment.contained.usedReference",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeePurpose.usedCode",
        "path": "Appointment.contained.usedCode",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization",
        "path": "Appointment.contained",
        "sliceName": "timerbeeResourceOrganization",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Resource",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ]
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.id",
        "path": "Appointment.contained.id",
        "min": 1,
        "fixedString": "2"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.meta",
        "path": "Appointment.contained.meta",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.implicitRules",
        "path": "Appointment.contained.implicitRules",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.language",
        "path": "Appointment.contained.language",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.text",
        "path": "Appointment.contained.text",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.contained",
        "path": "Appointment.contained.contained",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.identifier",
        "path": "Appointment.contained.identifier",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.identifier.id",
        "path": "Appointment.contained.identifier.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.identifier.use",
        "path": "Appointment.contained.identifier.use",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.identifier.type",
        "path": "Appointment.contained.identifier.type",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.identifier.system",
        "path": "Appointment.contained.identifier.system",
        "short": "ID System URI of Resource Manager",
        "definition": "ID System URI defined in Timerbee Resource Manager.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.identifier.value",
        "path": "Appointment.contained.identifier.value",
        "short": "Timerbee Resource System ID",
        "definition": "In Timerbee it will be used as resource System-ID preceeded by the Resource Manager name. Example: T1|0000000142",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.identifier.period",
        "path": "Appointment.contained.identifier.period",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.identifier.assigner",
        "path": "Appointment.contained.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.status",
        "path": "Appointment.contained.status",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.operationalStatus",
        "path": "Appointment.contained.operationalStatus",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.name",
        "path": "Appointment.contained.name",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.alias",
        "path": "Appointment.contained.alias",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.description",
        "path": "Appointment.contained.description",
        "short": "Timerbee resource name",
        "definition": "The name of the resource in Timerbee, which is booked for this appointment.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.mode",
        "path": "Appointment.contained.mode",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.type",
        "path": "Appointment.contained.type",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.telecom",
        "path": "Appointment.contained.telecom",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.address",
        "path": "Appointment.contained.address",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.physicalType",
        "path": "Appointment.contained.physicalType",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.position",
        "path": "Appointment.contained.position",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.managingOrganization",
        "path": "Appointment.contained.managingOrganization",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.partOf",
        "path": "Appointment.contained.partOf",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.hoursOfOperation",
        "path": "Appointment.contained.hoursOfOperation",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.availabilityExceptions",
        "path": "Appointment.contained.availabilityExceptions",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourceOrganization.endpoint",
        "path": "Appointment.contained.endpoint",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson",
        "path": "Appointment.contained",
        "sliceName": "timerbeeResourcePerson",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Resource",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/Practitioner"
            ]
          }
        ]
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.id",
        "path": "Appointment.contained.id",
        "min": 1,
        "fixedString": "2"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.meta",
        "path": "Appointment.contained.meta",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.implicitRules",
        "path": "Appointment.contained.implicitRules",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.language",
        "path": "Appointment.contained.language",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.text",
        "path": "Appointment.contained.text",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.contained",
        "path": "Appointment.contained.contained",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier",
        "path": "Appointment.contained.identifier",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.id",
        "path": "Appointment.contained.identifier.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.use",
        "path": "Appointment.contained.identifier.use",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.type",
        "path": "Appointment.contained.identifier.type",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.type.id",
        "path": "Appointment.contained.identifier.type.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.type.coding",
        "path": "Appointment.contained.identifier.type.coding",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.system",
        "path": "Appointment.contained.identifier.system",
        "short": "ID System URI of Resource Manager",
        "definition": "ID System URI defined in Timerbee Resource Manager.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.value",
        "path": "Appointment.contained.identifier.value",
        "short": "Timerbee Resource System ID",
        "definition": "In Timerbee it will be used as resource System-ID preceeded by the Resource Manager name. Example: T1|0000000142",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.period",
        "path": "Appointment.contained.identifier.period",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.identifier.assigner",
        "path": "Appointment.contained.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.active",
        "path": "Appointment.contained.active",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.name",
        "path": "Appointment.contained.name",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.name.id",
        "path": "Appointment.contained.name.id",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.name.use",
        "path": "Appointment.contained.name.use",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.name.text",
        "path": "Appointment.contained.name.text",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.name.family",
        "path": "Appointment.contained.name.family",
        "short": "Timerbee resource name",
        "definition": "The name of the resource in Timerbee, which would be displayed to the patient.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.name.given",
        "path": "Appointment.contained.name.given",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.name.prefix",
        "path": "Appointment.contained.name.prefix",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.name.suffix",
        "path": "Appointment.contained.name.suffix",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.telecom",
        "path": "Appointment.contained.telecom",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.address",
        "path": "Appointment.contained.address",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.gender",
        "path": "Appointment.contained.gender",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.birthDate",
        "path": "Appointment.contained.birthDate",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.photo",
        "path": "Appointment.contained.photo",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.qualification",
        "path": "Appointment.contained.qualification",
        "max": "0"
      },
      {
        "id": "Appointment.contained:timerbeeResourcePerson.communication",
        "path": "Appointment.contained.communication",
        "max": "0"
      },
      {
        "id": "Appointment.identifier",
        "path": "Appointment.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "use"
            }
          ],
          "ordered": false,
          "rules": "closed"
        },
        "min": 1,
        "mustSupport": false
      },
      {
        "id": "Appointment.identifier:timerbeeAppointmentID",
        "path": "Appointment.identifier",
        "sliceName": "timerbeeAppointmentID",
        "short": "Ids created by Timerbee",
        "max": "1",
        "mustSupport": false
      },
      {
        "id": "Appointment.identifier:timerbeeAppointmentID.id",
        "path": "Appointment.identifier.id",
        "max": "0"
      },
      {
        "id": "Appointment.identifier:timerbeeAppointmentID.use",
        "path": "Appointment.identifier.use",
        "definition": "This is the Appointment ID, which is given by Timerbee. Use \"official\" in \"use\".",
        "min": 1,
        "fixedCode": "official",
        "mustSupport": false
      },
      {
        "id": "Appointment.identifier:timerbeeAppointmentID.type",
        "path": "Appointment.identifier.type",
        "max": "0"
      },
      {
        "id": "Appointment.identifier:timerbeeAppointmentID.system",
        "path": "Appointment.identifier.system",
        "short": "Timerbee's namespace for the identifier value",
        "definition": "The namespace is in urn:oid format.",
        "min": 1
      },
      {
        "id": "Appointment.identifier:timerbeeAppointmentID.value",
        "path": "Appointment.identifier.value",
        "min": 1
      },
      {
        "id": "Appointment.identifier:timerbeeAppointmentID.period",
        "path": "Appointment.identifier.period",
        "max": "0"
      },
      {
        "id": "Appointment.identifier:timerbeeAppointmentID.assigner",
        "path": "Appointment.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Appointment.identifier:otherAppointmentID",
        "path": "Appointment.identifier",
        "sliceName": "otherAppointmentID",
        "short": "Other Appointment IDs",
        "definition": "Appointment IDs issued by other primary systems, e.g. such as HIS-System, and not by Orcherstra eHealth Suite",
        "max": "1"
      },
      {
        "id": "Appointment.identifier:otherAppointmentID.use",
        "path": "Appointment.identifier.use",
        "max": "0"
      },
      {
        "id": "Appointment.identifier:otherAppointmentID.type",
        "path": "Appointment.identifier.type",
        "max": "0"
      },
      {
        "id": "Appointment.identifier:otherAppointmentID.system",
        "path": "Appointment.identifier.system",
        "definition": "The namespace is in urn:oid format.",
        "min": 1
      },
      {
        "id": "Appointment.identifier:otherAppointmentID.value",
        "path": "Appointment.identifier.value",
        "min": 1
      },
      {
        "id": "Appointment.identifier:otherAppointmentID.period",
        "path": "Appointment.identifier.period",
        "max": "0"
      },
      {
        "id": "Appointment.identifier:otherAppointmentID.assigner",
        "path": "Appointment.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Appointment.status",
        "path": "Appointment.status",
        "short": "proposed | booked | cancelled",
        "definition": "The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status. Only use \"proposed\",\"booked\" and \"cancelled\". Other statuses are not supported.",
        "mustSupport": true
      },
      {
        "id": "Appointment.cancelationReason",
        "path": "Appointment.cancelationReason",
        "max": "0"
      },
      {
        "id": "Appointment.serviceCategory",
        "path": "Appointment.serviceCategory",
        "max": "0"
      },
      {
        "id": "Appointment.serviceType",
        "path": "Appointment.serviceType",
        "definition": "The specific service that is to be performed during this appointment. This is the appointment type that was booked by the patient/portal user/doctor.",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Appointment.serviceType.id",
        "path": "Appointment.serviceType.id",
        "max": "0"
      },
      {
        "id": "Appointment.serviceType.coding",
        "path": "Appointment.serviceType.coding",
        "min": 1,
        "max": "1",
        "mustSupport": false
      },
      {
        "id": "Appointment.serviceType.coding.id",
        "path": "Appointment.serviceType.coding.id",
        "max": "0"
      },
      {
        "id": "Appointment.serviceType.coding.system",
        "path": "Appointment.serviceType.coding.system",
        "short": "Primary system URI",
        "definition": "The URI of the external system where the appointment came from.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.serviceType.coding.version",
        "path": "Appointment.serviceType.coding.version",
        "max": "0"
      },
      {
        "id": "Appointment.serviceType.coding.code",
        "path": "Appointment.serviceType.coding.code",
        "short": "Appointment name in external system",
        "definition": "This is the name of the appointment type that is used in the external system, e.g. in HIS-system such as SAP this is the Dispotyp name.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.serviceType.coding.display",
        "path": "Appointment.serviceType.coding.display",
        "definition": "A representation of the appointment type that would be displayed to the patient.",
        "min": 1,
        "mustSupport": false
      },
      {
        "id": "Appointment.serviceType.coding.userSelected",
        "path": "Appointment.serviceType.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Appointment.serviceType.text",
        "path": "Appointment.serviceType.text",
        "max": "0"
      },
      {
        "id": "Appointment.specialty",
        "path": "Appointment.specialty",
        "max": "0"
      },
      {
        "id": "Appointment.appointmentType",
        "path": "Appointment.appointmentType",
        "max": "0"
      },
      {
        "id": "Appointment.reasonCode",
        "path": "Appointment.reasonCode",
        "max": "0"
      },
      {
        "id": "Appointment.reasonReference",
        "path": "Appointment.reasonReference",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Procedure"
            ],
            "aggregation": [
              "contained"
            ]
          }
        ]
      },
      {
        "id": "Appointment.priority",
        "path": "Appointment.priority",
        "max": "0"
      },
      {
        "id": "Appointment.description",
        "path": "Appointment.description",
        "short": "Appointment type",
        "definition": "Description shows the appointment type, which was booked and displayed to the patient/portal user.",
        "min": 1
      },
      {
        "id": "Appointment.supportingInformation",
        "path": "Appointment.supportingInformation",
        "max": "0"
      },
      {
        "id": "Appointment.start",
        "path": "Appointment.start",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.end",
        "path": "Appointment.end",
        "min": 1,
        "mustSupport": false
      },
      {
        "id": "Appointment.minutesDuration",
        "path": "Appointment.minutesDuration",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Appointment.slot",
        "path": "Appointment.slot",
        "max": "0"
      },
      {
        "id": "Appointment.created",
        "path": "Appointment.created",
        "max": "0"
      },
      {
        "id": "Appointment.comment",
        "path": "Appointment.comment",
        "mustSupport": false
      },
      {
        "id": "Appointment.patientInstruction",
        "path": "Appointment.patientInstruction",
        "mustSupport": false
      },
      {
        "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"
        },
        "mustSupport": true
      },
      {
        "id": "Appointment.participant.type.coding",
        "path": "Appointment.participant.type.coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Appointment.participant.type.coding.system",
        "path": "Appointment.participant.type.coding.system",
        "min": 1,
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
        }
      },
      {
        "id": "Appointment.participant.type.coding.code",
        "path": "Appointment.participant.type.coding.code",
        "min": 1,
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
        }
      },
      {
        "id": "Appointment.participant.actor",
        "path": "Appointment.participant.actor",
        "max": "0",
        "mustSupport": false
      },
      {
        "id": "Appointment.participant.actor.reference",
        "path": "Appointment.participant.actor.reference",
        "min": 1,
        "mustSupport": false
      },
      {
        "id": "Appointment.participant.status",
        "path": "Appointment.participant.status",
        "definition": "Participation status of the actor. The status schould be either \"accepted\" or \"declined\". Other statuses are not supported.",
        "mustSupport": false
      },
      {
        "id": "Appointment.participant:patientParticipant",
        "path": "Appointment.participant",
        "sliceName": "patientParticipant",
        "short": "Patients involved in appointment",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:patientParticipant.id",
        "path": "Appointment.participant.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:patientParticipant.type",
        "path": "Appointment.participant.type",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.id",
        "path": "Appointment.participant.type.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.coding",
        "path": "Appointment.participant.type.coding",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.coding.id",
        "path": "Appointment.participant.type.coding.id",
        "max": "0"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.coding.system",
        "path": "Appointment.participant.type.coding.system",
        "comment": "Only use the fixed value for this system, defined above.",
        "min": 1,
        "fixedUri": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.coding.version",
        "path": "Appointment.participant.type.coding.version",
        "max": "0"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.coding.code",
        "path": "Appointment.participant.type.coding.code",
        "min": 1,
        "fixedCode": "PART"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.coding.display",
        "path": "Appointment.participant.type.coding.display",
        "max": "0"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.coding.userSelected",
        "path": "Appointment.participant.type.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Appointment.participant:patientParticipant.type.text",
        "path": "Appointment.participant.type.text",
        "max": "0"
      },
      {
        "id": "Appointment.participant:patientParticipant.actor",
        "path": "Appointment.participant.actor",
        "short": "Patient/PatientID from CDS",
        "definition": "This is a reference for the patient, participating in the appointment, and his patient ID from Orchestra eHealth Suite Clinical Data Service.",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:patientParticipant.actor.reference",
        "path": "Appointment.participant.actor.reference",
        "min": 1
      },
      {
        "id": "Appointment.participant:patientParticipant.actor.type",
        "path": "Appointment.participant.actor.type",
        "fixedUri": "Patient"
      },
      {
        "id": "Appointment.participant:patientParticipant.required",
        "path": "Appointment.participant.required",
        "max": "0"
      },
      {
        "id": "Appointment.participant:patientParticipant.status",
        "path": "Appointment.participant.status",
        "definition": "Participation status of the actor. The status schould be either \"accepted\" or \"declined\". Other statuses are not supported."
      },
      {
        "id": "Appointment.participant:patientParticipant.period",
        "path": "Appointment.participant.period",
        "max": "0"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant",
        "path": "Appointment.participant",
        "sliceName": "healthcareServiceParticipant",
        "short": "HealthcareService involved in appointment",
        "definition": "This is the reference of healthcare service, involved in the appointment.",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.type.coding.system",
        "path": "Appointment.participant.type.coding.system",
        "comment": "Only use the fixed value for this system, defined above.",
        "min": 1,
        "fixedUri": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.type.coding.version",
        "path": "Appointment.participant.type.coding.version",
        "max": "0"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.type.coding.code",
        "path": "Appointment.participant.type.coding.code",
        "comment": "Only use the fixed value for this code, defined above.",
        "min": 1,
        "fixedCode": "SPRF"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.type.coding.display",
        "path": "Appointment.participant.type.coding.display",
        "max": "0"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.type.coding.userSelected",
        "path": "Appointment.participant.type.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.type.text",
        "path": "Appointment.participant.type.text",
        "max": "0"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.actor",
        "path": "Appointment.participant.actor",
        "short": "Person/Location/HealthcareService or Device",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService",
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ]
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.actor.reference",
        "path": "Appointment.participant.actor.reference",
        "min": 1
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.required",
        "path": "Appointment.participant.required",
        "max": "0"
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.status",
        "path": "Appointment.participant.status",
        "definition": "Participation status of the actor. The status schould be either \"accepted\" or \"declined\". Other statuses are not supported."
      },
      {
        "id": "Appointment.participant:healthcareServiceParticipant.period",
        "path": "Appointment.participant.period",
        "max": "0"
      },
      {
        "id": "Appointment.requestedPeriod",
        "path": "Appointment.requestedPeriod",
        "max": "0"
      }
    ]
  }
}