<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="cqf-relativeDateTime" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1" />
  </extension>
  <url value="http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime" />
  <version value="4.0.0" />
  <name value="relativeDateTime" />
  <status value="draft" />
  <date value="2015-05-30" />
  <publisher value="Health Level Seven, Inc. - CDS WG" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://hl7.org/special/committees/dss" />
    </telecom>
  </contact>
  <description value="A date/time value that is determined based on a duration offset from a target event." />
  <fhirVersion value="4.0.0" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="Element" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="A date/time that is specified relative to another event" />
      <definition value="A date/time value that is determined based on a duration offset from a target event." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:target">
      <path value="Extension.extension" />
      <sliceName value="target" />
      <short value="Relative to what event" />
      <definition value="The event that the date/time value is relative to." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension.extension:target.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:target.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="target" />
    </element>
    <element id="Extension.extension:target.valueReference">
      <path value="Extension.extension.valueReference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource" />
      </type>
    </element>
    <element id="Extension.extension:targetPath">
      <path value="Extension.extension" />
      <sliceName value="targetPath" />
      <short value="Relative to which element on the event" />
      <definition value="The path to the element that defines the effective period for the event that the date/time value is relative to." />
      <comment value="The specified path must be resolvable from the type of the target. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension.extension:targetPath.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:targetPath.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="targetPath" />
    </element>
    <element id="Extension.extension:targetPath.valueString">
      <path value="Extension.extension.valueString" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:relationship">
      <path value="Extension.extension" />
      <sliceName value="relationship" />
      <short value="before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end" />
      <definition value="The relationship to the effective period of the target event that the date/time value is relative to." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension.extension:relationship.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:relationship.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="relationship" />
    </element>
    <element id="Extension.extension:relationship.valueCode">
      <path value="Extension.extension.valueCode" />
      <type>
        <code value="code" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ActionRelationshipType" />
        </extension>
        <strength value="required" />
        <description value="A type that describes how two events are related in time." />
        <valueSet value="http://hl7.org/fhir/ValueSet/action-relationship-type|4.0.0" />
      </binding>
    </element>
    <element id="Extension.extension:offset">
      <path value="Extension.extension" />
      <sliceName value="offset" />
      <short value="How long" />
      <definition value="A duration or range of durations that specifies the offset between the date/time value and the target event. For example, 30-60 minutes before." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
    </element>
    <element id="Extension.extension:offset.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:offset.url">
      <path value="Extension.extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="offset" />
    </element>
    <element id="Extension.extension:offset.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Duration" />
      </type>
      <type>
        <code value="Range" />
      </type>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="http://hl7.org/fhir/StructureDefinition/cqf-relativeDateTime" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <min value="0" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>