Canadian Baseline
1.2.0 - CI Build

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

## Resource Profile: ServiceRequest Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-servicerequest | Version: 1.2.0
Draft as of 2024-12-13 | Computable Name: ServiceRequestProfile

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

# CA ServiceRequest Profile

This 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.

This profile defines a service request structure that includes core localisation concepts for use as a diagnostic service request in a Canadian context.

## Mandatory Data Elements

All elements or attributes defined in FHIR have cardinality as part of their definition - a minimum number of required appearances and a maximum number.

Most elements in FHIR specification have a minimum cardinality of 0, which means that they may be missing from a resource when it is exchanged between systems.

In this Canadian Baseline ServiceRequest Profile following elements are required:

- status of the order (ServiceRequest.status)
- progression of a business activity (ServiceRequest.intent)
- on whom or what the service is to be performed (ServiceRequest.subject)
- who initiated the request (ServiceRequest.requester)

### Data Absent Reason

In situations where the minimum cardinality of an element or attribute is 1 and information is missing and the Responder knows the precise reason for the absence of data, Responders SHALL send the reason for the missing information using values (such as NullFlavor) from the value set where they exist or using the DataAbsentReason extension.

## Must Support Data Elements

Some elements are labeled as MustSupport meaning that implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way (see Must Support definition).

Following elements are marked as Must Support in the Canadian ServiceRequest profile.

Must Support elements:

- identifier
- requisition
- status
- intent
- category
- code
- subject
- authoredOn
- requester
- performer

## Usage Note

This profile may be used to share relevant information required to support a referral or a transfer of care request from one practitioner to another in which a referral is sent directly to a specific health service described in a shared Health Services Directory.

A ServiceRequest can be supplemented with service-specific clinical decision support information and any other additionally required data, for example, available appointment slots.

Usages:

- Refer to this Profile: ServiceRequest Profile for Results Reporting

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ServiceRequest | C | 0..* | ServiceRequest | ServiceRequest Profile Constraints: prr-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Identifiers assigned to this order
basedOn | Σ | 0..* | Reference(ServiceRequest Profile for Results Reporting | MedicationRequest Profile) | What request fulfills
replaces | Σ | 0..* | Reference(ServiceRequest Profile for Results Reporting) | What request replaces
requisition | S Σ | 0..1 | Identifier | Composite Request ID
status | ?!S Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order.
intent | ?!S Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request.
category | S Σ | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (preferred)
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed
code | Σ | 0..1 | CodeableConcept | What is being requested/ordered Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred.
Slices for coding | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LabOrder | Σ | 0..* | Coding | Laboratory procedure code Binding: https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD (preferred): 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.
system | Σ | 1..1 | uri | Identity of the terminology system
code | Σ | 1..1 | code | Symbol in syntax defined by the system
coding:@default | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 1..1 | uri | Identity of the terminology system
code | Σ | 1..1 | code | Symbol in syntax defined by the system
subject | S Σ | 1..1 | Reference(Patient Profile | Location Profile | Device Profile (Implantable)) | Individual or Entity the service is ordered for
encounter | Σ | 0..1 | Reference(Encounter Profile) | Encounter in which the request was created
authoredOn | S Σ | 0..1 | dateTime | Date request signed
requester | S Σ | 1..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Who/what is requesting service
performer | S Σ | 0..* | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Requested performer
locationReference | Σ | 0..* | Reference(Location Profile) | Requested location
reasonCode | Σ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: ProcedureReasonCodes (preferred)
reasonReference | Σ | 0..* | Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile | DocumentReference Profile for metadata about the document) | Explanation/Justification for service or service
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std.
ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std.
ServiceRequest.category | Base | preferred | Service Request Category Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
ServiceRequest.code.​coding:LabOrder | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD | Not Stated | Unknown
ServiceRequest.reasonCode | Base | preferred | Procedure Reason Codes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | ServiceRequest | 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 | `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()`
dom-4 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present | `orderDetail.empty() or code.exists()`

This structure is derived from ServiceRequest

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ServiceRequest |  | 0..* | ServiceRequest | ServiceRequest Profile
identifier | S | 0..* | Identifier | Identifiers assigned to this order
basedOn |  | 0..* | Reference(ServiceRequest Profile for Results Reporting | MedicationRequest Profile) | What request fulfills
replaces |  | 0..* | Reference(ServiceRequest Profile for Results Reporting) | What request replaces
requisition | S | 0..1 | Identifier | Composite Request ID
status | S | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown
intent | S | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
category | S | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (preferred)
code |  | 0..1 | CodeableConcept | What is being requested/ordered
Slices for coding | S | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LabOrder |  | 0..* | Coding | Laboratory procedure code Binding: https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD (preferred): 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.
system |  | 1..1 | uri | Identity of the terminology system
code |  | 1..1 | code | Symbol in syntax defined by the system
coding:@default |  | 0..* | Coding | Code defined by a terminology system
system |  | 1..1 | uri | Identity of the terminology system
code |  | 1..1 | code | Symbol in syntax defined by the system
subject | S | 1..1 | Reference(Patient Profile | Location Profile | Device Profile (Implantable)) | Individual or Entity the service is ordered for
encounter |  | 0..1 | Reference(Encounter Profile) | Encounter in which the request was created
authoredOn | S | 0..1 | dateTime | Date request signed
requester | S | 1..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Who/what is requesting service
performer | S | 0..* | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Requested performer
locationReference |  | 0..* | Reference(Location Profile) | Requested location
reasonCode |  | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: ProcedureReasonCodes (preferred)
reasonReference |  | 0..* | Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile | DocumentReference Profile for metadata about the document) | Explanation/Justification for service or service
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
ServiceRequest.category | Base | preferred |  | Not Stated | Unknown
ServiceRequest.code.​coding:LabOrder | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD | Not Stated | Unknown
ServiceRequest.reasonCode | Base | preferred |  | Not Stated | Unknown

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ServiceRequest | C | 0..* | ServiceRequest | ServiceRequest Profile Constraints: prr-1
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Identifiers assigned to this order
instantiatesCanonical | Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(ServiceRequest Profile for Results Reporting | MedicationRequest Profile) | What request fulfills
replaces | Σ | 0..* | Reference(ServiceRequest Profile for Results Reporting) | What request replaces
requisition | S Σ | 0..1 | Identifier | Composite Request ID
status | ?!S Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order.
intent | ?!S Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request.
category | S Σ | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (preferred)
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed
code | Σ | 0..1 | CodeableConcept | What is being requested/ordered Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LabOrder | Σ | 0..* | Coding | Laboratory procedure code Binding: https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD (preferred): 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.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:@default | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
orderDetail | Σ C | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.
quantity[x] | Σ | 0..1 |  | Service amount
quantityQuantity |  |  | Quantity |
quantityRatio |  |  | Ratio |
quantityRange |  |  | Range |
subject | S Σ | 1..1 | Reference(Patient Profile | Location Profile | Device Profile (Implantable)) | Individual or Entity the service is ordered for
encounter | Σ | 0..1 | Reference(Encounter Profile) | Encounter in which the request was created
occurrence[x] | Σ | 0..1 |  | When service should occur
occurrenceDateTime |  |  | dateTime |
occurrencePeriod |  |  | Period |
occurrenceTiming |  |  | Timing |
asNeeded[x] | Σ | 0..1 |  | Preconditions for service Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.
asNeededBoolean |  |  | boolean |
asNeededCodeableConcept |  |  | CodeableConcept |
authoredOn | S Σ | 0..1 | dateTime | Date request signed
requester | S Σ | 1..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Who/what is requesting service
performerType | Σ | 0..1 | CodeableConcept | Performer role Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
performer | S Σ | 0..* | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Requested performer
locationCode | Σ | 0..* | CodeableConcept | Requested location Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.
locationReference | Σ | 0..* | Reference(Location Profile) | Requested location
reasonCode | Σ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: ProcedureReasonCodes (preferred)
reasonReference | Σ | 0..* | Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile | DocumentReference Profile for metadata about the document) | Explanation/Justification for service or service
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage
supportingInfo |  | 0..* | Reference(Resource) | Additional clinical information
specimen | Σ | 0..* | Reference(Specimen) | Procedure Samples
bodySite | Σ | 0..* | CodeableConcept | Location on Body Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
note |  | 0..* | Annotation | Comments
patientInstruction | Σ | 0..1 | string | Patient or consumer-oriented instructions
relevantHistory |  | 0..* | Reference(Provenance) | Request provenance
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ServiceRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std.
ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std.
ServiceRequest.category | Base | preferred | Service Request Category Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
ServiceRequest.code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
ServiceRequest.code.​coding:LabOrder | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD | Not Stated | Unknown
ServiceRequest.orderDetail | Base | example | Service Request Order Details Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.performerType | Base | example | Participant Roles | 📍4.0.1 | FHIR Std.
ServiceRequest.locationCode | Base | example | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v6.5
ServiceRequest.reasonCode | Base | preferred | Procedure Reason Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | ServiceRequest | 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 | `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()`
dom-4 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present | `orderDetail.empty() or code.exists()`

This structure is derived from ServiceRequest

Summary

Mandatory: 1 element(4 nested mandatory elements)
Must-Support: 10 elements

Structures

This structure refers to these other structures:

- ServiceRequest Profile for Results Reporting (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-servicerequest)
- MedicationRequest Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationrequest)
- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Location Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-location)
- Device Profile (Implantable) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device)
- Encounter Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter)
- Practitioner Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner)
- PractitionerRole Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole)
- Organization Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization)
- Condition Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-condition)
- Observation Profile (General Use) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation)
- DiagnosticReport Profile for Laboratory Results Reporting (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreport)
- Diagnostic Report for Report and Note Exchange Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreportnote)
- DocumentReference Profile for metadata about the document (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-documentreference)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of ServiceRequest.code.coding

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ServiceRequest | C | 0..* | ServiceRequest | ServiceRequest Profile Constraints: prr-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Identifiers assigned to this order
basedOn | Σ | 0..* | Reference(ServiceRequest Profile for Results Reporting | MedicationRequest Profile) | What request fulfills
replaces | Σ | 0..* | Reference(ServiceRequest Profile for Results Reporting) | What request replaces
requisition | S Σ | 0..1 | Identifier | Composite Request ID
status | ?!S Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order.
intent | ?!S Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request.
category | S Σ | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (preferred)
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed
code | Σ | 0..1 | CodeableConcept | What is being requested/ordered Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred.
Slices for coding | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LabOrder | Σ | 0..* | Coding | Laboratory procedure code Binding: https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD (preferred): 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.
system | Σ | 1..1 | uri | Identity of the terminology system
code | Σ | 1..1 | code | Symbol in syntax defined by the system
coding:@default | Σ | 0..* | Coding | Code defined by a terminology system
system | Σ | 1..1 | uri | Identity of the terminology system
code | Σ | 1..1 | code | Symbol in syntax defined by the system
subject | S Σ | 1..1 | Reference(Patient Profile | Location Profile | Device Profile (Implantable)) | Individual or Entity the service is ordered for
encounter | Σ | 0..1 | Reference(Encounter Profile) | Encounter in which the request was created
authoredOn | S Σ | 0..1 | dateTime | Date request signed
requester | S Σ | 1..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Who/what is requesting service
performer | S Σ | 0..* | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Requested performer
locationReference | Σ | 0..* | Reference(Location Profile) | Requested location
reasonCode | Σ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: ProcedureReasonCodes (preferred)
reasonReference | Σ | 0..* | Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile | DocumentReference Profile for metadata about the document) | Explanation/Justification for service or service
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std.
ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std.
ServiceRequest.category | Base | preferred | Service Request Category Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
ServiceRequest.code.​coding:LabOrder | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD | Not Stated | Unknown
ServiceRequest.reasonCode | Base | preferred | Procedure Reason Codes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | ServiceRequest | 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 | `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()`
dom-4 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present | `orderDetail.empty() or code.exists()`

Differential View

This structure is derived from ServiceRequest

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ServiceRequest |  | 0..* | ServiceRequest | ServiceRequest Profile
identifier | S | 0..* | Identifier | Identifiers assigned to this order
basedOn |  | 0..* | Reference(ServiceRequest Profile for Results Reporting | MedicationRequest Profile) | What request fulfills
replaces |  | 0..* | Reference(ServiceRequest Profile for Results Reporting) | What request replaces
requisition | S | 0..1 | Identifier | Composite Request ID
status | S | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown
intent | S | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
category | S | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (preferred)
code |  | 0..1 | CodeableConcept | What is being requested/ordered
Slices for coding | S | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LabOrder |  | 0..* | Coding | Laboratory procedure code Binding: https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD (preferred): 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.
system |  | 1..1 | uri | Identity of the terminology system
code |  | 1..1 | code | Symbol in syntax defined by the system
coding:@default |  | 0..* | Coding | Code defined by a terminology system
system |  | 1..1 | uri | Identity of the terminology system
code |  | 1..1 | code | Symbol in syntax defined by the system
subject | S | 1..1 | Reference(Patient Profile | Location Profile | Device Profile (Implantable)) | Individual or Entity the service is ordered for
encounter |  | 0..1 | Reference(Encounter Profile) | Encounter in which the request was created
authoredOn | S | 0..1 | dateTime | Date request signed
requester | S | 1..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Who/what is requesting service
performer | S | 0..* | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Requested performer
locationReference |  | 0..* | Reference(Location Profile) | Requested location
reasonCode |  | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: ProcedureReasonCodes (preferred)
reasonReference |  | 0..* | Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile | DocumentReference Profile for metadata about the document) | Explanation/Justification for service or service
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
ServiceRequest.category | Base | preferred |  | Not Stated | Unknown
ServiceRequest.code.​coding:LabOrder | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD | Not Stated | Unknown
ServiceRequest.reasonCode | Base | preferred |  | Not Stated | Unknown

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ServiceRequest | C | 0..* | ServiceRequest | ServiceRequest Profile Constraints: prr-1
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Identifiers assigned to this order
instantiatesCanonical | Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(ServiceRequest Profile for Results Reporting | MedicationRequest Profile) | What request fulfills
replaces | Σ | 0..* | Reference(ServiceRequest Profile for Results Reporting) | What request replaces
requisition | S Σ | 0..1 | Identifier | Composite Request ID
status | ?!S Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order.
intent | ?!S Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request.
category | S Σ | 0..* | CodeableConcept | Classification of service Binding: ServiceRequestCategoryCodes (preferred)
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
doNotPerform | ?!Σ | 0..1 | boolean | True if service/procedure should not be performed
code | Σ | 0..1 | CodeableConcept | What is being requested/ordered Binding: ProcedureCodes(SNOMEDCT) (example): Codes for tests or services that can be carried out by a designated individual, organization or healthcare service. For laboratory, LOINC is preferred.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LabOrder | Σ | 0..* | Coding | Laboratory procedure code Binding: https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD (preferred): 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.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:@default | Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 1..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
orderDetail | Σ C | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context.
quantity[x] | Σ | 0..1 |  | Service amount
quantityQuantity |  |  | Quantity |
quantityRatio |  |  | Ratio |
quantityRange |  |  | Range |
subject | S Σ | 1..1 | Reference(Patient Profile | Location Profile | Device Profile (Implantable)) | Individual or Entity the service is ordered for
encounter | Σ | 0..1 | Reference(Encounter Profile) | Encounter in which the request was created
occurrence[x] | Σ | 0..1 |  | When service should occur
occurrenceDateTime |  |  | dateTime |
occurrencePeriod |  |  | Period |
occurrenceTiming |  |  | Timing |
asNeeded[x] | Σ | 0..1 |  | Preconditions for service Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.
asNeededBoolean |  |  | boolean |
asNeededCodeableConcept |  |  | CodeableConcept |
authoredOn | S Σ | 0..1 | dateTime | Date request signed
requester | S Σ | 1..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Who/what is requesting service
performerType | Σ | 0..1 | CodeableConcept | Performer role Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc.
performer | S Σ | 0..* | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) | Requested performer
locationCode | Σ | 0..* | CodeableConcept | Requested location Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered.
locationReference | Σ | 0..* | Reference(Location Profile) | Requested location
reasonCode | Σ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: ProcedureReasonCodes (preferred)
reasonReference | Σ | 0..* | Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile | DocumentReference Profile for metadata about the document) | Explanation/Justification for service or service
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage
supportingInfo |  | 0..* | Reference(Resource) | Additional clinical information
specimen | Σ | 0..* | Reference(Specimen) | Procedure Samples
bodySite | Σ | 0..* | CodeableConcept | Location on Body Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
note |  | 0..* | Annotation | Comments
patientInstruction | Σ | 0..1 | string | Patient or consumer-oriented instructions
relevantHistory |  | 0..* | Reference(Provenance) | Request provenance
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ServiceRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std.
ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std.
ServiceRequest.category | Base | preferred | Service Request Category Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
ServiceRequest.code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
ServiceRequest.code.​coding:LabOrder | Base | preferred | https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD | Not Stated | Unknown
ServiceRequest.orderDetail | Base | example | Service Request Order Details Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.performerType | Base | example | Participant Roles | 📍4.0.1 | FHIR Std.
ServiceRequest.locationCode | Base | example | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v6.5
ServiceRequest.reasonCode | Base | preferred | Procedure Reason Codes | 📍4.0.1 | FHIR Std.
ServiceRequest.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | ServiceRequest | 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 | `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()`
dom-4 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present | `orderDetail.empty() or code.exists()`

This structure is derived from ServiceRequest

Summary

Mandatory: 1 element(4 nested mandatory elements)
Must-Support: 10 elements

Structures

This structure refers to these other structures:

- ServiceRequest Profile for Results Reporting (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-servicerequest)
- MedicationRequest Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationrequest)
- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Location Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-location)
- Device Profile (Implantable) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-device)
- Encounter Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter)
- Practitioner Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner)
- PractitionerRole Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole)
- Organization Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization)
- Condition Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-condition)
- Observation Profile (General Use) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation)
- DiagnosticReport Profile for Laboratory Results Reporting (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreport)
- Diagnostic Report for Report and Note Exchange Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-diagnosticreportnote)
- DocumentReference Profile for metadata about the document (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-documentreference)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of ServiceRequest.code.coding

Other representations of profile: CSV, Excel, Schematron

### Notes:

## Category

The ServiceRequest.category element conveys a code that classifies the service for searching, sorting and display purposes.

It may use Canada Health Infoway defined InterventionCodeSubsetCare value set to represent the care procedures performed by a Provider.

## Code

The ServiceRequest.code element identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.

If the service identified by the ServiceRequest.category is laboratory procedure the pan-Canadian LOINC Observation Code Database (pCLOCD) is preferred. pCLOCD is the Canadian version of the LOINC(tm) database.

## Reason Code

The ServiceRequest.reasonCode element in this profile uses the same ProcedureReasonCodes value set as defined by the FHIR standard.

The binding is chagned from Example to Preferred. Implementers are encouraged to draw codes from the specified code system for interoperability purposes.