<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="profile-servicerequest" />
  <url value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-servicerequest" />
  <version value="0.3.1" />
  <name value="ServiceRequestProfile" />
  <title value="ServiceRequest Profile for Results Reporting" />
  <status value="draft" />
  <date value="2026-01-09" />
  <publisher value="HL7 Canada - FHIR Implementation Work Group" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="https://infocentral.infoway-inforoute.ca/en/collaboration/wg/fhir-implementations" />
    </telecom>
  </contact>
  <description value="Proposed constraints on the ServiceRequest resource for the minimal set of data required to request for service such as diagnostic investigations, treatments, or operations to be performed" />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="CA" />
    </coding>
  </jurisdiction>
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="quick" />
    <uri value="http://siframework.org/cqf" />
    <name value="Quality Improvement and Clinical Knowledge (QUICK)" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="ServiceRequest" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/ServiceRequest" />
  <derivation value="constraint" />
  <differential>
    <element id="ServiceRequest">
      <path value="ServiceRequest" />
      <short value="ServiceRequest Profile" />
      <definition value="Service Request Profile is based upon the core FHIR ServiceRequest resource and created to define the minimal set of data required to request for service such as diagnostic investigations, treatments, or operations to be performed." />
    </element>
    <element id="ServiceRequest.basedOn">
      <path value="ServiceRequest.basedOn" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-servicerequest" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationrequest" />
      </type>
    </element>
    <element id="ServiceRequest.replaces">
      <path value="ServiceRequest.replaces" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-servicerequest" />
      </type>
    </element>
    <element id="ServiceRequest.category">
      <path value="ServiceRequest.category" />
      <short value="Classification of service" />
      <definition value="A code that classifies the service for searching, sorting and display purposes (e.g. Surgical Procedure)." />
      <binding>
        <strength value="preferred" />
      </binding>
    </element>
    <element id="ServiceRequest.code">
      <path value="ServiceRequest.code" />
      <definition value="Codes for tests or services that can be carried out by a designated individual, organization or healthcare service.  For laboratory, use of the pan-Canadian LOINC Observation Code Database (pCLOCD) is preferred and can be found in the slice below." />
    </element>
    <element id="ServiceRequest.code.coding">
      <path value="ServiceRequest.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="ServiceRequest.code.coding:LabOrder">
      <path value="ServiceRequest.code.coding" />
      <sliceName value="LabOrder" />
      <short value="Laboratory procedure code" />
      <definition value="A code that identifies a laboratory procedure that have been requested" />
      <comment value="The binding strength of this element is [Preferred](https://www.hl7.org/fhir/terminologies.html#strength), meaning that codes are encouraged to draw from the pCLOCD value set for interoperability purposes but are not required to do so to be considered conformant." />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="preferred" />
        <description value="The pan-Canadian LOINC Observation Code Database (pCLOCD) is the Canadian version of the LOINC(tm) database. It was created using the LOINC(tm) records and attributes that were constrained for Canadian use and supplemented to specifically meet Canadian requirements. It contains the core LOINC(tm) attributes as required by Regenstrief copyright rules. The LOINC(tm) Component has been customized to meet Canadian requirements and is displayed as the pan Canadian Component Name. This component name is the basis for the pan Canadian Display Name. Core attributes are include both English and Canadian French." />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD" />
      </binding>
    </element>
    <element id="ServiceRequest.code.coding:LabOrder.system">
      <path value="ServiceRequest.code.coding.system" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.code.coding:LabOrder.code">
      <path value="ServiceRequest.code.coding.code" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.code.coding:@default">
      <path value="ServiceRequest.code.coding" />
      <sliceName value="@default" />
    </element>
    <element id="ServiceRequest.code.coding:@default.system">
      <path value="ServiceRequest.code.coding.system" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.code.coding:@default.code">
      <path value="ServiceRequest.code.coding.code" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.subject">
      <path value="ServiceRequest.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-location" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device" />
      </type>
    </element>
    <element id="ServiceRequest.encounter">
      <path value="ServiceRequest.encounter" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter" />
      </type>
    </element>
    <element id="ServiceRequest.authoredOn">
      <path value="ServiceRequest.authoredOn" />
      <max value="1" />
    </element>
    <element id="ServiceRequest.requester">
      <path value="ServiceRequest.requester" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device" />
      </type>
    </element>
    <element id="ServiceRequest.performer">
      <path value="ServiceRequest.performer" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device" />
      </type>
    </element>
    <element id="ServiceRequest.locationReference">
      <path value="ServiceRequest.locationReference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-location" />
      </type>
    </element>
    <element id="ServiceRequest.reasonCode">
      <path value="ServiceRequest.reasonCode" />
      <binding>
        <strength value="preferred" />
      </binding>
    </element>
    <element id="ServiceRequest.reasonReference">
      <path value="ServiceRequest.reasonReference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-condition" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreport" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreportnote" />
        <targetProfile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-documentreference" />
      </type>
    </element>
  </differential>
</StructureDefinition>