H: Requester HCP revokes service request
The following sequence diagram shows the messaging flow when the Requester HCP (Referring Provider) revokes the service request.
See Participants for more information.
Business Rules
Only Open Referrals May Be Cancelled: A referral with a closed status in the Central RMS (that is, equivalent to ServiceRequest.status "completed" or "revoked") cannot be cancelled by the referring provider. (If an attempt is made to cancel a referral with such a closed status, it will be rejected as invalid.) Only a referral with an open status in the Central RMS (equivalent to ServiceRequest.status "active") can be cancelled.
Non-Updateable Elements: The information on a previously submitted referral cannot be changed as part of a cancellation action. This includes the patient, the referring provider, the referral reason, or any other previously submitted information.
Element and Value
Refer to Primary Flow for DocumentReference, HealthcareService, Location, Patient, Practitioner, and PractitionerRole elements.
Step 1: Requester HCP revokes service request
| Element | Value |
|---|---|
| Bundle.meta.extension.submissionMetadata | metadata for: Submitting Site; EMR Vendor Name; EMR Product Name; Submission Implementation Guide (IG) Type; Submission Implementation Guide (IG) Version; Service Delivery Site; Authoring Provider ID |
| Bundle.id | UUID |
| Bundle.meta.lastUpdated | date/time |
| Bundle.meta.security | "R" |
| Bundle.identifier.value | UUID |
| Bundle.identifier.system | "urn:ietf:rfc:3986" |
| Bundle.type | "message" |
| Bundle.timestamp | current date/time |
| Bundle.entry:MessageHeader | MessageHeader |
| Bundle.entry:Focus | ServiceRequest |
| MessageHeader.id | UUID |
| MessageHeader.meta.lastUpdated | date/time |
| MessageHeader.eventCoding | "revoke-service-request" |
| MessageHeader.destination.endpoint | CAT RMS endpoint |
| MessageHeader.author.reference | Requester HCP UUID |
| MessageHeader.author.type | "PractitionerRole" |
| MessageHeader.source.endpoint | Requester HCP endpoint |
| MessageHeader.focus | ServiceRequest |
| ServiceRequest.id | UUID |
| ServiceRequest.meta.lastUpdated | date/time |
| ServiceRequest.identifier.value | provincial identifier |
| ServiceRequest.identifier.system | "https://fhir.alberta.ca/NamingSystem/ca-ab-eref-id" |
| ServiceRequest.identifier.use | "official" |
| ServiceRequest.status | "revoked" |
| ServiceRequest.intent | "proposal" |
| ServiceRequest.category | as previously valued |
| ServiceRequest.priority | as previously valued |
| ServiceRequest.priority.extension.subPriority | as previously valued |
| ServiceRequest.code | as previously valued |
| ServiceRequest.subject.identifier | Patient identifier |
| ServiceRequest.authoredOn | as previously valued |
| ServiceRequest.requester.reference | Requester HCP UUID |
| ServiceRequest.requester.type | "PractitionerRole" |
| ServiceRequest.performer.identifier.value | 1) CAT identifier (HealthcareService) |
| ServiceRequest.performer.identifier.system | "https://fhir.alberta.ca/NamingSystem/ca-ab-eref-healthcare-service-id" |
| ServiceRequest.performer.extension.role | "central-intake" |
| ServiceRequest.performer.reference | 2) Performer HCP UUID (if previously assigned by CAT) |
| ServiceRequest.performer.type | "PractitionerRole" or "HealthcareService" |
| ServiceRequest.performer.extension.role | "receiving-provider" or "service-location" |
| ServiceRequest.reasonCode.text | as previously valued |
| ServiceRequest.supportingInfo | as previously valued |
| ServiceRequest.note.text | as appropriate |
| ServiceRequest.extension.referralTimestamp.extension.timestamp | as previously valued |
| ServiceRequest.extension.referralTimestamp.extension.timestampType | as previously valued |
| ServiceRequest.extension.patientPreference.extension.preferenceType | "preferred" |
| ServiceRequest.extension.patientPreference.extension.preferenceValueType | as previously valued |
| ServiceRequest.extension.patientPreference.extension.preferenceValue | as previously valued |
| ServiceRequest.extension.patientPreference.extension.rationale | as previously valued |
| ServiceRequest.extension.RequestStatusReason | appropriate revocation reason |
Step 2.1: CAT notifies Requester HCP that service request was cancelled
See Step 10 in Primary Flow message flow with changes as below:
| Element | Value |
|---|---|
| MessageHeader.destination.endpoint | Requester HCP EMR endpoint |
| MessageHeader.source.endpoint | CAT RMS endpoint |
| Task.status | "cancelled" |
| Task.businessStatus | "cancelled-by-requester" |
| Task.owner.identifier.value | CAT identifier (HealthcareService) |
| Task.owner.identifier.system | "https://fhir.alberta.ca/NamingSystem/ca-ab-eref-healthcare-service-id" |
Step 3: CAT sends service request cancellation to Performer HCP
Same as Step 1 above with changes as below:
| Element | Value |
|---|---|
| MessageHeader.eventCoding | "notify-update-service-request" |
| MessageHeader.destination.endpoint | Performer HCP EMR endpoint |
| MessageHeader.source.endpoint | CAT RMS endpoint |
| MessageHeader.reason | "service-request-status-updated" |
| ServiceRequest.extension.referralTimestamp.extension.timestampType | as previously valued + "referral-cancelled" |