Inter Route and Subroute Sample Profile Workflow

The profile contains the following routes:

The following steps illustate the data processing flow in this profile:

Step 1. The route 1 Split and Validate picks up a batch with 837 claims, validates the batch, and splits the data into individual claims.

Step 2. The profile directs each accepted claim to the NPI Check route to verify the validity of NPI. The Subroute component does the data transfer. The NPI Check route (a stateless helper function) makes a request to the web service NPPES NPI Registry and gets the results on whether the specified NPI is available and is valid.

Step 3. Then, the component Inter Route Outbound sends all the accepted claims with valid NPI to the route 2 Translate and Convert to XData. This component allows the transfer of data from one route to another.

Step 4. Finally, the route 2 Translate and Convert to XData receives the claims through the component Inter Route Inbound, translates and converts them to the XData format and stores the results in the file system.

The following table shows the behavior of the route components Subroute and Inter Route to highlight the main differences between the two transport types:

Subroute / Parent Route Components Inter Route Components

When the Subroute component transfers an XEServer message exchange with data from a parent route to a subroute, the parent route waits for the subroute processing to complete.

Typically, the route component Subroute sends some data to the subroute and expects some data to be returned through the subroute's component Parent Route Output. If an exception is thrown on the subroute, the exception "bubbles" up to the parent route and fails processing.

Inter Route components exchange data in the send-and-forget mode - once the data reaches the destination route, the data has no connection to the source route anymore. If an exception is thrown in the target route, the source route remains unaffected.
A subroute could have several receiving endpoints (Parent Route Inbound component) on the same route. This kind of a configuration may be pointless in many cases as all the components Parent Route Inbound receive the same data from the parent route. However, the configuration may work for specific tasks. Only one receiving endpoint (Inter Route Inbound) is allowed for each route.
A subroute may have multiple components Parent Route Outbound that return data back to the parent route. For each component Parent Route Outbound on the subroute, the component Subroute acquires a separate output on the parent route. Any number of components Inter Route Outbound is allowed for each route.