Canadian Baseline
1.1.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.1.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.1.0
Draft as of 2020-10-06 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.

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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 Results Reporting | DocumentReference Profile for metadata about the document) Explanation/Justification for service or service

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
ServiceRequest.categorypreferredServiceRequestCategoryCodes
ServiceRequest.code.coding:LabOrderpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/pCLOCD
https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD
ServiceRequest.reasonCodepreferredProcedureReasonCodes
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest ServiceRequest Profile
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
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier Identifiers assigned to this order
... 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 and a valueset using LOINC Order codes is available here.

.... 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 Results Reporting | DocumentReference Profile for metadata about the document) Explanation/Justification for service or service

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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest ServiceRequest Profile
prr-1: orderDetail SHALL only be present if code is present
... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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 and a valueset using LOINC Order codes is available here.

.... 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 Results Reporting | 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
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.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
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.orderDetailexampleServiceRequestOrderDetailsCodes
http://hl7.org/fhir/ValueSet/servicerequest-orderdetail
from the FHIR Standard
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
ServiceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
ServiceRequest.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
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()

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:

Slices

This structure defines the following Slices:

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

Differential View

This structure is derived from ServiceRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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 Results Reporting | DocumentReference Profile for metadata about the document) Explanation/Justification for service or service

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
ServiceRequest.categorypreferredServiceRequestCategoryCodes
ServiceRequest.code.coding:LabOrderpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/pCLOCD
https://fhir.infoway-inforoute.ca/ValueSet/pCLOCD
ServiceRequest.reasonCodepreferredProcedureReasonCodes

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest ServiceRequest Profile
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
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier Identifiers assigned to this order
... 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 and a valueset using LOINC Order codes is available here.

.... 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 Results Reporting | DocumentReference Profile for metadata about the document) Explanation/Justification for service or service

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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ServiceRequest C 0..* ServiceRequest ServiceRequest Profile
prr-1: orderDetail SHALL only be present if code is present
... 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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 and a valueset using LOINC Order codes is available here.

.... 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 Results Reporting | 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ServiceRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
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.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
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.orderDetailexampleServiceRequestOrderDetailsCodes
http://hl7.org/fhir/ValueSet/servicerequest-orderdetail
from the FHIR Standard
ServiceRequest.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
ServiceRequest.performerTypeexampleParticipantRoles
http://hl7.org/fhir/ValueSet/participant-role
from the FHIR Standard
ServiceRequest.locationCodeexampleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
ServiceRequest.reasonCodepreferredProcedureReasonCodes
http://hl7.org/fhir/ValueSet/procedure-reason
from the FHIR Standard
ServiceRequest.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
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()

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:

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.