<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.synapxe.sg/StructureDefinition/profile-servicerequest" />
  <name value="ServiceRequest" />
  <status value="active" />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="ServiceRequest" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/ServiceRequest" />
  <derivation value="constraint" />
  <differential>
    <element id="ServiceRequest.contained">
      <path value="ServiceRequest.contained" />
      <slicing>
        <discriminator>
          <type value="profile" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="ServiceRequest.contained:Provenance">
      <path value="ServiceRequest.contained" />
      <sliceName value="Provenance" />
      <type>
        <code value="Resource" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-provenance" />
      </type>
    </element>
    <element id="ServiceRequest.identifier">
      <path value="ServiceRequest.identifier" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="ServiceRequest.identifier.system">
      <path value="ServiceRequest.identifier.system" />
      <fixedUri value="https://fhir.synapxe.sg/NamingSystem/order-no" />
    </element>
    <element id="ServiceRequest.instantiatesCanonical">
      <path value="ServiceRequest.instantiatesCanonical" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.instantiatesUri">
      <path value="ServiceRequest.instantiatesUri" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.basedOn">
      <path value="ServiceRequest.basedOn" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.replaces">
      <path value="ServiceRequest.replaces" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.requisition">
      <path value="ServiceRequest.requisition" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.category">
      <path value="ServiceRequest.category" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.doNotPerform">
      <path value="ServiceRequest.doNotPerform" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.code">
      <path value="ServiceRequest.code" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.code.id">
      <path value="ServiceRequest.code.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.code.extension">
      <path value="ServiceRequest.code.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.code.concept">
      <path value="ServiceRequest.code.concept" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="ServiceRequest.code.concept.extension">
      <path value="ServiceRequest.code.concept.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.orderDetail">
      <path value="ServiceRequest.orderDetail" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.quantity[x]">
      <path value="ServiceRequest.quantity[x]" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject">
      <path value="ServiceRequest.subject" />
      <type>
        <code value="Reference" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-reference-patient" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-patient" />
      </type>
    </element>
    <element id="ServiceRequest.focus">
      <path value="ServiceRequest.focus" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.encounter">
      <path value="ServiceRequest.encounter" />
      <type>
        <code value="Reference" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-reference-encounter" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-encounter" />
      </type>
    </element>
    <element id="ServiceRequest.occurrence[x]">
      <path value="ServiceRequest.occurrence[x]" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="ServiceRequest.authoredOn">
      <path value="ServiceRequest.authoredOn" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.requester">
      <path value="ServiceRequest.requester" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-reference-practitioner" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-practitioner" />
      </type>
    </element>
    <element id="ServiceRequest.performerType">
      <path value="ServiceRequest.performerType" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer">
      <path value="ServiceRequest.performer" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-practitioner" />
      </type>
    </element>
    <element id="ServiceRequest.location">
      <path value="ServiceRequest.location" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.reason">
      <path value="ServiceRequest.reason" />
      <type>
        <code value="CodeableReference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-condition" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-procedure" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-observation" />
      </type>
    </element>
    <element id="ServiceRequest.reason.id">
      <path value="ServiceRequest.reason.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.reason.extension">
      <path value="ServiceRequest.reason.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.reason.concept">
      <path value="ServiceRequest.reason.concept" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="ServiceRequest.insurance">
      <path value="ServiceRequest.insurance" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.supportingInfo">
      <path value="ServiceRequest.supportingInfo" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.specimen">
      <path value="ServiceRequest.specimen" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodySite.id">
      <path value="ServiceRequest.bodySite.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodySite.extension">
      <path value="ServiceRequest.bodySite.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodySite.coding">
      <path value="ServiceRequest.bodySite.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.bodySite.coding.id">
      <path value="ServiceRequest.bodySite.coding.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodySite.coding.extension">
      <path value="ServiceRequest.bodySite.coding.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodySite.coding.system">
      <path value="ServiceRequest.bodySite.coding.system" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.bodySite.coding.version">
      <path value="ServiceRequest.bodySite.coding.version" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodySite.coding.code">
      <path value="ServiceRequest.bodySite.coding.code" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.bodySite.coding.display">
      <path value="ServiceRequest.bodySite.coding.display" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.bodySite.coding.userSelected">
      <path value="ServiceRequest.bodySite.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodySite.text">
      <path value="ServiceRequest.bodySite.text" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodyStructure">
      <path value="ServiceRequest.bodyStructure" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.note">
      <path value="ServiceRequest.note" />
      <type>
        <code value="Annotation" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-annotation" />
      </type>
    </element>
    <element id="ServiceRequest.patientInstruction">
      <path value="ServiceRequest.patientInstruction" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.relevantHistory">
      <path value="ServiceRequest.relevantHistory" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-provenance" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="ServiceRequest.relevantHistory.id">
      <path value="ServiceRequest.relevantHistory.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.relevantHistory.extension">
      <path value="ServiceRequest.relevantHistory.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.relevantHistory.reference">
      <path value="ServiceRequest.relevantHistory.reference" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.relevantHistory.type">
      <path value="ServiceRequest.relevantHistory.type" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.relevantHistory.identifier">
      <path value="ServiceRequest.relevantHistory.identifier" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.relevantHistory.display">
      <path value="ServiceRequest.relevantHistory.display" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>