1 Claim Intake Route
This route picks up a 837 claim batch from the file system, validates it, and splits the batch into individual claims. For each claim, the route checks the NPI validity, and based on that, sets a marker property that is later used to generate a suitable acknowledgement.
Route Structure
Route Components Description
FS Inbound
|
FS Inbound |
Picks up a batch of 837 claims from the file system. |
File Received
|
BCounter Outbound |
Increments the count of files received by the profile on input (FileProcessingStartedFrontEnd counter). This is used later to verify the data integrity in the profile. |
Validate, Split, Reports
|
XE Native |
Validates data, splits the batch into individual claims, and generates XData. Extracts different values (such as LOB, NPI, ClaimsTotal, and so on) from each claim and sets them as XEServer properties on the outputs. Later on the route, these properties are used to dynamically select the work flow path. |
Visualizer on?
|
Router |
Directs LDNS reports to Visualizer Server if the profile-level environment property VisualizerEnabled has been set to true. |
Store for Visualizer
|
FS Outbound |
Stores LDNS data for Visualizer. |
Count Good
|
BCounter Outbound |
Updates the counter for claims that passed HIPAA validation (HIPAA_Accepted). |
Provider NPI Check
|
REST Client |
Makes a REST request to https://npiregistry.cms.hhs.gov/api passing the NPI number of the claim as a URI query parameter. The component then directs the response data to be checked for errors, and sends the original claim data to complete the aggregation. |
Error Detector
|
Router |
Detects errors by checking the response code (http.status.code property). |
Error Response
|
FS Outbound |
Stores responses with HTTP codes that are different from 200. |
Process Response
|
Groovy |
Applies a Groovy script, which:
- Checks if the https://npiregistry.cms.hhs.gov/api returned a non-empty response.
- Sets the XEServer property Ack Kind to either the "Positive" or the "Negative" value.
- Parses the response JSON body and extracts values, such as first_name, last_name, organization_name and creates a new XEServer message exchange with these properties.
Note Setting the XEServer property Ack Kind is one of the key stages in the sample profile logic. Later, this property is used to select a suitable processing flow.
|
Aggregation
|
Aggregation |
Aggregates single XEServer messages. |
277CA Generation
|
Subroute |
Sends the data to the 2 Create 277CAs route. |
Bad Data
|
FS Outbound |
Stores the claims that failed to pass XEngine validation. |
Count Bad
|
BCounter Outbound |
Increments the count of claims that failed to pass XEngine validation (HIPAA_Rejected counter). |
Reports
|
FS Outbound |
Stores XEngine validation reports. |
Filter 277CA
|
Router |
Passes only those acknowledgements whose property AckType does not begin with the characters "277". |
Validation Acks
|
FS Outbound |
Stores filtered validation acknowledgements. |
Visualizer on?
|
Router |
Directs the acknowledgements to Visual Tracking if the profile-level environment property VisualizerEnabled is set to true. |
Control message
|
Batcher Outbound |
Receives the original batch of claims as a control signal that indicates that the acknowledgements currently accumulated in Batcher should be released. |
Count Total
|
BCounter Outbound |
Updates the ItemsInFile counter that represents the number of claims in the original EDI file. |