Technical Specifications > PCCG Message Workflows

The Ontario Provincial Care Coordination Gateway acts as the hub in a hub-and-spoke eReferral / eConsult model with messages flowing between vendor RMS systems and the PCCG.

The diagram and corresponding table below illustrate one message flow between Referral Management Systems with the PCCG as an intermediary in an electronic referral forwarding scenario.

fhir-pccg-routing-flow

NOTE TO READER: Provider communication message flows (send-communication-from-provider / send-communication-from-requester) are currently being reviewed with implementation partners and may change
Business Event Source System Target System Details
1a. RMS Source sends ServiceRequest (SR1) to PCCG RMS Source PCCG
  • MessageHeader.event: add-service-request
  • ServiceRequest.status: active
1b. PCCG sends ServiceRequest (SR1) to RMS-T1 PCCG RMS Target 1
  • MessageHeader.event: add-service-request
  • ServiceRequest.status: active
1c. RMS-T1 sends acknowledgement message to PCCG to track status RMS Target 1 PCCG
  • MessageHeader.event: add-process-request
  • Task.status: requested
  • Task.code: process-request
1d. PCCG sends acknowledgement message to RMS-S to track status PCCG RMS Source
  • MessageHeader.event: add-process-request
  • Task.status: requested
  • Task.code: process-request
RMS Target 1 routes/forwards referral to RMS Target 2
2a. RMS-T1 sends new ServiceRequest (SR2) to PCCG RMS Target 1 PCCG
  • MessageHeader.event: add-service-request
  • ServiceRequest.status: active

NOTE: Official identifier SHALL be the same for both SR1 and SR2
SR2.replaces = SR1
SR2.identifier = SR1.identifier
SR2.requsition = null
SR2.requester = SR1.requester
SR2.basedOn = null
2a. PCCG sends new ServiceRequest (SR2) to RMS-T2 PCCG RMS Target 2
  • MessageHeader.event: add-service-request
  • ServiceRequest.status: active
2b. RMS-T1 notifies RMS-S through PCCG that SR1 was routed/forwarded RMS Target 1 PCCG
  • MessageHeader.event: notify-add-service=record
  • ServiceRequest.status: active
  • MessageHeader.focus: SR2

NOTE: Official identifier SHALL be the same for both SR1 and SR2
SR2.replaces = SR1
SR2.identifier = SR1.identifier
SR2.requsition = null
SR2.requester = SR1.requester
SR2.basedOn = null
2b.PCCG notifies RMS-S that SR1 was routed/forwarded PCCG RMS Source
  • MessageHeader.event: notify-add-service-record
  • ServiceRequest.status: active
2c.RMS-T2 sends acknowledgement message of referral acceptance to RMS-T1 and RMS-S through PCCG RMS Target 2 PCCG
  • MessageHeader.event: notify-add-process-request
  • Task.status: requested
  • Task.code: process-request
  • Task.basedOn: SR2
2c.PCCG sends acknowledgement message to RMS-T1 PCCG RMS Target 1
  • MessageHeader.event: notify-add-process-request
  • Task.status: requested
  • Task.code: process-request
  • Task.basedOn: SR2
2d.RMS-T1 notifies RMS-S through PCCG that referral was updated RMS Target 1 PCCG
  • MessageHeader.event: notify-update-service-record
  • Task.status: requested
  • Task.code: process-request
  • Task.basedOn: SR2
2d.PCCG transmits message to notify RMS-S of referral update PCCG RMS Source
  • MessageHeader.event: notify-update-service-record
  • Task.status: requested
  • Task.code: process-request
  • Task.basedOn: SR2
3a.RMS T-2 requests further information for the patient, communication sent to RMS T1 RMS Target 2 PCCG
  • MessageHeader.event: send-communication-from-provider
3a.PCCG sends request for communication to RMS T1 PCCG RMS Target 1
  • MessageHeader.event: send-communication-from-provider
RMS-T1 assesses request and sends to RMS-S (Option 1) or answers (Option 2)
3b. Option 1 RMS-T1 sends a new request to RMS-S through PCCG RMS Target 1 PCCG
  • MessageHeader.event: send-communication-from-provider
3b. Option 1 PCCG sends the new request to RMS-S PCCG RMS Source
  • MessageHeader.event: send-communication-from-provider
3b. Option 1 RMS Source sends answer of new request to RMS-T1 RMS Source PCCG
  • MessageHeader.event: send-communication-from-requester
3b. Option 1 PCCG sends answer of new request to RMS-T1 PCCG RMS Target 1
  • MessageHeader.event: send-communication-from-requester
3b. Option 1 RMS-T1 sends answer of new request to RMS-T2 RMS Target 1 PCCG
  • MessageHeader.event: send-communication-from-requester
3b. Option 1 PCCG sends answer of new request to RMS-T2 through PPCCG PCCG RMS Target 2
  • MessageHeader.event: send-communication-from-requester
3b. Option 2 RMS-T1 sends answer to RMS-T2 through PCCG RMS Target 1 PCCG
  • MessageHeader.event: send-communication-from-requester
4a. RMS-T2 sends notification that referral has been accepted to RMS-T1 and RMS-S through PCCG RMS Target 2 PCCG
  • MessageHeader.event: notify-update-process-request
  • Task.status: accepted
  • Task.code: process-request
4a. PCCG sends notification to RMS-T1 that referral has been accepted PCCG RMS Target 1
  • MessageHeader.event: notify-update-process-request
  • Task.status: accepted
  • Task.code: process-request
  • Task.basedOn: SR2
4b.RMS-T1 notifies RMS-S through PCCG that referral has been accepted RMS Target 1 PCCG
  • MessageHeader.event: notify-update-service-record
  • Task.status: accepted
  • Task.code: process-request
  • Task.basedOn: SR2
  • MessageHeader.Focus: Task 1
4b.PCCG sends notification to RMS-S that referral has been accepted PCCG RMS Source
  • MessageHeader.event: notify-update-service-record
  • Task.status: accepted
  • Task.code: process-request
  • Task.basedOn: SR2

The diagram and corresponding table below illustrate one message flow between Referral Management Systems with the PCCG as an intermediary in an electronic referral chaining scenario.

fhir-pccg-splitting-flow

NOTE TO READER: Provider communication message flows (send-communication-from-provider / send-communication-from-requester) are currently being reviewed with implementation partners and may change
Business Event Source System Target System Details
1a. RMS Source sends ServiceRequest (SR1) to PCCG RMS Source PCCG
  • MessageHeader.event: add-service-request
  • ServiceRequest.status: active
1b. PCCG sends ServiceRequest (SR1) to RMS-T1 PCCG RMS Target 1
  • MessageHeader.event: add-service-request
  • ServiceRequest.status: active
2a. RMS-T1 sends acknowledgement message to PCCG to track status and indicate receipt of SR1 RMS Target 1 PCCG
  • MessageHeader.event: notify-add-process-request
  • Task.status: requested
  • Task.code: process-request
2b. PCCG sends acknowledgement message to RMS-S to track status and to indicate receipt of SR1 PCCG RMS Source
  • MessageHeader.event: notify-add-process-request
  • Task.status: requested
  • Task.code: process-request
3a. RMS-T1 notifies RMS-S through PCCG that SR1 was accepted RMS Target 1 PCCG
  • MessageHeader.event: notify-update-process-request
  • Task.status: accepted
  • Task.code: process-request
3b. PCCG notifies RMS-S that SR1 was accepted PCCG RMS Source
  • MessageHeader.event: notify-update-process-request
  • Task.status: accepted
  • Task.code: process-request
4a. Booking clerk schedules appointment. RMS-T1 sends PCCG notification RMS Target 1 PCCG
  • MessageHeader.event: notify-add-appointment
4b. PCCG sends RMS-S notification of appointment PCCG RMS Source
  • MessageHeader.event: notify-add-appointment
5a. Specialist uploads procedure report as an attachment to repository and sends to RMS-S through PCCG RMS Target 1 PCCG
  • MessageHeader.event: send-communication-from-provider
5b. PCCG transmits message to notify RMS-S that report is available PCCG RMS Source
  • MessageHeader.event: send-communication-from-provider
After the appointment, Specialist chains referral by adding a new ServiceRequest (SR2) with a new destination.
6a. RMS T1 sends new ServiceRequest (SR2) to PCCG RMS Target 1 PCCG
  • MessageHeader.event: notify-add-service-request
  • ServiceRequest.status: active

NOTE: Official identifier SHALL be different for SR1 and SR2
SR2.replaces = null
SR2.identifier = new
SR2.requsition = SR1.identifier
SR2.requester = SR1.performer
SR2.basedOn = SR1
6a. PCCG sends new ServiceRequest (SR2) to RMS-T2 PCCG RMS Target 2
  • MessageHeader.event: notify-add-service-request
  • ServiceRequest.status: active
6b. RMS-T1 sends notification of new ServiceRequest (SR2) to PCCG RMS Target 1 PCCG
  • MessageHeader.event: notify-add-service=record
  • ServiceRequest.status: active
  • MessageHeader.focus: SR2
6b.PCCG sends notification of new ServiceRequest (SR2) to RMS-S PCCG RMS Source
  • MessageHeader.event: notify-add-service-record
  • ServiceRequest.status: active
7a.RMS-T2 sends referral acknowledgement message to RMS-T1 RMS Target 2 PCCG
  • MessageHeader.event: notify-add-process-request
  • Task.status: requested
  • Task.code: process-request
7a. PCCG sends referral acknowledgement message to RMS-T1 PCCG RMS Target 1
  • MessageHeader.event: notify-add-process-request
  • Task.status: requested
  • Task.code: process-request
  • <
7b.RMS-T1 sends referral acknowledgement message to PCCG RMS Target 1 PCCG
  • MessageHeader.event: notify-update-service-record
  • Task.status: requested
  • Task.code: process-request
  • MessageHeader.Focus = Task
7b. PCCG sends referral acknowledgement message to RMS-S PCCG RMS Target 1
  • MessageHeader.event: notify-update-service-record
  • Task.status: requested
  • Task.code: process-request
8a.RMS T-2 requests further information for the patient, communication sent to RMS T1 RMS Target 2 PCCG
  • MessageHeader.event: send-communication-from-provider
8a.PCCG sends request for communication to RMS T1 PCCG RMS Target 1
  • MessageHeader.event: send-communication-from-provider
RMS-T1 assesses request and sends to RMS-S (Option 1) or answers (Option 2)
8b. Option 1 RMS-T1 sends a new request to RMS-S through PCCG RMS Target 1 PCCG
  • MessageHeader.event: send-communication-from-provider
8b. Option 1 PCCG sends the new request to RMS-S PCCG RMS Source
  • MessageHeader.event: send-communication-from-provider
8b. Option 1 RMS Source sends answer of new request to RMS-T1 RMS Source PCCG
  • MessageHeader.event: send-communication-from-requester
8b. Option 1 PCCG sends answer of new request to RMS-T1 PCCG RMS Target 1
  • MessageHeader.event: send-communication-from-requester
8b. Option 1 RMS-T1 sends answer of new request to RMS-T2 RMS Target 1 PCCG
  • MessageHeader.event: send-communication-from-requester
8b. Option 1 PCCG sends answer of new request to RMS-T2 through PPCCG PCCG RMS Target 2
  • MessageHeader.event: send-communication-from-requester
8b. Option 2 RMS-T1 sends answer to RMS-T2 through PCCG RMS Target 1 PCCG
  • MessageHeader.event: send-communication-from-requester
9a. RMS-T2 sends notification that referral has been accepted to RMS-T1 and RMS-S through PCCG RMS Target 2 PCCG
  • MessageHeader.event: notify-update-process-request
  • Task.status: accepted
  • Task.code: process-request
9a. PCCG sends notification to RMS-T1 that referral has been accepted PCCG RMS Target 1
  • MessageHeader.event: notify-update-process-request
  • Task.status: accepted
  • Task.code: process-request
9b.RMS-T1 sends referral accepted notification to PCCG RMS Target 1 PCCG
  • MessageHeader.event: notify-update-service-record
  • Task.status: accepted
  • Task.code: process-request
  • <
  • MessageHeader.Focus: Task
  • li>Task.basedOn: SR2
9b.PCCG sends notification to RMS-S that referral has been accepted PCCG RMS Source
  • MessageHeader.event: notify-update-service-record
  • Task.status: accepted
  • Task.code: process-request