<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="baseappointment-profile" />
  <url value="http://fhir.xt.dev/StructureDefinition/BaseAppointment" />
  <version value="1.1.1" />
  <name value="BaseAppointment" />
  <status value="active" />
  <date value="2025-10-30T20:28:19.2224336+00:00" />
  <publisher value="x-tention Informationstechnologie GmbH" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="fhir.profiling@x-tention.com" />
    </telecom>
  </contact>
  <description value="Basic Appointment in the eAppointments module. Valid for both patient-booked and provider-booked appointments. Includes all basic appointment attributes, Independent of implementation technologies." />
  <copyright value="x-tention Informationstechnologie GmbH" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="true" />
  <type value="Appointment" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Appointment" />
  <derivation value="constraint" />
  <differential>
    <element id="Appointment.contained">
      <path value="Appointment.contained" />
      <definition value="In the context of this resource, contained may contain a Person referenced from participant.unverifiedPatient or a Patient referenced from participant.noRecordPatient" />
    </element>
    <element id="Appointment.identifier">
      <path value="Appointment.identifier" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="use" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.identifier:primaryAppointmentID">
      <path value="Appointment.identifier" />
      <sliceName value="primaryAppointmentID" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.use">
      <path value="Appointment.identifier.use" />
      <min value="1" />
      <patternCode value="official" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type">
      <path value="Appointment.identifier.type" />
      <min value="1" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding">
      <path value="Appointment.identifier.type.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:timerbeeTypeCode">
      <path value="Appointment.identifier.type.coding" />
      <sliceName value="timerbeeTypeCode" />
      <max value="1" />
      <patternCoding>
        <system value="http://fhir.xt.dev/CodeSystem/IdentifierType" />
        <code value="TBAI" />
      </patternCoding>
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:timerbeeTypeCode.system">
      <path value="Appointment.identifier.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/IdentifierType" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:timerbeeTypeCode.version">
      <path value="Appointment.identifier.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:timerbeeTypeCode.code">
      <path value="Appointment.identifier.type.coding.code" />
      <min value="1" />
      <fixedCode value="TBAI" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:timerbeeTypeCode.userSelected">
      <path value="Appointment.identifier.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:hisAppointmentTypeCode">
      <path value="Appointment.identifier.type.coding" />
      <sliceName value="hisAppointmentTypeCode" />
      <max value="1" />
      <patternCoding>
        <system value="http://fhir.xt.dev/CodeSystem/IdentifierType" />
        <code value="HSAI" />
      </patternCoding>
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:hisAppointmentTypeCode.system">
      <path value="Appointment.identifier.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/IdentifierType" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:hisAppointmentTypeCode.version">
      <path value="Appointment.identifier.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:hisAppointmentTypeCode.code">
      <path value="Appointment.identifier.type.coding.code" />
      <min value="1" />
      <fixedCode value="HSAI" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.type.coding:hisAppointmentTypeCode.userSelected">
      <path value="Appointment.identifier.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.system">
      <path value="Appointment.identifier.system" />
      <short value="Appointment ID namespace" />
      <definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique. Commonly this is a URN-encoded OID, e.g. urn:oid:2.999.1234567." />
      <min value="1" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.value">
      <path value="Appointment.identifier.value" />
      <short value="Appointment ID" />
      <min value="1" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.period">
      <path value="Appointment.identifier.period" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier:primaryAppointmentID.assigner">
      <path value="Appointment.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Appointment.serviceType">
      <path value="Appointment.serviceType" />
      <requirements value="This is the only required type. A more detailed code can be used on the appointmentType. A more general code can be used in serviceCategory or in specialty." />
      <max value="1" />
    </element>
    <element id="Appointment.specialty">
      <path value="Appointment.specialty" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="coding.system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <max value="1" />
    </element>
    <element id="Appointment.specialty.coding">
      <path value="Appointment.specialty.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.specialty.coding.system">
      <path value="Appointment.specialty.coding.system" />
      <min value="1" />
    </element>
    <element id="Appointment.specialty.coding.code">
      <path value="Appointment.specialty.coding.code" />
      <min value="1" />
    </element>
    <element id="Appointment.specialty:iheDeVsSpecialty">
      <path value="Appointment.specialty" />
      <sliceName value="iheDeVsSpecialty" />
      <short value="The specialty of the responsible organization" />
      <definition value="The specialty of the organization responsible for fulfilling the appointment. Values must be taken from IHE Germany's practiceSettingCode ValueSet." />
      <max value="1" />
    </element>
    <element id="Appointment.specialty:iheDeVsSpecialty.coding">
      <path value="Appointment.specialty.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.specialty:iheDeVsSpecialty.coding.system">
      <path value="Appointment.specialty.coding.system" />
      <min value="1" />
      <fixedUri value="http://ihe-d.de/CodeSystems/AerztlicheFachrichtungen" />
    </element>
    <element id="Appointment.specialty:iheDeVsSpecialty.coding.version">
      <path value="Appointment.specialty.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.specialty:iheDeVsSpecialty.coding.code">
      <path value="Appointment.specialty.coding.code" />
      <min value="1" />
    </element>
    <element id="Appointment.specialty:iheDeVsSpecialty.coding.userSelected">
      <path value="Appointment.specialty.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.supportingInformation">
      <path value="Appointment.supportingInformation" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="type" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.supportingInformation:OrganizationContext">
      <path value="Appointment.supportingInformation" />
      <sliceName value="OrganizationContext" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Appointment.supportingInformation:OrganizationContext.reference">
      <path value="Appointment.supportingInformation.reference" />
      <min value="1" />
    </element>
    <element id="Appointment.supportingInformation:OrganizationContext.type">
      <path value="Appointment.supportingInformation.type" />
      <min value="1" />
      <fixedUri value="Organization" />
    </element>
    <element id="Appointment.supportingInformation:OrganizationContext.identifier">
      <path value="Appointment.supportingInformation.identifier" />
      <min value="1" />
    </element>
    <element id="Appointment.supportingInformation:OrganizationContext.identifier.system">
      <path value="Appointment.supportingInformation.identifier.system" />
      <min value="1" />
    </element>
    <element id="Appointment.supportingInformation:OrganizationContext.identifier.value">
      <path value="Appointment.supportingInformation.identifier.value" />
      <min value="1" />
    </element>
    <element id="Appointment.supportingInformation:unverifiedPatientData">
      <path value="Appointment.supportingInformation" />
      <sliceName value="unverifiedPatientData" />
      <short value="Unverified Patient Data" />
      <definition value="Additional unverified demographic data for the subject of care. Please note that the unverified patient's MPI entry and their identifiers are referenced by the participant. The supporting information is only used for the (unverified) demographics." />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Person" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Appointment.supportingInformation:unverifiedPatientData.type">
      <path value="Appointment.supportingInformation.type" />
      <min value="1" />
      <fixedUri value="Person" />
    </element>
    <element id="Appointment.created">
      <path value="Appointment.created" />
      <min value="1" />
    </element>
    <element id="Appointment.participant">
      <path value="Appointment.participant" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="type.coding" />
        </discriminator>
        <description value="List of participants involved in the appointment. Must include either an unverifiedPatient, verifiedPatient or noRecordPatient as the subject of care and a bookableHealthcareService at least." />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.participant:unverifiedPatient">
      <path value="Appointment.participant" />
      <sliceName value="unverifiedPatient" />
      <short value="Patient with unverified data" />
      <definition value="The patient, for whom the appointment is requested and who hasn't been verified. This always references the patient resources. Additional, unverified patient data (name, telephone number, ...) may be found in Appointment.supportingInformation (unverifiedPatientData slice)." />
      <max value="1" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.type">
      <path value="Appointment.participant.type" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.type.coding">
      <path value="Appointment.participant.type.coding" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
        <code value="UVPAT" />
      </patternCoding>
    </element>
    <element id="Appointment.participant:unverifiedPatient.type.coding.system">
      <path value="Appointment.participant.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.type.coding.version">
      <path value="Appointment.participant.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.type.coding.code">
      <path value="Appointment.participant.type.coding.code" />
      <min value="1" />
      <fixedCode value="UVPAT" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.type.coding.userSelected">
      <path value="Appointment.participant.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.type.text">
      <path value="Appointment.participant.type.text" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.actor">
      <path value="Appointment.participant.actor" />
      <short value="Patient" />
      <definition value="Patient that will attend the appointment. The referenced patient resource does not contain any demographic data, because there is no verified data. Unverified demographic data can be found in &quot;supportingInformation&quot;." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="Appointment.participant:unverifiedPatient.actor.reference">
      <path value="Appointment.participant.actor.reference" />
      <min value="1" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.required">
      <path value="Appointment.participant.required" />
      <min value="1" />
      <fixedCode value="required" />
    </element>
    <element id="Appointment.participant:unverifiedPatient.period">
      <path value="Appointment.participant.period" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:verifiedPatient">
      <path value="Appointment.participant" />
      <sliceName value="verifiedPatient" />
      <short value="Verified Patient" />
      <definition value="The patient, for whom the appointment is requested and who has been verified." />
      <max value="1" />
    </element>
    <element id="Appointment.participant:verifiedPatient.type">
      <path value="Appointment.participant.type" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.participant:verifiedPatient.type.coding">
      <path value="Appointment.participant.type.coding" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
        <code value="VRPAT" />
      </patternCoding>
    </element>
    <element id="Appointment.participant:verifiedPatient.type.coding.system">
      <path value="Appointment.participant.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
    </element>
    <element id="Appointment.participant:verifiedPatient.type.coding.version">
      <path value="Appointment.participant.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:verifiedPatient.type.coding.code">
      <path value="Appointment.participant.type.coding.code" />
      <min value="1" />
      <fixedCode value="VRPAT" />
    </element>
    <element id="Appointment.participant:verifiedPatient.type.coding.userSelected">
      <path value="Appointment.participant.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:verifiedPatient.actor">
      <path value="Appointment.participant.actor" />
      <short value="Patient" />
      <definition value="Patient that will attend the appointment. They are the subject of care, have a verified associated identity and their own patient record." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="Appointment.participant:verifiedPatient.actor.reference">
      <path value="Appointment.participant.actor.reference" />
      <min value="1" />
    </element>
    <element id="Appointment.participant:verifiedPatient.required">
      <path value="Appointment.participant.required" />
      <min value="1" />
      <fixedCode value="required" />
    </element>
    <element id="Appointment.participant:verifiedPatient.period">
      <path value="Appointment.participant.period" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:appointmentRequestor">
      <path value="Appointment.participant" />
      <sliceName value="appointmentRequestor" />
      <short value="Requesting User" />
      <definition value="A person, who is requesting an appointment, either for themselves or for another patient. Must be a Patient, RelatedPerson or Practitioner with an associated UserAccount-Person." />
      <max value="1" />
    </element>
    <element id="Appointment.participant:appointmentRequestor.type">
      <path value="Appointment.participant.type" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.participant:appointmentRequestor.type.coding">
      <path value="Appointment.participant.type.coding" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://terminology.hl7.org/CodeSystem/v3-ParticipationType" />
        <code value="AUT" />
      </patternCoding>
    </element>
    <element id="Appointment.participant:appointmentRequestor.type.coding.system">
      <path value="Appointment.participant.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/v3-ParticipationType" />
    </element>
    <element id="Appointment.participant:appointmentRequestor.type.coding.version">
      <path value="Appointment.participant.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:appointmentRequestor.type.coding.code">
      <path value="Appointment.participant.type.coding.code" />
      <min value="1" />
      <fixedCode value="AUT" />
    </element>
    <element id="Appointment.participant:appointmentRequestor.type.coding.userSelected">
      <path value="Appointment.participant.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:appointmentRequestor.actor">
      <path value="Appointment.participant.actor" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="Appointment.participant:appointmentRequestor.actor.reference">
      <path value="Appointment.participant.actor.reference" />
      <min value="1" />
    </element>
    <element id="Appointment.participant:appointmentRequestor.period">
      <path value="Appointment.participant.period" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:bookableHealthcareService">
      <path value="Appointment.participant" />
      <sliceName value="bookableHealthcareService" />
      <short value="Bookable HealthcareService" />
      <definition value="Healthcare service booked in the appointment. For Timerbee Appointments, this is a &quot;logical reference&quot; to the Purpose." />
      <max value="1" />
    </element>
    <element id="Appointment.participant:bookableHealthcareService.type">
      <path value="Appointment.participant.type" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.participant:bookableHealthcareService.type.coding">
      <path value="Appointment.participant.type.coding" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
        <code value="BOKHS" />
      </patternCoding>
    </element>
    <element id="Appointment.participant:bookableHealthcareService.type.coding.system">
      <path value="Appointment.participant.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
    </element>
    <element id="Appointment.participant:bookableHealthcareService.type.coding.version">
      <path value="Appointment.participant.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:bookableHealthcareService.type.coding.code">
      <path value="Appointment.participant.type.coding.code" />
      <min value="1" />
      <fixedCode value="BOKHS" />
    </element>
    <element id="Appointment.participant:bookableHealthcareService.type.coding.userSelected">
      <path value="Appointment.participant.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:bookableHealthcareService.actor">
      <path value="Appointment.participant.actor" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/HealthcareService" />
      </type>
    </element>
    <element id="Appointment.participant:bookableHealthcareService.required">
      <path value="Appointment.participant.required" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:bookableHealthcareService.period">
      <path value="Appointment.participant.period" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:searchableHealthcareService">
      <path value="Appointment.participant" />
      <sliceName value="searchableHealthcareService" />
      <short value="Searchable HealthcareService" />
      <definition value="Healthcare service covering the goal of the appointment. For Timerbee Appointments, this is a &quot;logical reference&quot; to the Resource." />
      <max value="1" />
    </element>
    <element id="Appointment.participant:searchableHealthcareService.type">
      <path value="Appointment.participant.type" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.participant:searchableHealthcareService.type.coding">
      <path value="Appointment.participant.type.coding" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
        <code value="SERHS" />
      </patternCoding>
    </element>
    <element id="Appointment.participant:searchableHealthcareService.type.coding.system">
      <path value="Appointment.participant.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
    </element>
    <element id="Appointment.participant:searchableHealthcareService.type.coding.version">
      <path value="Appointment.participant.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:searchableHealthcareService.type.coding.code">
      <path value="Appointment.participant.type.coding.code" />
      <min value="1" />
      <fixedCode value="SERHS" />
    </element>
    <element id="Appointment.participant:searchableHealthcareService.type.coding.userSelected">
      <path value="Appointment.participant.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:searchableHealthcareService.actor">
      <path value="Appointment.participant.actor" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/HealthcareService" />
      </type>
    </element>
    <element id="Appointment.participant:searchableHealthcareService.required">
      <path value="Appointment.participant.required" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:searchableHealthcareService.period">
      <path value="Appointment.participant.period" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:noRecordPatient">
      <path value="Appointment.participant" />
      <sliceName value="noRecordPatient" />
      <short value="Patient without a record" />
      <definition value="The patient, for whom the appointment is requested and who does not have their own dedicated record. This always references a contained patient resource with unverified demographics." />
      <max value="1" />
    </element>
    <element id="Appointment.participant:noRecordPatient.type">
      <path value="Appointment.participant.type" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.participant:noRecordPatient.type.coding">
      <path value="Appointment.participant.type.coding" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
        <code value="NRPAT" />
      </patternCoding>
    </element>
    <element id="Appointment.participant:noRecordPatient.type.coding.system">
      <path value="Appointment.participant.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/AppointmentParticipationType" />
    </element>
    <element id="Appointment.participant:noRecordPatient.type.coding.version">
      <path value="Appointment.participant.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:noRecordPatient.type.coding.code">
      <path value="Appointment.participant.type.coding.code" />
      <min value="1" />
      <fixedCode value="NRPAT" />
    </element>
    <element id="Appointment.participant:noRecordPatient.type.coding.userSelected">
      <path value="Appointment.participant.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.participant:noRecordPatient.actor">
      <path value="Appointment.participant.actor" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Appointment.participant:noRecordPatient.actor.reference">
      <path value="Appointment.participant.actor.reference" />
      <min value="1" />
    </element>
    <element id="Appointment.participant:noRecordPatient.required">
      <path value="Appointment.participant.required" />
      <min value="1" />
      <fixedCode value="required" />
    </element>
    <element id="Appointment.participant:noRecordPatient.period">
      <path value="Appointment.participant.period" />
      <max value="0" />
    </element>
    <element id="Appointment.requestedPeriod">
      <path value="Appointment.requestedPeriod" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>