<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="starttiming-ext" />
  <url value="http://fhir.xt.dev/StructureDefinition/StartTiming" />
  <version value="1.0.0" />
  <name value="StartTiming" />
  <title value="Start Timing" />
  <status value="active" />
  <date value="2025-09-29T09:14:36.8786864+00:00" />
  <publisher value="x-tention Informationstechnologie GmbH" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="fhir.profiling@x-tention.com" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="A timing that defines a point in time before or after a type of event to be used as a starting point for a communication. This resource is used in definitional resources and doesn't describe a specific date or time as it does not reference a specific event associated with a patient. Instead it defines a way to calculate a point in time based on a matching event." />
  <copyright value="x-tention Informationstechnologie GmbH" />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="CommunicationRequest" />
  </context>
  <context>
    <type value="element" />
    <expression value="CommunicationRequest.occurrence[x]" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <min value="2" />
    </element>
    <element id="Extension.extension:offset">
      <path value="Extension.extension" />
      <sliceName value="offset" />
      <short value="Offset from event in hours" />
      <definition value="Number of hours as a positive integer to be added to or subtracted from (depending on the code) the event date and time to arrive at the start date and time." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:offset.url">
      <path value="Extension.extension.url" />
      <fixedUri value="offset" />
    </element>
    <element id="Extension.extension:offset.value[x]">
      <path value="Extension.extension.value[x]" />
      <label value="Offset" />
      <short value="Offset from event in hours" />
      <definition value="Number of hours as a positive integer to be added to or subtracted from (depending on the code) the event date and time" />
      <min value="1" />
      <type>
        <code value="positiveInt" />
      </type>
    </element>
    <element id="Extension.extension:eventCode">
      <path value="Extension.extension" />
      <sliceName value="eventCode" />
      <short value="Event code for combination with offset" />
      <definition value="This code combines the timing-relevant event and a directionality, i.e. if the offset is to be added or subtracted from the event's point in time (i.e. &quot;hours before&quot; or &quot;hours after&quot; the event)." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:eventCode.url">
      <path value="Extension.extension.url" />
      <fixedUri value="eventCode" />
    </element>
    <element id="Extension.extension:eventCode.value[x]">
      <path value="Extension.extension.value[x]" />
      <label value="Event Code" />
      <short value="Event code for combination with offset" />
      <definition value="This code combines the timing-relevant event and a directionality, i.e. if the offset is to be added or subtracted from the event's point in time (i.e. &quot;hours before&quot; or &quot;hours after&quot; the event)." />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.xt.dev/ValueSet/TemplatedCommunicationTimingEvents" />
      </binding>
    </element>
    <element id="Extension.extension:eventCode.value[x].system">
      <path value="Extension.extension.value[x].system" />
      <min value="1" />
    </element>
    <element id="Extension.extension:eventCode.value[x].version">
      <path value="Extension.extension.value[x].version" />
      <max value="0" />
    </element>
    <element id="Extension.extension:eventCode.value[x].code">
      <path value="Extension.extension.value[x].code" />
      <min value="1" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="http://fhir.xt.dev/StructureDefinition/StartTiming" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>