The Cascading Orders workflow is an IBM(R) WebSphere(R) MQ Workflow process designed to illustrate the interaction of WebSphere MQ Workflow, WebSphere Interchange Server collaborations, various WebSphere Business Integration adapters and various HL7-enabled applications. The Cascading Orders workflow includes database interaction and an instance of a sample emergency room task automation process.
The following diagrams show the process models for the Cascading Orders workflow:
The Cascading Orders workflow contains the following activities:
Invokes a collaboration to send a Clinical Order MTOMG HL7 message and get results from an MTORG HL7 message collaboration.
Name | Value |
---|---|
EnteredBy.LastName | Staff |
EnteredBy.FirstName | ER |
Control from | DirectProcessItem when Task.Type = "ClinicalOrder" |
Control to | CollectClinicalOrderResult |
Data from | DirectProcessItem mappings:
|
Data to | CollectClinicalOrderResult
mappings:
|
Referenced programs | ClinicalOrder |
Referenced Program Execution Server | CWLDSVR.FMCSYS.FMCGRP |
Input data structure | OMG_O19 |
Output data structure | ORG_O20 |
Integrates results from a Clinical Order with existing task data.
Name | Value |
---|---|
Control from | Clinical Order |
Data from | DirectProcessItem mappings:
Clinical Order mappings:
CollectClinicalOrderResult mappings:
|
Data to | Sink mappings:
CollectClinicalOrderResult mappings:
|
Referenced programs | CO_ProcItem_Passthru |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
Integrates results from an RSP On call query with existing task data.
Name | Value |
---|---|
Control from | Query Response |
Data from | CollectQBPZ02Result mappings:
DirectProcessItem mappings:
Query Response mappings:
|
Data to | CollectQBPZ02Result mappings:
Sink mappings:
|
Referenced programs | CO_ProcItem_Passthru |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
Integrates results from a Patient Query with existing task data.
Name | Value |
---|---|
Control from | Query |
Data from | Query mappings:
DirectProcessItem mappings:
CollectQueryResult mappings:
|
Data to | CollectQueryResult mappings:
Sink mappings:
|
Referenced programs | CO_ProcItem_Passthru |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
Integrates results from a Schedule Resource with existing task data.
Name | Value |
---|---|
Control from | Schedule Resource |
Data from | CollectResourceResult mappings:
Schedule Resource mappings:
DirectProcessItem mappings:
|
Data to | CollectResourceResult mappings:
Sink mappings:
|
Referenced programs | CO_ProcItem_Passthru |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
Integrates results from a Schedule Service with existing task data.
Name | Value |
---|---|
Control from | Schedule Service |
Data from | CollectServiceResult mappings:
DirectProcessItem mappings:
Schedule Service mappings:
|
Data to | CollectServiceResult mappings:
Sink mappings:
|
Referenced programs | CO_ProcItem_Passthru |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
Sends incoming task to the individual task processing nodes.
Name | Value |
---|---|
Control to | Clinical Order when
Task.Type = "ClinicalOrder" No Task or Match when Task.Type = "NONE" OR Task.Type = "" Patient Info Query when Task.Type = "PatientQuery" Query Response when Task.Type = "Query" Schedule Resource when Task.Type = "ScheduleResource" Schedule Service when Task.Type = "ScheduleService" |
Data from | DirectProcessItem mappings:
Source mappings:
|
Data to | No Task or Match mappings:
DirectProcessItem mappings:
Patient Info Query mappings:
CollectServiceResult mappings:
CollectClinicalOrderResult mappings:
CollectQueryResult mappings:
CollectQBPZ02Result mappings:
CollectResourceResult mappings:
Schedule Resource mappings:
Clinical Order mappings:
Schedule Service mappings:
Query Response mappings:
|
Referenced programs | CO_ProcItem_Passthru |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
"NOP" process used for tasks that are unsupported.
Name | Value |
---|---|
ReturnCode | NA |
AckCode | NA |
Control from | DirectProcessItem when Task.Type = "NONE" OR Task.Type = "" |
Data from | DirectProcessItem mappings:
No Task or Match mappings:
|
Data to | Sink mappings:
No Task or Match mappings:
|
Referenced programs | CO_ProcItem_Passthru |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
Examines the task structure for "known patient". There is no need to perform a patient query if the patient is unknown.
Name | Value |
---|---|
Control from | DirectProcessItem when Task.Type = "PatientQuery" |
Control to | Query when Patient.SYSID <> "" |
Data from | Patient Info Query mappings:
DirectProcessItem mappings:
|
Data to | Patient Info Query mappings:
Query mappings:
Sink mappings:
|
Referenced programs | CO_ProcItem_Passthru |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
Invokes a collaboration to send a Query MTQRY HL7 message and get results from an MTADR message collaboration.
Name | Value |
---|---|
Control from | Patient Info Query when Patient.SYSID <> "" |
Control to | CollectQueryResult |
Data from | Patient Info Query mappings:
|
Data to | CollectQueryResult mappings:
|
Referenced programs | QRY_A19 |
Referenced Program Execution Server | CWLDSVR.FMCSYS.FMCGRP |
Input data structure | QRY_A19 |
Output data structure | ADR_A19 |
Integrates results from a Patient Query with existing task data.
Name | Value |
---|---|
Control from | DirectProcessItem when Task.Type = "Query" |
Control to | CollectQBPZ02Result |
Data from | DirectProcessItem mappings:
|
Data to | CollectQBPZ02Result mappings:
|
Referenced programs | QBP_Z02 |
Referenced Program Execution Server | CWLDSVR.FMCSYS.FMCGRP |
Input data structure | QBP_Z02 |
Output data structure | RSP_Z02 |
Invokes a collaboration to send a Schedule Resource MTSRM HL7 message and get results from an MTSRR HL7 message collaboration.
Name | Value |
---|---|
StartTime | StartTime |
EndTime | EndTime |
PlacerContact.LastName | Staff |
PlacerContact.FirstName | ER |
EnteredBy.LastName | Staff |
EnteredBy.FirstName | ER |
Control from | DirectProcessItem when Task.Type = "ScheduleResource" |
Control to | CollectResourceResult |
Data from | DirectProcessItem mappings:
|
Data to | CollectResourceResult mappings:
|
Referenced programs | ScheduleResource |
Referenced Program Execution Server | CWLDSVR.FMCSYS.FMCGRP |
Input data structure | SRM_Resource |
Output data structure | SRR |
Invokes a collaboration to send a Schedule Service MTSRM HL7 message and get results from an MTSRR HL7 message collaboration.
Name | Value |
---|---|
StartTime | StartTime |
EndTime | EndTime |
PlacerContact.LastName | Staff |
PlacerContact.FirstName | ER |
EnteredBy.LastName | Staff |
EnteredBy.FirstName | ER |
Control from | DirectProcessItem when Task.Type = "ScheduleService" |
Control to | CollectServiceResult |
Data from | DirectProcessItem mappings:
|
Data to | CollectServiceResult mappings:
|
Referenced programs | ScheduleService |
Referenced Program Execution Server | CWLDSVR.FMCSYS.FMCGRP |
Input data structure | SRM_Service |
Output data structure | SRR |
SubProcess. Processes individual task.
Name | Value |
---|---|
Control from | SplitTasks |
Data from | SplitTasks mappings:
|
Data to | Sink mappings:
|
Referenced process | Process Item |
Input data structure | SingleProcessItem |
Output data structure | SingleProcessItem |
Splits incoming task group into individual tasks.
Name | Value |
---|---|
Control to | Process Item1-10 |
Data from | Source mappings:
SplitTasks mappings:
|
Data to | ProcessItem3 mappings:
ProcessItem4 mappings:
ProcessItem5 mappings:
ProcessItem6 mappings:
ProcessItem8 mappings:
ProcessItem10 mappings:
ProcessItem7 mappings:
ProcessItem9 mappings:
ProcessItem1 mappings:
ProcessItem2 mappings:
SplitTasks mappings:
|
Referenced programs | CascadingOrders_Passthru |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Adds Patient Query information to existing task data.
Name | Value |
---|---|
InjurySupported | Yes |
Control from | Lookup Patient Info |
Data from | Lookup Patient Info mappings:
AddPatientInfo mappings:
Known Patient? mappings:
|
Data to | Sink mappings:
AddPatientInfo mappings:
|
Referenced programs | CascadingOrders_Passthru |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Routes flow based on contents of Patient Last Name.
Name | Value |
---|---|
InjurySupported | Yes |
Control from | Known Process? when NumberOfTasksFound <> "0" |
Control to | Lookup Patient Info when
Patient.LastName <> "" Setup John Doe when Patient.LastName = "" |
Data from | Known Patient? mappings:
Known Process? mappings:
Source mappings:
|
Data to | Setup John Doe mappings:
Known Patient? mappings:
Lookup Patient Info mappings:
AddPatientInfo mappings:
|
Referenced programs | CascadingOrders_Passthru |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Invokes a collaboration to query and return tasks for the given Injury.
Name | Value |
---|---|
MaxTasks | 10 |
Control to | Known Patient? when
NumberOfTasksFound <> "0" ProcessUnknown when NumberOfTasksFound = "0" |
Data from | Source mappings:
|
Data to | Known Patient? mappings:
ProcessUnknown mappings:
|
Referenced programs | GetTask |
Referenced Program Execution Server | CWLDSVR.FMCSYS.FMCGRP |
Input data structure | HC_GetTask |
Output data structure | HC_GetTaskResponse |
Invokes a collaboration to send a Patient Query MTQRY HL7 message and get results from an MTADR HL7 message collaboration.
Name | Value |
---|---|
Control from | Known Patient? when Patient.LastName <> "" |
Control to | AddPatientInfo |
Data from | Known Patient? mappings:
|
Data to | AddPatientInfo mappings:
|
Referenced programs | QRY_A19 |
Referenced Program Execution Server | CWLDSVR.FMCSYS.FMCGRP |
Input data structure | QRY_A19 |
Output data structure | ADR_A19 |
Sets indication for unknown process.
Name | Value |
---|---|
Control from | Known Process? when NumberOfTasksFound = "0" |
Data from | Source mappings:
ProcessUnknown mappings:
Known Process? mappings:
|
Data to | Sink mappings:
ProcessUnknown mappings:
|
Referenced programs | CascadingOrders_Passthru |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Sets task data for an unknown patient to be treated as a John Doe.
Name | Value |
---|---|
Patient.LastName | John |
Patient.FirstName | Doe |
Patient.MiddleNames | NMI |
Control from | Known Patient? when Patient.LastName = "" |
Data from | Known Patient? mappings:
Setup John Doe mappings:
|
Data to | Sink mappings:
Setup John Doe mappings:
|
Referenced programs | CascadingOrders_Passthru |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Displays dialog indicating cancel processing has completed.
Name | Value |
---|---|
Control from | Cancel Orders |
Data from | Cancel Orders mappings:
Cancel Complete mappings:
|
Data to | Sink mappings:
Cancel Complete mappings:
|
Referenced programs | CancelProcess |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
SubProcess. Controls cancel task processing.
Name | Value |
---|---|
Control from | SetCancel |
Control to | Cancel Complete |
Data from | SetCancel mappings:
|
Data to | Cancel Complete mappings:
|
Referenced process | Lookup and Process |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Displays dialog asking for confirmation that the reported injury is the correct injury.
Name | Value |
---|---|
Control from | Pend Orders |
Control to | SetCancel when _RC = 0 SetExecute when _RC = 1 |
Data from | Correct Process? mappings:
|
Data to | Correct Process? mappings:
SetExecute mappings:
SetCancel mappings:
|
Referenced programs | CheckProcess |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
SubProcess. Controls execute task processing.
Name | Value |
---|---|
Control from | SetExecute |
Control to | Treat Patient |
Data from | SetExecute mappings:
|
Data to | Treat Patient mappings:
|
Referenced process | Lookup and Process |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Displays a dialog indicating that the injury reported is not supported and requires manual processing.
Name | Value |
---|---|
Control from | Receive Preliminary Input when InjurySupported <> "Yes" |
Data from | Receive Preliminary Input mappings:
Manual Process mappings:
|
Data to | Sink mappings:
Manual Process mappings:
|
Referenced programs | ManualProcess |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
SubProcess. Controls pend task processing.
Name | Value |
---|---|
Control from | SetPend |
Control to | Correct Process? |
Data from | SetPend mappings:
|
Data to | Correct Process? mappings:
|
Referenced process | Lookup and Process |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
SubProcess. Collects initial data, controls task query and collects patient information for known patient.
Name | Value |
---|---|
Control to | Manual Process when
InjurySupported <> "Yes" SetPend when InjurySupported = "Yes" |
Data from | Source mappings:
|
Data to | Manual Process mappings:
SetPend mappings:
|
Referenced process | ReceivePreliminaryInput |
Input data structure | CascadingOrdersInput |
Output data structure | CascadingOrders |
Sets task type to Cancel.
Name | Value |
---|---|
Control from | Correct Process? when _RC = 0 |
Control to | Cancel Orders |
Data from | Correct Process? mappings:
SetCancel mappings:
|
Data to | Cancel Orders mappings:
SetCancel mappings:
|
Referenced programs | CascadingOrders_Passthru |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Sets task type to Execute.
Name | Value |
---|---|
Control from | Correct Process? when _RC = 1 |
Control to | Execute Orders |
Data from | Correct Process? mappings:
SetExecute mappings:
|
Data to | Execute Orders mappings:
SetExecute mappings:
|
Referenced programs | CascadingOrders_Passthru |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Sets task type to Pend.
Name | Value |
---|---|
Category | PEND |
Control from | Receive Preliminary Input when InjurySupported = "Yes" |
Control to | Pend Orders |
Data from | SetPend mappings:
Receive Preliminary Input mappings:
|
Data to | SetPend mappings:
Pend Orders mappings:
|
Referenced programs | CascadingOrders_Passthru |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
Displays a dialog indicating that execute tasks are complete and the patient is ready for treatment.
Name | Value |
---|---|
Control from | Execute Orders |
Data from | Execute Orders mappings:
Treat Patient mappings:
|
Data to | Sink mappings:
Treat Patient mappings:
|
Referenced programs | ExecuteProcess |
Input data structure | CascadingOrders |
Output data structure | CascadingOrders |
The information returned by an HL7 response message when an error is detected.
Member name | Member type |
---|---|
ErrorIdentifier | STRING |
ErrorText | STRING |
CodingSystem | STRING |
AlternateIdentifier | STRING |
AlternateText | STRING |
AlternateCodingSystem | STRING |
SegmentID | STRING |
Sequence | FLOAT |
FieldPosition | FLOAT |
Structure containing the Injury and maximum tasks to return on a GetTasks query.
Member name | Member type |
---|---|
Injury | STRING |
MaxTasks | STRING |
Structure containing information for a single task.
Member name | Member type |
---|---|
Injury | STRING |
Type | STRING |
ProcCode | STRING |
ProcText | STRING |
ActionCode | STRING |
PendType | STRING |
ExecuteType | STRING |
CancelType | STRING |
PendAction | STRING |
ExecuteAction | STRING |
CancelAction | STRING |
Structure containing the information returned by the HL7 MTADR message indicating success or failure.
Member name | Member type |
---|---|
ReturnCode | STRING |
AckCode | STRING |
SYSCode | STRING |
SYSID | STRING |
Errors | Array(2) of STRUCTURE Errors |
Structure containing the tasks returned by the GetTaskResponse message. Contains tasks and indicates success or failure.
Member name | Member type |
---|---|
ReturnCode | STRING |
AckCode | STRING |
Errors | Array(2) of STRUCTURE Errors |
NumberOfTasksFound | STRING |
Tasks | Array(10) of STRUCTURE Task |
Structure containing the information on a person (for example, a patient or staff member).
Member name | Member type |
---|---|
DriversLicense | STRING |
LastName | STRING |
FirstName | STRING |
MiddleNames | STRING |
SYSCode | STRING |
SYSID | STRING |
Structure containing the information used to create an HL7 MTQRY Patient Query request message.
Member name | Member type |
---|---|
Patient | STRUCTURE Person |
ActionCode | STRING |
Structure containing the basic Injury and Patient data.
Member name | Member type |
---|---|
Injury | STRING |
Patient | STRUCTURE Person |
Structure containing a specific item to process. Includes the task, any errors resulting from processing that task, and a pointer to pended task data.
Member name | Member type |
---|---|
Task | STRUCTURE Task |
ReturnCode | STRING |
AckCode | STRING |
Errors | Array(2) of STRUCTURE Errors |
Key | STRING |
Structure containing the information returned by the HL7 Query By Parameter response message. Contains On call staff and indicates success or failure.
Member name | Member type |
---|---|
ReturnCode | STRING |
AckCode | STRING |
Errors | Array(2) of STRUCTURE Errors |
OncallStaff | Array(3) of STRUCTURE Person |
Structure containing the information used to build an HL7 Query By Parameter OnCallStaff request message.
Member name | Member type |
---|---|
JobCode | STRING |
Structure containing the information needed to build an HL7 Schedule Resource request message.
Member name | Member type |
---|---|
StartTime | STRING |
EndTime | STRING |
ServiceCode | STRING |
ServiceText | STRING |
ActionCode | STRING |
Key | STRING |
PlacerContact | STRUCTURE Person |
EnteredBy | STRUCTURE Person |
Patient | STRUCTURE Person |
Structure containing the information returned by the HL7 Schedule Response message. Contains a key to the scheduled entry and indicates success or failure.
Member name | Member type |
---|---|
ReturnCode | STRING |
AckCode | STRING |
Key | STRING |
Errors | Array(2) of STRUCTURE Errors |
Structure containing the information needed to build an HL7 Schedule Service request message.
Member name | Member type |
---|---|
StartTime | STRING |
EndTime | STRING |
ServiceCode | STRING |
ServiceText | STRING |
ActionCode | STRING |
Key | STRING |
PlacerContact | STRUCTURE Person |
EnteredBy | STRUCTURE Person |
Patient | STRUCTURE Person |
Structure containing everything known about a specific process instance.
Member name | Member type |
---|---|
Injury | STRING |
Patient | STRUCTURE Person |
InjurySupported | STRING |
Category | STRING |
ProcessItems | Array(10) of STRUCTURE ProcessItem |
Structure containing everything known about a single process item; a subset of the CascadingOrders structure.
Member name | Member type |
---|---|
Injury | STRING |
Patient | STRUCTURE Person |
Task | STRUCTURE Task |
ReturnCode | STRING |
AckCode | STRING |
Errors | Array(2) of STRUCTURE Errors |
Key | STRING |
Structure containing the information needed to build an HL7 Clinical Order request message.
Member name | Member type |
---|---|
ServiceCode | STRING |
ServiceText | STRING |
ActionCode | STRING |
Key | STRING |
EnteredBy | STRUCTURE Person |
Patient | STRUCTURE Person |
Structure containing the information returned by the HL7 Clinical Order response message. Contains a key to the order and indicates success or failure.
Member name | Member type |
---|---|
ReturnCode | STRING |
AckCode | STRING |
Key | STRING |
Errors | Array(2) of STRUCTURE Errors |