<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.synapxe.sg/StructureDefinition/profile-sn-referralrequest" />
  <name value="ReferralRequest" />
  <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.extension:speciality">
      <path value="ServiceRequest.extension" />
      <sliceName value="speciality" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/ext-speciality" />
      </type>
    </element>
    <element id="ServiceRequest.modifierExtension">
      <path value="ServiceRequest.modifierExtension" />
      <max value="0" />
    </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.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.intent">
      <path value="ServiceRequest.intent" />
      <patternCode value="order" />
    </element>
    <element id="ServiceRequest.category">
      <path value="ServiceRequest.category" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="ServiceRequest.priority">
      <path value="ServiceRequest.priority" />
      <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.code.reference">
      <path value="ServiceRequest.code.reference" />
      <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" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-patient" />
      </type>
    </element>
    <element id="ServiceRequest.subject.id">
      <path value="ServiceRequest.subject.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.extension">
      <path value="ServiceRequest.subject.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.reference">
      <path value="ServiceRequest.subject.reference" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.subject.type">
      <path value="ServiceRequest.subject.type" />
      <min value="1" />
      <fixedUri value="Patient" />
    </element>
    <element id="ServiceRequest.subject.identifier">
      <path value="ServiceRequest.subject.identifier" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="ServiceRequest.subject.identifier.system">
      <path value="ServiceRequest.subject.identifier.system" />
      <fixedUri value="https://fhir.synapxe.sg/NamingSystem/nric" />
    </element>
    <element id="ServiceRequest.subject.display">
      <path value="ServiceRequest.subject.display" />
      <max value="0" />
    </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" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-encounter" />
      </type>
    </element>
    <element id="ServiceRequest.encounter.id">
      <path value="ServiceRequest.encounter.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.encounter.extension">
      <path value="ServiceRequest.encounter.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.encounter.reference">
      <path value="ServiceRequest.encounter.reference" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.encounter.type">
      <path value="ServiceRequest.encounter.type" />
      <min value="1" />
      <fixedUri value="Encounter" />
    </element>
    <element id="ServiceRequest.encounter.identifier">
      <path value="ServiceRequest.encounter.identifier" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="ServiceRequest.encounter.display">
      <path value="ServiceRequest.encounter.display" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.occurrence[x]">
      <path value="ServiceRequest.occurrence[x]" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="ServiceRequest.asNeeded[x]">
      <path value="ServiceRequest.asNeeded[x]" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.requester">
      <path value="ServiceRequest.requester" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-practitioner" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-organization" />
      </type>
    </element>
    <element id="ServiceRequest.requester.id">
      <path value="ServiceRequest.requester.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.requester.extension">
      <path value="ServiceRequest.requester.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.requester.reference">
      <path value="ServiceRequest.requester.reference" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.requester.type">
      <path value="ServiceRequest.requester.type" />
      <min value="1" />
      <fixedUri value="Practitioner" />
    </element>
    <element id="ServiceRequest.requester.identifier">
      <path value="ServiceRequest.requester.identifier" />
      <min value="1" />
      <type>
        <code value="Identifier" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-identifier" />
      </type>
    </element>
    <element id="ServiceRequest.requester.display">
      <path value="ServiceRequest.requester.display" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performerType">
      <path value="ServiceRequest.performerType" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer">
      <path value="ServiceRequest.performer" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.synapxe.sg/StructureDefinition/profile-practitionerrole" />
      </type>
    </element>
    <element id="ServiceRequest.performer.id">
      <path value="ServiceRequest.performer.id" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.extension">
      <path value="ServiceRequest.performer.extension" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.reference">
      <path value="ServiceRequest.performer.reference" />
      <min value="1" />
    </element>
    <element id="ServiceRequest.performer.type">
      <path value="ServiceRequest.performer.type" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.identifier">
      <path value="ServiceRequest.performer.identifier" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.performer.display">
      <path value="ServiceRequest.performer.display" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.location">
      <path value="ServiceRequest.location" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.reason">
      <path value="ServiceRequest.reason" />
      <max value="1" />
    </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" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="ServiceRequest.reason.reference">
      <path value="ServiceRequest.reason.reference" />
      <max value="0" />
    </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">
      <path value="ServiceRequest.bodySite" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept" />
      </type>
    </element>
    <element id="ServiceRequest.bodySite.extension:subSite">
      <path value="ServiceRequest.bodySite.extension" />
      <sliceName value="subSite" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.synapxe.sg/StructureDefinition/ext-subSite" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="ServiceRequest.bodySite.coding.version">
      <path value="ServiceRequest.bodySite.coding.version" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.bodyStructure">
      <path value="ServiceRequest.bodyStructure" />
      <max value="0" />
    </element>
    <element id="ServiceRequest.note">
      <path value="ServiceRequest.note" />
      <max value="1" />
      <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" />
      <max value="0" />
      <type>
        <code value="Reference" />
        <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>