Profiles & Interactions > Structure Definition: ServiceRequest Profile

Profile: ServiceRequest

Canonical URL:http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-servicerequest

Simplifier project page: MHA ServiceRequest Profile

Derived from: ServiceRequest (R4)

Formal Views of Profile Content

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

Differential View

idΣ0..1id
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
referralTypeS C0..1Extension(CodeableConcept)
referralReceivedDateS C0..1Extension(date)
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uriBinding
valueS Σ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnΣ C0..*Reference(CarePlan | MedicationRequest | ServiceRequest)
replacesΣ C0..*Reference(ServiceRequest)
requisitionΣ0..1Identifier
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBinding
categoryΣ0..*CodeableConceptBinding
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
codeΣ0..1CodeableConcept
orderDetailΣ C0..*CodeableConcept
quantityQuantityQuantity
quantityRangeRange
quantityRatioRatio
id0..1string
extensionC0..*Extension
referenceS Σ C1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterΣ C0..1Reference(Encounter)
id0..1string
extensionC0..*Extension
startS Σ C0..1dateTime
id0..1string
dischargeReasonS C1..1Extension(Coding)
value0..1System.DateTime
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnΣ0..1dateTime
id0..1string
referralSourceTypeS C0..1Extension(CodeableConcept)
referenceΣ C0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
performerΣ C0..*Reference(CareTeam | Device | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
locationCodeΣ0..*CodeableConcept
locationReferenceΣ C0..*Reference(Location)
reasonCodeΣ0..*CodeableConcept
reasonReferenceΣ C0..*Reference(Condition | DiagnosticReport | DocumentReference | Observation)
insuranceC0..*Reference(ClaimResponse | Coverage)
supportingInfoC0..*Reference(Resource)
specimenΣ C0..*Reference(Specimen)
bodySiteΣ0..*CodeableConcept
note0..*Annotation
patientInstructionΣ0..1string
relevantHistoryC0..*Reference(Provenance)

Hybrid View

idΣ0..1id
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
referralTypeS C0..1Extension(CodeableConcept)
referralReceivedDateS C0..1Extension(date)
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uriBinding
valueS Σ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnΣ C0..*Reference(CarePlan | MedicationRequest | ServiceRequest)
replacesΣ C0..*Reference(ServiceRequest)
requisitionΣ0..1Identifier
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBinding
categoryΣ0..*CodeableConceptBinding
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
codeΣ0..1CodeableConcept
orderDetailΣ C0..*CodeableConcept
quantityQuantityQuantity
quantityRangeRange
quantityRatioRatio
id0..1string
extensionC0..*Extension
referenceS Σ C1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterΣ C0..1Reference(Encounter)
id0..1string
extensionC0..*Extension
startS Σ C0..1dateTime
id0..1string
dischargeReasonS C1..1Extension(Coding)
value0..1System.DateTime
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnΣ0..1dateTime
id0..1string
referralSourceTypeS C0..1Extension(CodeableConcept)
referenceΣ C0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
performerΣ C0..*Reference(CareTeam | Device | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
locationCodeΣ0..*CodeableConcept
locationReferenceΣ C0..*Reference(Location)
reasonCodeΣ0..*CodeableConcept
reasonReferenceΣ C0..*Reference(Condition | DiagnosticReport | DocumentReference | Observation)
insuranceC0..*Reference(ClaimResponse | Coverage)
supportingInfoC0..*Reference(Resource)
specimenΣ C0..*Reference(Specimen)
bodySiteΣ0..*CodeableConcept
note0..*Annotation
patientInstructionΣ0..1string
relevantHistoryC0..*Reference(Provenance)

Snapshot View

idΣ0..1id
id0..1string
extensionC0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..1canonical(StructureDefinition)Fixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
referralTypeS C0..1Extension(CodeableConcept)
referralReceivedDateS C0..1Extension(date)
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uriBinding
valueS Σ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
instantiatesCanonicalΣ0..*canonical(ActivityDefinition | PlanDefinition)
instantiatesUriΣ0..*uri
basedOnΣ C0..*Reference(CarePlan | MedicationRequest | ServiceRequest)
replacesΣ C0..*Reference(ServiceRequest)
requisitionΣ0..1Identifier
statusS Σ ?!1..1codeBinding
intentS Σ ?!1..1codeBinding
categoryΣ0..*CodeableConceptBinding
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
codeΣ0..1CodeableConcept
orderDetailΣ C0..*CodeableConcept
quantityQuantityQuantity
quantityRangeRange
quantityRatioRatio
id0..1string
extensionC0..*Extension
referenceS Σ C1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterΣ C0..1Reference(Encounter)
id0..1string
extensionC0..*Extension
startS Σ C0..1dateTime
id0..1string
dischargeReasonS C1..1Extension(Coding)
value0..1System.DateTime
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
authoredOnΣ0..1dateTime
id0..1string
referralSourceTypeS C0..1Extension(CodeableConcept)
referenceΣ C0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
performerTypeΣ0..1CodeableConcept
performerΣ C0..*Reference(CareTeam | Device | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
locationCodeΣ0..*CodeableConcept
locationReferenceΣ C0..*Reference(Location)
reasonCodeΣ0..*CodeableConcept
reasonReferenceΣ C0..*Reference(Condition | DiagnosticReport | DocumentReference | Observation)
insuranceC0..*Reference(ClaimResponse | Coverage)
supportingInfoC0..*Reference(Resource)
specimenΣ C0..*Reference(Specimen)
bodySiteΣ0..*CodeableConcept
note0..*Annotation
patientInstructionΣ0..1string
relevantHistoryC0..*Reference(Provenance)

Table View

ServiceRequest..
ServiceRequest.meta1..
ServiceRequest.meta.profile1..1
ServiceRequest.extension:referralTypeExtension..1
ServiceRequest.extension:referralReceivedDateExtension..1
ServiceRequest.identifier1..1
ServiceRequest.identifier.system1..
ServiceRequest.identifier.value1..
ServiceRequest.status..
ServiceRequest.intent..
ServiceRequest.category..
ServiceRequest.subjectReference(Patient)..
ServiceRequest.subject.reference1..
ServiceRequest.occurrence[x]Period..
ServiceRequest.occurrence[x].start..
ServiceRequest.occurrence[x].end..
ServiceRequest.occurrence[x].end.extension1..
ServiceRequest.occurrence[x].end.extension:dischargeReasonExtension1..1
ServiceRequest.requesterReference(Organization | Patient)..
ServiceRequest.requester.extension:referralSourceTypeExtension..
ServiceRequest.requester.reference..

JSON View

{
"resourceType": "StructureDefinition",
"id": "profile-servicerequest",
"meta": {
"versionId": "2",
"lastUpdated": "2026-05-20T17:49:11.7757623+00:00"
},
"text": {
"status": "extensions",
--- We have skipped the narrative for better readability of the resource ---
},
"url": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-servicerequest",
"version": "2.0.0",
"name": "ServiceRequestProfile",
"title": "MHA ServiceRequest Profile",
"status": "active",
"date": "2022-08-05T17:24:30.5070217+00:00",
"publisher": "HL7 Canada - FHIR Implementation Work Group",
"contact": [
{
"telecom": [
{
"system": "url",
"value": "https://infocentral.infoway-inforoute.ca/en/collaboration/wg/fhir-implementations"
}
]
}
],
"description": "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",
{
"coding": [
{
"system": "urn:iso:std:iso:3166",
"code": "CA"
}
]
}
],
"purpose": "This profile will capture information related to the client referral.",
"fhirVersion": "4.0.1",
"mapping": [
{
"identity": "workflow",
"uri": "http://hl7.org/fhir/workflow",
"name": "Workflow Pattern"
},
{
"identity": "v2",
"uri": "http://hl7.org/v2",
"name": "HL7 v2 Mapping"
},
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
},
{
"identity": "w5",
"uri": "http://hl7.org/fhir/fivews",
"name": "FiveWs Pattern Mapping"
},
{
"identity": "quick",
"uri": "http://siframework.org/cqf",
"name": "Quality Improvement and Clinical Knowledge (QUICK)"
},
{
"identity": "MHA-PDS-Mapping",
"name": "MHA PDS Mapping"
}
],
"kind": "resource",
"abstract": false,
"type": "ServiceRequest",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/ServiceRequest",
"derivation": "constraint",
"element": [
{
"id": "ServiceRequest",
"path": "ServiceRequest",
"short": "ServiceRequest Profile",
"definition": "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.",
"mustSupport": true,
"mapping": [
{
"identity": "MHA-PDS-Mapping",
"map": "MHA PDS Mapping"
}
]
},
{
"id": "ServiceRequest.meta",
"path": "ServiceRequest.meta",
"min": 1,
"mustSupport": true
},
{
"id": "ServiceRequest.meta.profile",
"path": "ServiceRequest.meta.profile",
"min": 1,
"max": "1",
"fixedCanonical": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-servicerequest",
"mustSupport": true
},
{
"id": "ServiceRequest.extension:referralType",
"path": "ServiceRequest.extension",
"sliceName": "referralType",
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"https://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-ext-ReferralType"
]
}
],
"mustSupport": true
},
{
"id": "ServiceRequest.extension:referralReceivedDate",
"path": "ServiceRequest.extension",
"sliceName": "referralReceivedDate",
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-ext-ServiceRequestReceivedDate"
]
}
],
"mustSupport": true,
"isModifier": false
},
{
"id": "ServiceRequest.identifier",
"path": "ServiceRequest.identifier",
"min": 1,
"max": "1",
"mustSupport": true
},
{
"id": "ServiceRequest.identifier.system",
"path": "ServiceRequest.identifier.system",
"min": 1,
"mustSupport": true,
"binding": {
"strength": "required",
"description": "The identifier URIs for referrals",
"valueSet": "http://ontariohealth.ca/fhir/ValueSet/mha/ServiceRequest-identifier-system"
}
},
{
"id": "ServiceRequest.identifier.value",
"path": "ServiceRequest.identifier.value",
"definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.\nUniquely identifies a client referral to an organization for a specific program / service.",
"min": 1,
"mustSupport": true,
"mapping": [
{
"identity": "MHA-PDS-Mapping",
"map": "Referral ID"
}
]
},
{
"id": "ServiceRequest.status",
"path": "ServiceRequest.status",
"mustSupport": true
},
{
"id": "ServiceRequest.intent",
"path": "ServiceRequest.intent",
"mustSupport": true
},
{
"id": "ServiceRequest.category",
"path": "ServiceRequest.category",
"definition": "A code that classifies the service for searching, sorting and display purposes (e.g. Surgical Procedure).",
"binding": {
"strength": "preferred"
}
},
{
"id": "ServiceRequest.subject",
"path": "ServiceRequest.subject",
"type": [
{
"code": "Reference",
"http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-patient"
]
}
],
"mustSupport": true
},
{
"id": "ServiceRequest.subject.reference",
"path": "ServiceRequest.subject.reference",
"min": 1,
"mustSupport": true
},
{
"id": "ServiceRequest.occurrence[x]",
"path": "ServiceRequest.occurrence[x]",
"type": [
{
"code": "Period"
}
],
"mustSupport": true
},
{
"id": "ServiceRequest.occurrence[x].start",
"path": "ServiceRequest.occurrence[x].start",
"mustSupport": true
},
{
"id": "ServiceRequest.occurrence[x].end",
"path": "ServiceRequest.occurrence[x].end",
{
"key": "mha-service-request-end-key-1",
"severity": "error",
"human": "discharge reason SHALL only be present when dischage date is present",
"expression": "$this.hasValue() = $this.extension('http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-ext-DischargeReason').exists()"
}
],
"mustSupport": true
},
{
"id": "ServiceRequest.occurrence[x].end.extension",
"path": "ServiceRequest.occurrence[x].end.extension",
"min": 1
},
{
"id": "ServiceRequest.occurrence[x].end.extension:dischargeReason",
"path": "ServiceRequest.occurrence[x].end.extension",
"sliceName": "dischargeReason",
"min": 1,
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-ext-DischargeReason"
]
}
],
"mustSupport": true,
"isModifier": false
},
{
"id": "ServiceRequest.requester",
"path": "ServiceRequest.requester",
"type": [
{
"code": "Reference",
"http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-patient",
"http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-organization"
]
}
],
"mustSupport": true
},
{
"id": "ServiceRequest.requester.extension:referralSourceType",
"path": "ServiceRequest.requester.extension",
"sliceName": "referralSourceType",
"short": "Organization Referral Source",
"definition": "The type of organization that referred the client for treatment to the HSP providing the services . (PDS 2.0 - 2.2.3)",
"type": [
{
"code": "Extension",
"profile": [
"http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ext-referralSourceType"
]
}
],
"mustSupport": true,
"isModifier": false
},
{
"id": "ServiceRequest.requester.reference",
"path": "ServiceRequest.requester.reference",
"mapping": [
{
"identity": "MHA-PDS-Mapping",
"map": "Referral Source"
}
]
}
]
}
}

Usage

The ServiceRequest resource is a record of a request on behalf of a client for health care services related to mental health and addictions.

Notes

meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ontariohealth.ca/fhir/StructureDefinition/ca-on-mha-profile-servicerequest

extension(ReferralType).value.coding.code

  • SHOULD contain a code indicating whether the referral for this particular program was initiated within the same organization to which the client was referrered or was initatied by an external organization.

extension(ReferralReceivedDate).value.coding.code

  • SHOULD contain the date when the referral was received by organization for this specific program / service.

.identifier

  • SHOULD contain a unique identifier of a client referral to an organization for a specific program / service. Each client referral to the HSP should be assigned a unique Referral ID within the CMS. This Referral ID serves as a distinct identifier at the organization level. Under a single organization referral ID, multiple programs or services may be associated. All programs or services linked under the same organization referral ID contribute to a comprehensive service plan for the client distinguished by its own identifier within the HSP.

.identifier.value

  • This Referral ID serves as a distinct identifier at the organization level. Multiple programs or services may be associated under a single organization referral ID.

.status

  • SHALL contain a code from the value set to which this element is bound. The value selected best represents the status of the service request. If this value cannot be determined, this field is to be populated with the code unknown

.intent

  • SHALL contain a code from the value set to which this element is bound. The value selected best represents the intent of the service request. If this value cannot be determined, this field is to be populated with the code plan

ServiceRequest.occurrence[x].start

  • SHOULD contain the date when the referral was received by organization, the referral can be for a specic program/service, multiple programs/services or just a general referral to the organization with no particular service/program indicated

ServiceRequest.occurrence[x].end

  • SHOULD contain the date in which the client has been discharged from the organization for this service level plan. All programs/services that are linked to this organization referral must be terminated for the client to be discharged from the organization.

ServiceRequest.occurrence[x].end.extension:dischargeReason

  • SHOULD contain the discharge reason which indicates the primary reason the HSP stopped providing treatment and discharged the client

.requester

  • SHALL contain a reference URL to the agency, organization or individual (including self-referral) that referred the client for treatment to the agency providing the services.
    • For self referral, include a URL to the patient resource.
    • For referral from another organization, include a URL to the organization resource.

.requester.extension(referralSourceType)

  • SHOULD contain a code from the value set for the type of organization that referred the client for treatment to the HSP providing the services