Canadian Baseline
1.2.0 - CI Build Canada flag

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.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest ServiceRequest Profile
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
prr-1: orderDetail SHALL only be present if code is present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier SΣ 0..* Identifier Identifiers assigned to this order
ele-1: All FHIR elements must have a @value or children
... replaces Σ 0..* Reference(ServiceRequest Profile for Results Reporting) What request replaces
ele-1: All FHIR elements must have a @value or children
... requisition SΣ 0..1 Identifier Composite Request ID
ele-1: All FHIR elements must have a @value or children
... status ?!SΣ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of a service order.


ele-1: All FHIR elements must have a @value or children
... 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.


ele-1: All FHIR elements must have a @value or children
... category SΣ 0..* CodeableConcept Classification of service
Binding: ServiceRequestCategoryCodes (preferred)
ele-1: All FHIR elements must have a @value or children
... doNotPerform ?!Σ 0..1 boolean True if service/procedure should not be performed
ele-1: All FHIR elements must have a @value or children
... 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.


ele-1: All FHIR elements must have a @value or children
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
ele-1: All FHIR elements must have a @value or children
..... 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.


ele-1: All FHIR elements must have a @value or children
...... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
...... code Σ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
..... coding:@default Σ 0..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
...... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
...... code Σ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
... subject SΣ 1..1 Reference(Patient Profile | Location Profile | Device Profile (Implantable)) Individual or Entity the service is ordered for
ele-1: All FHIR elements must have a @value or children
... encounter Σ 0..1 Reference(Encounter Profile) Encounter in which the request was created
ele-1: All FHIR elements must have a @value or children
... authoredOn SΣ 0..1 dateTime Date request signed
ele-1: All FHIR elements must have a @value or children
... requester SΣ 1..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) Who/what is requesting service
ele-1: All FHIR elements must have a @value or children
... performer SΣ 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable)) Requested performer
ele-1: All FHIR elements must have a @value or children
... locationReference Σ 0..* Reference(Location Profile) Requested location
ele-1: All FHIR elements must have a @value or children
... reasonCode Σ 0..* CodeableConcept Explanation/Justification for procedure or service
Binding: ProcedureReasonCodes (preferred)
ele-1: All FHIR elements must have a @value or children
... 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
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
ServiceRequest.intentrequiredRequestIntent
http://hl7.org/fhir/ValueSet/request-intent|4.0.1
from the FHIR Standard
ServiceRequest.categorypreferredServiceRequestCategoryCodes
http://hl7.org/fhir/ValueSet/servicerequest-category
from the FHIR Standard
ServiceRequest.codeexampleProcedureCodes(SNOMEDCT)
http://hl7.org/fhir/ValueSet/procedure-code
from the FHIR Standard
ServiceRequest.code.coding:LabOrderpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/pCLOCD
https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD
ServiceRequest.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorServiceRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorServiceRequestIf 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-4errorServiceRequestIf 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-5errorServiceRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceServiceRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
prr-1errorServiceRequestorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

 

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.