preBallot - The specification is currently in ballot review and subject to change. . . . For a full list of available versions, see the Directory of published versions
ServiceRequest (CA:eReC)
Links
Profile
Derived from
http://hl7.org/fhir/StructureDefinition/ServiceRequest
Description
ServiceRequest is the main resource used to send all referral related information to the destination system.
References to this resource
Appointment, Communication, DocumentReference, MessageHeader, QuestionnaireResponse, ServiceRequest, Task
Resource Content
ServiceRequest | ServiceRequest | ||
extension | |||
PatientPresentLocation | Extension(Reference(Location)) | ||
DARC | Extension(Complex) | ||
DART | Extension(Complex) | ||
RoutingOptions | Extension(CodeableConcept) | ||
CopiedParticipants | Extension(Reference(PractitionerRole)) | ||
ServiceProviderPreference | Extension(Complex) | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
basedOn | ..1 | Reference(ServiceRequest) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
replaces | Reference(ServiceRequest) | ||
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
requisition | |||
system | S | 1.. | |
value | S | 1.. | |
status | S | Binding | |
intent | S | Fixed Value | |
category | S | Binding | |
code | S | Binding | |
subject | S | Reference(Patient) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
authoredOn | S | 1.. | |
requester | S | 1.. | Reference(PractitionerRole | Patient) |
extension | |||
ServiceRequesterDelegate | 0..1 | Extension(Complex) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
performer | S | 1..* | Reference(PractitionerRole | HealthcareService) |
extension | |||
PerformerIdentifier | 0..1 | Extension(Identifier) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
reasonCode | S | Binding | |
supportingInfo | S | Reference(Resource | DocumentReference | Communication | QuestionnaireResponse | ConditionPSCA | AllergyIntolerancePSCA) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
note | S | ||
author[x] | |||
authorReference | 0..1 | Reference(Practitioner | Organization | Patient) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. |
ServiceRequest | I | ServiceRequest | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
PatientPresentLocation | I | 0..* | Extension(Reference(Location)) |
DARC | I | 0..* | Extension(Complex) |
DART | I | 0..* | Extension(Complex) |
RoutingOptions | I | 0..* | Extension(CodeableConcept) |
CopiedParticipants | I | 0..* | Extension(Reference(PractitionerRole)) |
ServiceProviderPreference | I | 0..* | Extension(Complex) |
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ | 0..* | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
instantiatesCanonical | Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) |
instantiatesUri | Σ | 0..* | uri |
basedOn | Σ | 0..1 | Reference(ServiceRequest) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
replaces | Σ | 0..* | Reference(ServiceRequest) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
requisition | Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
status | S Σ ?! | 1..1 | codeBinding |
intent | S Σ ?! | 1..1 | codeBindingFixed Value |
category | S Σ | 0..* | CodeableConceptBinding |
priority | Σ | 0..1 | codeBinding |
doNotPerform | Σ ?! | 0..1 | boolean |
code | S Σ | 0..1 | CodeableConceptBinding |
orderDetail | Σ I | 0..* | CodeableConcept |
quantity[x] | Σ | 0..1 | |
quantityQuantity | Quantity | ||
quantityRatio | Ratio | ||
quantityRange | Range | ||
subject | S Σ | 1..1 | Reference(Patient) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
encounter | Σ | 0..1 | Reference(Encounter) |
occurrence[x] | Σ | 0..1 | |
occurrenceDateTime | dateTime | ||
occurrencePeriod | Period | ||
occurrenceTiming | Timing | ||
asNeeded[x] | Σ | 0..1 | |
asNeededBoolean | boolean | ||
asNeededCodeableConcept | CodeableConcept | ||
authoredOn | S Σ | 1..1 | dateTime |
requester | S Σ | 1..1 | Reference(PractitionerRole | Patient) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
ServiceRequesterDelegate | I | 0..1 | Extension(Complex) |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
performerType | Σ | 0..1 | CodeableConcept |
performer | S Σ | 1..* | Reference(PractitionerRole | HealthcareService) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
PerformerIdentifier | I | 0..1 | Extension(Identifier) |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
locationCode | Σ | 0..* | CodeableConcept |
locationReference | Σ | 0..* | Reference(Location) |
reasonCode | S Σ | 0..* | CodeableConceptBinding |
reasonReference | Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) |
insurance | 0..* | Reference(Coverage | ClaimResponse) | |
supportingInfo | S | 0..* | Reference(Resource | DocumentReference | Communication | QuestionnaireResponse | ConditionPSCA | AllergyIntolerancePSCA) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
specimen | Σ | 0..* | Reference(Specimen) |
bodySite | Σ | 0..* | CodeableConcept |
note | S | 0..* | Annotation |
id | 0..1 | string | |
extension | I | 0..* | Extension |
author[x] | Σ | 0..1 | |
(All Slices) | |||
authorString | string | ||
authorReference | Σ | 0..1 | Reference(Practitioner | Organization | Patient) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
time | Σ | 0..1 | dateTime |
text | Σ | 1..1 | markdown |
patientInstruction | Σ | 0..1 | string |
relevantHistory | 0..* | Reference(Provenance) |
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="CA-eReC-ServiceRequest" /> <url value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" /> <name value="ServiceRequest" /> <title value="ServiceRequest" /> <status value="draft" /> <description value="ServiceRequest is the main resource used to send all referral related information to the destination system." /> <fhirVersion value="4.0.1" /> <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"> <path value="ServiceRequest.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <ordered value="false" /> <rules value="open" /> </slicing> </element> <element id="ServiceRequest.extension:PatientPresentLocation"> <path value="ServiceRequest.extension" /> <sliceName value="PatientPresentLocation" /> <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient-Present-Location-EXT" /> </type> </element> <element id="ServiceRequest.extension:DARC"> <path value="ServiceRequest.extension" /> <sliceName value="DARC" /> <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/DARC-EXT" /> </type> </element> <element id="ServiceRequest.extension:DART"> <path value="ServiceRequest.extension" /> <sliceName value="DART" /> <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/DART-ext" /> </type> </element> <element id="ServiceRequest.extension:RoutingOptions"> <path value="ServiceRequest.extension" /> <sliceName value="RoutingOptions" /> <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT" /> </type> </element> <element id="ServiceRequest.extension:CopiedParticipants"> <path value="ServiceRequest.extension" /> <sliceName value="CopiedParticipants" /> <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-copied-participants-EXT" /> </type> </element> <element id="ServiceRequest.extension:ServiceProviderPreference"> <path value="ServiceRequest.extension" /> <sliceName value="ServiceProviderPreference" /> <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-ServiceProviderPreference" /> </type> </element> <element id="ServiceRequest.identifier"> <path value="ServiceRequest.identifier" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.identifier.system"> <path value="ServiceRequest.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.identifier.value"> <path value="ServiceRequest.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.basedOn"> <path value="ServiceRequest.basedOn" /> <short value="𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support routing/chaining/splitting SHALL support" /> <max value="1" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" /> </type> </element> <element id="ServiceRequest.basedOn.reference"> <path value="ServiceRequest.basedOn.reference" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.basedOn.identifier"> <path value="ServiceRequest.basedOn.identifier" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.basedOn.identifier.system"> <path value="ServiceRequest.basedOn.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.basedOn.identifier.value"> <path value="ServiceRequest.basedOn.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.replaces"> <path value="ServiceRequest.replaces" /> <short value="𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support routing/chaining/splitting SHALL support" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" /> </type> </element> <element id="ServiceRequest.replaces.reference"> <path value="ServiceRequest.replaces.reference" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.replaces.identifier"> <path value="ServiceRequest.replaces.identifier" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.replaces.identifier.system"> <path value="ServiceRequest.replaces.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.replaces.identifier.value"> <path value="ServiceRequest.replaces.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.requisition"> <path value="ServiceRequest.requisition" /> <short value="𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support routing/chaining/splitting SHALL support" /> </element> <element id="ServiceRequest.requisition.system"> <path value="ServiceRequest.requisition.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.requisition.value"> <path value="ServiceRequest.requisition.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.status"> <path value="ServiceRequest.status" /> <mustSupport value="true" /> <binding> <strength value="required" /> <valueSet value="http://hl7.org/fhir/ValueSet/request-status" /> </binding> </element> <element id="ServiceRequest.intent"> <path value="ServiceRequest.intent" /> <fixedCode value="proposal" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.category"> <path value="ServiceRequest.category" /> <mustSupport value="true" /> <binding> <strength value="preferred" /> <valueSet value="http://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare" /> </binding> </element> <element id="ServiceRequest.code"> <path value="ServiceRequest.code" /> <short value="Note that the meaning of this field is to be used in conjunction with ServiceRequest.performer pointing to a HealthCareservice, and .code further specifies the service, for example code could be a specific procedure under the specificed HealthcareService (e.g., HealthcareService = Orthopaedic Surgeon, code=Knee Surgery)" /> <mustSupport value="true" /> <binding> <strength value="extensible" /> <valueSet value="http://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare" /> </binding> </element> <element id="ServiceRequest.subject"> <path value="ServiceRequest.subject" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" /> </type> <mustSupport value="true" /> </element> <element id="ServiceRequest.subject.reference"> <path value="ServiceRequest.subject.reference" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.subject.identifier"> <path value="ServiceRequest.subject.identifier" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.subject.identifier.system"> <path value="ServiceRequest.subject.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.subject.identifier.value"> <path value="ServiceRequest.subject.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.authoredOn"> <path value="ServiceRequest.authoredOn" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.requester"> <path value="ServiceRequest.requester" /> <min value="1" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" /> </type> <mustSupport value="true" /> </element> <element id="ServiceRequest.requester.extension"> <path value="ServiceRequest.requester.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <ordered value="false" /> <rules value="open" /> </slicing> </element> <element id="ServiceRequest.requester.extension:ServiceRequesterDelegate"> <path value="ServiceRequest.requester.extension" /> <sliceName value="ServiceRequesterDelegate" /> <min value="0" /> <max value="1" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-ServiceRequesterDelegate" /> </type> </element> <element id="ServiceRequest.requester.reference"> <path value="ServiceRequest.requester.reference" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.requester.identifier"> <path value="ServiceRequest.requester.identifier" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.requester.identifier.system"> <path value="ServiceRequest.requester.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.requester.identifier.value"> <path value="ServiceRequest.requester.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.performer"> <path value="ServiceRequest.performer" /> <min value="1" /> <max value="*" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-HealthcareService" /> </type> <mustSupport value="true" /> </element> <element id="ServiceRequest.performer.extension"> <path value="ServiceRequest.performer.extension" /> <slicing> <discriminator> <type value="value" /> <path value="url" /> </discriminator> <ordered value="false" /> <rules value="open" /> </slicing> </element> <element id="ServiceRequest.performer.extension:PerformerIdentifier"> <path value="ServiceRequest.performer.extension" /> <sliceName value="PerformerIdentifier" /> <min value="0" /> <max value="1" /> <type> <code value="Extension" /> <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-performer-identifier-EXT" /> </type> </element> <element id="ServiceRequest.performer.reference"> <path value="ServiceRequest.performer.reference" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.performer.identifier"> <path value="ServiceRequest.performer.identifier" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.performer.identifier.system"> <path value="ServiceRequest.performer.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.performer.identifier.value"> <path value="ServiceRequest.performer.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.reasonCode"> <path value="ServiceRequest.reasonCode" /> <mustSupport value="true" /> <binding> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"> <valueString value="ServiceRequestReason" /> </extension> <strength value="preferred" /> <description value="Diagnosis or problem codes justifying the reason for requesting the service investigation." /> <valueSet value="http://hl7.org/fhir/ValueSet/procedure-reason" /> </binding> </element> <element id="ServiceRequest.supportingInfo"> <path value="ServiceRequest.supportingInfo" /> <definition value="Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements." /> <comment value="To represent information about how the services are to be delivered use the `instructions` element. This element can be used to provide a Patient Summary as well." /> <type> <code value="Reference" /> <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"> <valueBoolean value="false" /> </extension> </targetProfile> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-DocumentReference"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"> <valueBoolean value="true" /> </extension> </targetProfile> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"> <valueBoolean value="true" /> </extension> </targetProfile> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-QuestionnaireResponse"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"> <valueBoolean value="true" /> </extension> </targetProfile> <targetProfile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/condition-ca-ps"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"> <valueBoolean value="false" /> </extension> </targetProfile> <targetProfile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/allergyintolerance-ca-ps"> <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"> <valueBoolean value="false" /> </extension> </targetProfile> </type> <mustSupport value="true" /> </element> <element id="ServiceRequest.supportingInfo.reference"> <path value="ServiceRequest.supportingInfo.reference" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.supportingInfo.identifier"> <path value="ServiceRequest.supportingInfo.identifier" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.supportingInfo.identifier.system"> <path value="ServiceRequest.supportingInfo.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.supportingInfo.identifier.value"> <path value="ServiceRequest.supportingInfo.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.note"> <path value="ServiceRequest.note" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.note.author[x]"> <path value="ServiceRequest.note.author[x]" /> <slicing> <discriminator> <type value="type" /> <path value="$this" /> </discriminator> <ordered value="false" /> <rules value="open" /> </slicing> </element> <element id="ServiceRequest.note.author[x]:authorReference"> <path value="ServiceRequest.note.author[x]" /> <sliceName value="authorReference" /> <min value="0" /> <max value="1" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" /> </type> </element> <element id="ServiceRequest.note.author[x]:authorReference.reference"> <path value="ServiceRequest.note.author[x].reference" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.note.author[x]:authorReference.identifier"> <path value="ServiceRequest.note.author[x].identifier" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.note.author[x]:authorReference.identifier.system"> <path value="ServiceRequest.note.author[x].identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="ServiceRequest.note.author[x]:authorReference.identifier.value"> <path value="ServiceRequest.note.author[x].identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> </differential> </StructureDefinition>
{ "resourceType": "StructureDefinition", "id": "CA-eReC-ServiceRequest", "url": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest", "name": "ServiceRequest", "title": "ServiceRequest", "status": "draft", "description": "ServiceRequest is the main resource used to send all referral related information to the destination system.", "fhirVersion": "4.0.1", "kind": "resource", "abstract": false, "type": "ServiceRequest", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ServiceRequest", "derivation": "constraint", "differential": { "element": [ { "id": "ServiceRequest.extension", "path": "ServiceRequest.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "ordered": false, "rules": "open" } }, { "id": "ServiceRequest.extension:PatientPresentLocation", "path": "ServiceRequest.extension", "sliceName": "PatientPresentLocation", "short": "USE CASE SUPPORT: Systems deployed in Ontario SHALL support", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient-Present-Location-EXT" ] } ] }, { "id": "ServiceRequest.extension:DARC", "path": "ServiceRequest.extension", "sliceName": "DARC", "short": "USE CASE SUPPORT: Systems deployed in Ontario SHALL support", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/DARC-EXT" ] } ] }, { "id": "ServiceRequest.extension:DART", "path": "ServiceRequest.extension", "sliceName": "DART", "short": "USE CASE SUPPORT: Systems deployed in Ontario SHALL support", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/DART-ext" ] } ] }, { "id": "ServiceRequest.extension:RoutingOptions", "path": "ServiceRequest.extension", "sliceName": "RoutingOptions", "short": "USE CASE SUPPORT: Systems deployed in Ontario SHALL support", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT" ] } ] }, { "id": "ServiceRequest.extension:CopiedParticipants", "path": "ServiceRequest.extension", "sliceName": "CopiedParticipants", "short": "USE CASE SUPPORT: Systems deployed in Ontario SHALL support", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-copied-participants-EXT" ] } ] }, { "id": "ServiceRequest.extension:ServiceProviderPreference", "path": "ServiceRequest.extension", "sliceName": "ServiceProviderPreference", "short": "USE CASE SUPPORT: Systems deployed in Ontario SHALL support", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-ServiceProviderPreference" ] } ] }, { "id": "ServiceRequest.identifier", "path": "ServiceRequest.identifier", "mustSupport": true }, { "id": "ServiceRequest.identifier.system", "path": "ServiceRequest.identifier.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.identifier.value", "path": "ServiceRequest.identifier.value", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.basedOn", "path": "ServiceRequest.basedOn", "short": "𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support routing/chaining/splitting SHALL support", "max": "1", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" ] } ] }, { "id": "ServiceRequest.basedOn.reference", "path": "ServiceRequest.basedOn.reference", "mustSupport": true }, { "id": "ServiceRequest.basedOn.identifier", "path": "ServiceRequest.basedOn.identifier", "mustSupport": true }, { "id": "ServiceRequest.basedOn.identifier.system", "path": "ServiceRequest.basedOn.identifier.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.basedOn.identifier.value", "path": "ServiceRequest.basedOn.identifier.value", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.replaces", "path": "ServiceRequest.replaces", "short": "𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support routing/chaining/splitting SHALL support", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" ] } ] }, { "id": "ServiceRequest.replaces.reference", "path": "ServiceRequest.replaces.reference", "mustSupport": true }, { "id": "ServiceRequest.replaces.identifier", "path": "ServiceRequest.replaces.identifier", "mustSupport": true }, { "id": "ServiceRequest.replaces.identifier.system", "path": "ServiceRequest.replaces.identifier.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.replaces.identifier.value", "path": "ServiceRequest.replaces.identifier.value", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.requisition", "path": "ServiceRequest.requisition", "short": "𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support routing/chaining/splitting SHALL support" }, { "id": "ServiceRequest.requisition.system", "path": "ServiceRequest.requisition.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.requisition.value", "path": "ServiceRequest.requisition.value", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.status", "path": "ServiceRequest.status", "mustSupport": true, "binding": { "strength": "required", "valueSet": "http://hl7.org/fhir/ValueSet/request-status" } }, { "id": "ServiceRequest.intent", "path": "ServiceRequest.intent", "fixedCode": "proposal", "mustSupport": true }, { "id": "ServiceRequest.category", "path": "ServiceRequest.category", "mustSupport": true, "binding": { "strength": "preferred", "valueSet": "http://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare" } }, { "id": "ServiceRequest.code", "path": "ServiceRequest.code", "short": "Note that the meaning of this field is to be used in conjunction with ServiceRequest.performer pointing to a HealthCareservice, and .code further specifies the service, for example code could be a specific procedure under the specificed HealthcareService (e.g., HealthcareService = Orthopaedic Surgeon, code=Knee Surgery)", "mustSupport": true, "binding": { "strength": "extensible", "valueSet": "http://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare" } }, { "id": "ServiceRequest.subject", "path": "ServiceRequest.subject", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" ] } ], "mustSupport": true }, { "id": "ServiceRequest.subject.reference", "path": "ServiceRequest.subject.reference", "mustSupport": true }, { "id": "ServiceRequest.subject.identifier", "path": "ServiceRequest.subject.identifier", "mustSupport": true }, { "id": "ServiceRequest.subject.identifier.system", "path": "ServiceRequest.subject.identifier.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.subject.identifier.value", "path": "ServiceRequest.subject.identifier.value", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.authoredOn", "path": "ServiceRequest.authoredOn", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.requester", "path": "ServiceRequest.requester", "min": 1, "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" ] } ], "mustSupport": true }, { "id": "ServiceRequest.requester.extension", "path": "ServiceRequest.requester.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "ordered": false, "rules": "open" } }, { "id": "ServiceRequest.requester.extension:ServiceRequesterDelegate", "path": "ServiceRequest.requester.extension", "sliceName": "ServiceRequesterDelegate", "min": 0, "max": "1", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ext-ServiceRequesterDelegate" ] } ] }, { "id": "ServiceRequest.requester.reference", "path": "ServiceRequest.requester.reference", "mustSupport": true }, { "id": "ServiceRequest.requester.identifier", "path": "ServiceRequest.requester.identifier", "mustSupport": true }, { "id": "ServiceRequest.requester.identifier.system", "path": "ServiceRequest.requester.identifier.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.requester.identifier.value", "path": "ServiceRequest.requester.identifier.value", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.performer", "path": "ServiceRequest.performer", "min": 1, "max": "*", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-HealthcareService" ] } ], "mustSupport": true }, { "id": "ServiceRequest.performer.extension", "path": "ServiceRequest.performer.extension", "slicing": { "discriminator": [ { "type": "value", "path": "url" } ], "ordered": false, "rules": "open" } }, { "id": "ServiceRequest.performer.extension:PerformerIdentifier", "path": "ServiceRequest.performer.extension", "sliceName": "PerformerIdentifier", "min": 0, "max": "1", "type": [ { "code": "Extension", "profile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-performer-identifier-EXT" ] } ] }, { "id": "ServiceRequest.performer.reference", "path": "ServiceRequest.performer.reference", "mustSupport": true }, { "id": "ServiceRequest.performer.identifier", "path": "ServiceRequest.performer.identifier", "mustSupport": true }, { "id": "ServiceRequest.performer.identifier.system", "path": "ServiceRequest.performer.identifier.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.performer.identifier.value", "path": "ServiceRequest.performer.identifier.value", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.reasonCode", "path": "ServiceRequest.reasonCode", "mustSupport": true, "binding": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ServiceRequestReason" } ], "strength": "preferred", "description": "Diagnosis or problem codes justifying the reason for requesting the service investigation.", "valueSet": "http://hl7.org/fhir/ValueSet/procedure-reason" } }, { "id": "ServiceRequest.supportingInfo", "path": "ServiceRequest.supportingInfo", "definition": "Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as \"ask at order entry questions (AOEs)\". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements.", "comment": "To represent information about how the services are to be delivered use the `instructions` element. This element can be used to provide a Patient Summary as well.", "type": [ { "code": "Reference", "targetProfile": [ "http://hl7.org/fhir/StructureDefinition/Resource", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-DocumentReference", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-QuestionnaireResponse", "http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/condition-ca-ps", "http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/allergyintolerance-ca-ps" ], "_targetProfile": [ { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support", "valueBoolean": false } ] }, { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support", "valueBoolean": true } ] }, { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support", "valueBoolean": true } ] }, { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support", "valueBoolean": true } ] }, { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support", "valueBoolean": false } ] }, { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support", "valueBoolean": false } ] } ] } ], "mustSupport": true }, { "id": "ServiceRequest.supportingInfo.reference", "path": "ServiceRequest.supportingInfo.reference", "mustSupport": true }, { "id": "ServiceRequest.supportingInfo.identifier", "path": "ServiceRequest.supportingInfo.identifier", "mustSupport": true }, { "id": "ServiceRequest.supportingInfo.identifier.system", "path": "ServiceRequest.supportingInfo.identifier.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.supportingInfo.identifier.value", "path": "ServiceRequest.supportingInfo.identifier.value", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.note", "path": "ServiceRequest.note", "mustSupport": true }, { "id": "ServiceRequest.note.author[x]", "path": "ServiceRequest.note.author[x]", "slicing": { "discriminator": [ { "type": "type", "path": "$this" } ], "ordered": false, "rules": "open" } }, { "id": "ServiceRequest.note.author[x]:authorReference", "path": "ServiceRequest.note.author[x]", "sliceName": "authorReference", "min": 0, "max": "1", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" ] } ] }, { "id": "ServiceRequest.note.author[x]:authorReference.reference", "path": "ServiceRequest.note.author[x].reference", "mustSupport": true }, { "id": "ServiceRequest.note.author[x]:authorReference.identifier", "path": "ServiceRequest.note.author[x].identifier", "mustSupport": true }, { "id": "ServiceRequest.note.author[x]:authorReference.identifier.system", "path": "ServiceRequest.note.author[x].identifier.system", "min": 1, "mustSupport": true }, { "id": "ServiceRequest.note.author[x]:authorReference.identifier.value", "path": "ServiceRequest.note.author[x].identifier.value", "min": 1, "mustSupport": true } ] } }
Terminology bindings
Path | Conformance | ValueSet |
---|---|---|
ServiceRequest.status | required | http://hl7.org/fhir/ValueSet/request-status |
ServiceRequest.category | preferred | http://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare |
ServiceRequest.code | extensible | http://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare |
ServiceRequest.reasonCode | preferred | http://hl7.org/fhir/ValueSet/procedure-reason |
Constraints
Path | Id | Grade | Details | Expression |
---|---|---|---|---|
ServiceRequest; ServiceRequest; ServiceRequest; ServiceRequest; ServiceRequest; ServiceRequest; ServiceRequest.meta; ServiceRequest.implicitRules; ServiceRequest.language; ServiceRequest.text; ServiceRequest.extension; ServiceRequest.extension; ServiceRequest.extension:PatientPresentLocation; ServiceRequest.extension:PatientPresentLocation; ServiceRequest.extension:DARC; ServiceRequest.extension:DARC; ServiceRequest.extension:DART; ServiceRequest.extension:DART; ServiceRequest.extension:RoutingOptions; ServiceRequest.extension:RoutingOptions; ServiceRequest.extension:CopiedParticipants; ServiceRequest.extension:CopiedParticipants; ServiceRequest.extension:ServiceProviderPreference; ServiceRequest.extension:ServiceProviderPreference; ServiceRequest.modifierExtension; ServiceRequest.modifierExtension; ServiceRequest.identifier; ServiceRequest.identifier.extension; ServiceRequest.identifier.extension; ServiceRequest.identifier.use; ServiceRequest.identifier.type; ServiceRequest.identifier.system; ServiceRequest.identifier.value; ServiceRequest.identifier.period; ServiceRequest.identifier.assigner; ServiceRequest.instantiatesCanonical; ServiceRequest.instantiatesUri; ServiceRequest.basedOn; ServiceRequest.basedOn.extension; ServiceRequest.basedOn.extension; ServiceRequest.basedOn.reference; ServiceRequest.basedOn.type; ServiceRequest.basedOn.identifier; ServiceRequest.basedOn.identifier.extension; ServiceRequest.basedOn.identifier.extension; ServiceRequest.basedOn.identifier.use; ServiceRequest.basedOn.identifier.type; ServiceRequest.basedOn.identifier.system; ServiceRequest.basedOn.identifier.value; ServiceRequest.basedOn.identifier.period; ServiceRequest.basedOn.identifier.assigner; ServiceRequest.basedOn.display; ServiceRequest.replaces; ServiceRequest.replaces.extension; ServiceRequest.replaces.extension; ServiceRequest.replaces.reference; ServiceRequest.replaces.type; ServiceRequest.replaces.identifier; ServiceRequest.replaces.identifier.extension; ServiceRequest.replaces.identifier.extension; ServiceRequest.replaces.identifier.use; ServiceRequest.replaces.identifier.type; ServiceRequest.replaces.identifier.system; ServiceRequest.replaces.identifier.value; ServiceRequest.replaces.identifier.period; ServiceRequest.replaces.identifier.assigner; ServiceRequest.replaces.display; ServiceRequest.requisition; ServiceRequest.requisition.extension; ServiceRequest.requisition.extension; ServiceRequest.requisition.use; ServiceRequest.requisition.type; ServiceRequest.requisition.system; ServiceRequest.requisition.value; ServiceRequest.requisition.period; ServiceRequest.requisition.assigner; ServiceRequest.status; ServiceRequest.intent; ServiceRequest.category; ServiceRequest.priority; ServiceRequest.doNotPerform; ServiceRequest.code; ServiceRequest.orderDetail; ServiceRequest.quantity[x]; ServiceRequest.subject; ServiceRequest.subject.extension; ServiceRequest.subject.extension; ServiceRequest.subject.reference; ServiceRequest.subject.type; ServiceRequest.subject.identifier; ServiceRequest.subject.identifier.extension; ServiceRequest.subject.identifier.extension; ServiceRequest.subject.identifier.use; ServiceRequest.subject.identifier.type; ServiceRequest.subject.identifier.system; ServiceRequest.subject.identifier.value; ServiceRequest.subject.identifier.period; ServiceRequest.subject.identifier.assigner; ServiceRequest.subject.display; ServiceRequest.encounter; ServiceRequest.occurrence[x]; ServiceRequest.asNeeded[x]; ServiceRequest.authoredOn; ServiceRequest.requester; ServiceRequest.requester.extension; ServiceRequest.requester.extension; ServiceRequest.requester.extension:ServiceRequesterDelegate; ServiceRequest.requester.extension:ServiceRequesterDelegate; ServiceRequest.requester.reference; ServiceRequest.requester.type; ServiceRequest.requester.identifier; ServiceRequest.requester.identifier.extension; ServiceRequest.requester.identifier.extension; ServiceRequest.requester.identifier.use; ServiceRequest.requester.identifier.type; ServiceRequest.requester.identifier.system; ServiceRequest.requester.identifier.value; ServiceRequest.requester.identifier.period; ServiceRequest.requester.identifier.assigner; ServiceRequest.requester.display; ServiceRequest.performerType; ServiceRequest.performer; ServiceRequest.performer.extension; ServiceRequest.performer.extension; ServiceRequest.performer.extension:PerformerIdentifier; ServiceRequest.performer.extension:PerformerIdentifier; ServiceRequest.performer.reference; ServiceRequest.performer.type; ServiceRequest.performer.identifier; ServiceRequest.performer.identifier.extension; ServiceRequest.performer.identifier.extension; ServiceRequest.performer.identifier.use; ServiceRequest.performer.identifier.type; ServiceRequest.performer.identifier.system; ServiceRequest.performer.identifier.value; ServiceRequest.performer.identifier.period; ServiceRequest.performer.identifier.assigner; ServiceRequest.performer.display; ServiceRequest.locationCode; ServiceRequest.locationReference; ServiceRequest.reasonCode; ServiceRequest.reasonReference; ServiceRequest.insurance; ServiceRequest.supportingInfo; ServiceRequest.supportingInfo.extension; ServiceRequest.supportingInfo.extension; ServiceRequest.supportingInfo.reference; ServiceRequest.supportingInfo.type; ServiceRequest.supportingInfo.identifier; ServiceRequest.supportingInfo.identifier.extension; ServiceRequest.supportingInfo.identifier.extension; ServiceRequest.supportingInfo.identifier.use; ServiceRequest.supportingInfo.identifier.type; ServiceRequest.supportingInfo.identifier.system; ServiceRequest.supportingInfo.identifier.value; ServiceRequest.supportingInfo.identifier.period; ServiceRequest.supportingInfo.identifier.assigner; ServiceRequest.supportingInfo.display; ServiceRequest.specimen; ServiceRequest.bodySite; ServiceRequest.note; ServiceRequest.note.extension; ServiceRequest.note.extension; ServiceRequest.note.author[x]; ServiceRequest.note.author[x]:authorReference; ServiceRequest.note.author[x]:authorReference.extension; ServiceRequest.note.author[x]:authorReference.extension; ServiceRequest.note.author[x]:authorReference.reference; ServiceRequest.note.author[x]:authorReference.type; ServiceRequest.note.author[x]:authorReference.identifier; ServiceRequest.note.author[x]:authorReference.identifier.extension; ServiceRequest.note.author[x]:authorReference.identifier.extension; ServiceRequest.note.author[x]:authorReference.identifier.use; ServiceRequest.note.author[x]:authorReference.identifier.type; ServiceRequest.note.author[x]:authorReference.identifier.system; ServiceRequest.note.author[x]:authorReference.identifier.value; ServiceRequest.note.author[x]:authorReference.identifier.period; ServiceRequest.note.author[x]:authorReference.identifier.assigner; ServiceRequest.note.author[x]:authorReference.display; ServiceRequest.note.time; ServiceRequest.note.text; ServiceRequest.patientInstruction; ServiceRequest.relevantHistory | dom-2; dom-3; dom-4; dom-5; dom-6; prr-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1 | error; error; error; error; warning; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error | If the resource is contained in another resource, it SHALL NOT contain nested Resources; If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource; If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated; If a resource is contained in another resource, it SHALL NOT have a security label; A resource should have narrative for robust management; orderDetail SHALL only be present if code is present; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children | contained.contained.empty(); contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty(); contained.meta.versionId.empty() and contained.meta.lastUpdated.empty(); contained.meta.security.empty(); text.`div`.exists(); orderDetail.empty() or code.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()) |
Usage
ServiceRequest is the main resource used to send all referral related information to the destination system.
Note: Systems that support Routing, Chaining or Splitting SHALL support .basedOn
, .replaces
, and .requisition
Notes
.extension:PatientPresentLocation
- Used for determining the location of the patient, if it is different than the patient's home address, at the time of the referral.
.extension:DARC
- Used to support the analytics use case in Ontario eReferral-eConsult guide. It is required to identify the dates affecting a patient's readiness to consult.
.extension:DART
- Used to support the analytics use case in Ontario eReferral-eConsult guide. It is required to identify the dates affecting a patient's readiness to consult.
.extension:RoutingOptions
- Required for Referral Source Type identification. Used when only one referral routing object expected.
.extension:CopiedParticipants
- Used to copy updates to the ServiceRequest in cases of forwarding referrals.
.identifier
- Business identifers associate the information exchanged between systems with a real world entity
- Any number of business identifiers MAY be included in a ServiceRequest resource, where:
- an eReC Requester SHALL always provide a single official business identifier for each eReferral or eConsult shared via messaging, where:
use
SHALL be populated with the code "official"- the combination of
value
andsystem
:- SHALL be globally unique unless the business identifier is shared with a Parent ServicRequest (see Routing below)
- SHOULD be populated with a
value
= a UUID andsystem
= "urn:ietf:rfc:3986" when another existing and appropriate system doesn't exist
- the eReC Requester MAY provide other identifiers needed to support local requirements
- the eReC Performer SHALL provide all business identifiers received when sending back a ServiceRequest within a message
Bundle.entry
- there SHALL only be one official identifier associated with a ServiceRequest
- an eReC Requester SHALL always provide a single official business identifier for each eReferral or eConsult shared via messaging, where:
𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that create ServiceRequests to support Routing, Splitting, or Chaining workflows SHALL populate the official identifier as follows:
- Routing: the official
.identifier
SHALL be the same for both the parent and child ServiceRequests - Splitting: each child ServiceRequest SHALL have an official
.identifier
assigned that is unique from the parent - Chaining: each child ServiceRequest SHALL have an official
.identifier
assigned that is unique from the parent
- Routing: the official
Where present, business identifiers provided in a ServiceRequest MAY be used to reference this resource in subsequent messages
identifier.system
andidentifier.value
SHALL be mustSupport whenever there is a reference or identifier present
.basedOn
𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support Chaining SHALL support this element
When a service provider performing a parent ServiceRequest creates child ServiceRequest using the Chaining workflow,
.basedOn
SHALL be populated on the new (child) ServiceRequest with a reference to the parent.If the child ServiceRequest is being transmitted via messaging, this element SHALL be populated with a reference to the parent, either as a
reference
to a resource within the message as aBundle.entry
.replaces
𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support Routing or Splitting SHALL support this element
When a service provider performing a parent ServiceRequest creates child ServiceRequest(s) using either the Routing or Splitting workflow,
.replaces
SHALL be populated on the new (child) ServiceRequest with a reference to the parent.If the child ServiceRequest is being transmitted via messaging, this element SHALL be populated with a reference to the parent, either as a
reference
to a resource within the message as aBundle.entry
.requisition
𝗨𝗦𝗘 𝗖𝗔𝗦𝗘 𝗦𝗨𝗣𝗣𝗢𝗥𝗧: Systems that support Splitting SHALL support this element
Used in cases where multiple connected referrals are made simultaneously (i.e. a
.requisition
)In these cases:
- multiple ServiceRequests SHALL be referenced in
MessageHeader.focus
- each of the ServiceRequests in
MessageHeader.focus
SHALL have the same identifier inServiceRequest.requisition
- the identifier used in
ServiceRequest.requisition
SHALL also be used inMessageHeader.extension:ReferralIdentifier
- multiple ServiceRequests SHALL be referenced in
When splitting a received parent ServiceRequest to create many child ServiceRequests,
.requisition
SHALL be copied from the official.identifier
from the parent ServiceRequestNote that additional business rules apply to requisitions
For eReferral usage: It is highly recommended that the common elements should match between multiple ServiceRequests (e.g., patient, requester, etc...) Requests are linked either by a
.basedOn
relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.
.status
- Used to communicate the current status of the ServiceRequest on the requester's system
.intent
- populate with the fixed value: "proposal"
.category
- this is not needed for P2P referrals
- for CAT/CI, this is the specialty being request, eg. Urology, Othopedics, etc.
.code
- SHOULD include a code from https://fhir.infoway-inforoute.ca/ValueSet/interventioncodesubsetcare
- specifies the specific type of service to be performed, eg. Urinalysis, Renal/Bladder Ultrasound
.subject
- Identifies the patient being referred to the service provider
- SHALL be populated with a reference to a Patient (CA:eReC) resource
- If the ServiceRequest is being transmitted via messaging SHALL
.reference
a resource included in the message as aBundle.entry
.authoredOn
- For eReferral usage:
.authoredOn
is the submission time of the sending system - Note: if this element corresponds to the dateTime the author "signed" the request, it could be populated with a time before the message was actually submitted
.requester
- Identifies the person who requested the service
- SHALL be populated with a reference to a PractitionerRole (CA:eReC) resource or, for self-referrals, a Patient (CA:eReC) resource
- If the information is being transmitted via messaging, this element SHALL either
.reference
a resource included in the message as aBundle.entry
.performer
- Identifies the requested service or service provider
- If the information is being transmitted via messaging, this element SHALL either
.reference
a resource included in the message as aBundle.entry
.reasonCode
- provides the reason for the referral. This could be coded but is very often conveyed as text
.supportingInfo
- Used to associate supporting information in the patient's record with a ServiceRequest
- MAY be populated with references to QuestionnaireResponse (CA:eReC), and/or other FHIR resources in the future to associate structured information with a ServiceRequest
- Implementers intending to send allergy, intolerance and condition supporting information SHOULD refer to PS-CA versions of these profiles for pan-Canadian guidance until these resources are profiled for future versions of this guide. (AllergyIntolerance (PS-CA), Condition(PS-CA))
- MAY be populated with references to DocumentReference (CA:eReC) to associate binary attachments with a ServiceRequest. The Patient Summary may be attached as PDF document here for future use.
- MAY also attach Patient Summary documents here
- If the ServiceRequest is being transmitted via messaging, this element SHALL either:
.reference
a resource included in the message as aBundle.entry
, or- include an
.identifier
previously known to both systems
.note
Used to communicate information that cannot be referenced in
supportingInfo
with a ServiceRequestMAY be used when the referral source system has a custom data capture form with fields are not mapped to a resource (e.g., Food preference, home visit risk factors, etc...).
If
note.author
andnote.time
are not populated, these SHOULD be assumed to be therequester
andauthoredOn
respectively (this is expected to be the normal use case)FOR eREFERRAL USAGE:
note
is used to include additional information in the referral that is not captured by an existing resource or in a DocumentReference. This is often used when the sending application has a custom data capture form with fields are not mapped to a resource (e.g., Food preference, home visit risk factors, etc...).For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information.
Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible).