MacroHealth Internal

SF - Claims Outbound - Outgoing

The SF - Claims Outbound - Outgoing is a standard flow that provides the baseline functionality for creating a claim file from existing data to be sent to a stakeholder, and also provides the ability to customize values for integration-specific settings.

OutboundFlow.jpg
Configuration of the Flow Widgets

While configuring the widgets composing this standard flow, only the following parameters should be set by the user:

  • CROSSWALK_ID

  • DOCUMENT_TYPE

  • LOOKUP_FIELD

  • SHOVEL_EXPRESSION_OR_VALUE

  • STATUS

  • PATH_TO_DOC_A

  • SHOVEL_EXPRESSION_READ

  • SHOVEL_EXPRESSION_MODIFY

  • CROSSWALK_HEADER

  • SHOVEL_EXPRESSION

  • DEFAULT_VALUE_IF_NO_MATCH

  • PATH_TO_ELEMENT_IN_DOCUMENT

  • UNIQUE_ID

  • FTP_CONNECTION_ID

The following parameters will be provided by the business:

  • CLAIM_TYPE

  • ISA_05_VALUE

  • ISA_07_VALUE

  • GS_08_VALUE

  • CUSTOMER_PREFIX

  • REF_SEGMENT_KEY

  • SENDER_ID

  • RECEIVER_ID

  • SHOVEL_FILENAME

  • PAYER

  • ENV

BeginningOfFlow.jpg
Scheduled Cron

This shovel operation defines the cron expression for schedule.

ScheduledCron.jpg
  1. trigger-schedule: define the cron expression for schedule such as “/30 * * * * ?“ (every 30 secs)

For more information on how to configure this shovel operation, view Trigger.

Set Crosswalk

This shovel operation allows locating the fileDefVersions field and updating the content.

SetCrosswalk.jpg
  1. fileDefVersions: {"CROSSWALK_ID":0} (Where CROSSWALK_ID key is a crosswalk identifier from the Crosswalk section in the Platform, and the value is the latest version of such crosswalk mapping (0, 1, 2...))

For more information on how to configure this shovel operation, view Lock Crosswalks.

Set Lookup Fields

If required, setup the query to use in the “Lookup Claim“ widget.

SetLookupFields.jpg
  1. mappings: The following mapping is provided:

    [
    2  {
    3    "name": "query_claim_type",
    4    "mapping": {
    5      "path": "context.queryDocument.data.DOCUMENT_TYPE.claimType",
    6      "value": "CLAIM_TYPE"
    7    }
    8  },
    9  {
    10    "name": "query_document",
    11    "mapping": {
    12      "path": "context.queryDocument.data.DOCUMENT_TYPE.LOOKUP_FIELD",
    13      "value": "SHOVEL_EXPRESSION_OR_VALUE"
    14    }
    15  }
    16]

    Where:

    • DOCUMENT_TYPE is the document type defined in the inbound phase, such as “AdjudicationRequest“

    • claimType is either “837i“ or “837p“

    • LOOKUP_FIELD is a field previously defined for instances of DOCUMENT_TYPE

    • SHOVEL_EXPRESSION_OR_VALUE is the expression for “path“ attribute, such as "\"Y\"" , etc.

For more information on how to configure this shovel operation, view Remap Document.

Lookup Claim

This shovel operation performs a DB search based on previous defined query, documents, and document statuses. If no results are found, do nothing, otherwise continue processing.

LookupClaim.jpg
  1. lookupFieldsDocumentName: a queryDocument defined in the previous step.

  2. statuses: {"DOCUMENT_TYPE":"STATUS"}, where:

    • DOCUMENT_TYPE: the doc type to retrieve instances from, such as “AdjudicationRequest“.

    • STATUS: the status of the document instance such as “Received“, “Processed“, etc.

  3. docTypeFilter: DOCUMENT_TYPE (where doc type are the intances to fetch).

For more information on how to configure this shovel operation, view Lookup Cases.

NoCadseFoundBranch.jpg
No Cases Found Do Nothing
NoCasesFoundDoNothing.jpg

For more information on how to configure this shovel operation, view Commit Transaction.

Custom Business Transformations Branch
BusinessTransBranch.jpg
Custom Business Transformation 1

This shovel operation allows remapping the sample which creates new runtime documents in the current flow file.

CustomBusinessTrans1.jpg
  1. isolateExpressions: check box (all the expressions will be evaluated individually)

  2. mappings:

    [
    2  {
    3    "name": "new_document_A",
    4    "mapping": {
    5      "path": "context.PATH_TO_DOC_A",
    6      "value": "SHOVEL_EXPRESSION_READ"
    7    }
    8  },
    9  {
    10    "name": "sample_new_document_B",
    11    "mapping": {
    12      "path": "context.newDoc",
    13      "value": "readField(<builtin:document/result_DOCUMENT_TYPE|builtin:key/metadata/splitBy>)"
    14    }
    15  }
    16]

    Where:

    • PATH_TO_DOC_A: a user defined name for the new runtime document that will be attached to the current flow file

    • SHOVEL_EXPRESSION_READ: shovel expression mainly based on readField or atFieldRead functions

For more information on how to configure this shovel operation, view Remap Document.

Custom Business Transformations 2

This shovel operation allows remapping the sample that modifies the content on the current flow file documents.

CustomBusinessTrans2.jpg
  1. isolateExpressions: do NOT check the box (the list of expressions will be ran in sequence, i.e. the input of one expression can be the output of the previous one)

  2. mappings:

    [
    2  {
    3    "name": "first_custom_transformation",
    4    "mapping": {
    5      "path": "",
    6      "value": "SHOVEL_EXPRESSION_MODIFY"
    7    }
    8  },
    9  {
    10    "name": "sample_second_custom_transformation",
    11    "mapping": {
    12      "path": "",
    13      "value": "atFieldModify(<builtin:document/newDoc>, concat(getContext(), \"_updated\"))"
    14    }
    15  }
    16]

    Where:

    • SHOVEL_EXPRESSION_MODIFY: shovel expression mainly based on the atFieldModify function.

For more information on how to configure this shovel operation, view Remap Document.

Map from Crosswalk

This shovel operation allows mapping the sample that uses the crosswalk previously defined to perform an attribute mapping.

MapFromCrosswalk.jpg
  1. fileId: CROSSWALK_ID is a crosswalk identifier from the Crosswalk section in the Platform.

  2. crosswalkInputMap: {"CROSSWALK_HEADER":"SHOVEL_EXPRESSION"} Where:

    • CROSSWALK_HEADER: one of the hearder names defined in the Crosswalk mapping in the Crosswalk section

    • SHOVEL_EXPRESSION: a shovel read expression which generally uses either a readField or atFieldRead function

  3. crosswalkOutputMap:

    {
      "CROSSWALK_HEADER": {
      "default": "DEFAULT_VALUE_IF_NO_MATCH",
      "fieldRef": "PATH_TO_ELEMENT_IN_DOCUMENT"
      }
    }

    Where:

    • CROSSWALK_HEADER: one of the header names defined in the Crosswalk mapping in the Crosswalk section where to pull the value from

    • DEFAULT_VALUE_IF_NO_MATCH: if no related value is found in the mapping table, default to a pre-stablished constant

    • PATH_TO_ELEMENT_IN_DOCUMENT: defines a Shovel path like &lt;builtin:document/docName|builtin:key/keyName|......&gt; to locate a specific field within a given runtime document where to set the value

For more information on how to configure this shovel operation, view Invoke Crosswalk.

Set Status Processed

This shovel operation allows setting a “Processed“ status to the claim document.

SetStatusProcessed.jpg
  1. caseId: SHOVEL_EXPRESSION_GET_CASE_ID (where SHOVEL_EXPRESSION_GET_CASE_ID is a Shovel expression to indicate the case identifier)

  2. docId: SHOVEL_EXPRESSION_GET_DOC_I (where SHOVEL_EXPRESSION_GET_DOC_ID is a Shovel expression to indicate the document identifier within the case)

  3. docType: DOCUMENT_TYPE (where DOCUMENT_TYPE doc type such as "AdjudicationRequest")

For more information on how to configure this shovel operation, view Stage For Store Status Update.

Merge to X12

This shovel operation allows building the outgoing X12 file.

MergeToX12.jpg
  1. receiverCode: RECEIVER_CODE (code or ID defined by the customer). This would normally be the Interchange Receiver ID (ISA08 and GS03), which is the name of the entity that will receive the entity.

For more information on how to configure this shovel operation, view Merge and Translate To X12.

Stage Case File

This shovel operation allows staging the generated file with a given filename.

StageCaseFile.jpg
  1. fileName: SHOVEL_FILENAME (where SHOVEL_FILENAME is a Shovel expression defining a unique file name)

For more information on how to configure this shovel operation, view Stage for Store Case File.

Validate X12

This shovel operation allowing validating the X12 file.

ValidateX12.jpg
  1. fileType: CLAIM_TYPE (where 837_CLAIMS_TYPE (837i or 837p) or 835_CLAIMS_TYPE (835i or 835p)

For more information on how to configure this shovel operation, view Validate File.

Route Valid File

To configure this shovel operation, check the AK901 attribute.

RouteValidFile.jpg
  1. Routes:

    • Route Name: If the AK901 attribute value is "R", forward to “rejected“ branch, “accepted“ otherwise. Conditions can get more granular based on the remaining statuses

    • Expression: The Route expressions can be modified accordingly to the status

For more information on how to configure this shovel operation, view Route on Expression.

Rejected Branch
RejectedBranch.jpg
Status File Rejected

This shovel operation allows setting the status file to “File rejected”.

StatusFileRejected.jpg
  1. status: File rejected - invalid content

For more information on how to configure this shovel operation, view Stage for Store Case Status Update.

Commit (Rejected)
CommitRejected.jpg

For more information on how to configure this shovel operation, view Commit Transaction.

Accepted Branch
AcceptedBranch.jpg
Set Query

This shovel operation defines the query to lookup documents.

SetQuery.jpg
  1. type: DOCUMENT_TYPE (where DOCUMENT_TYPE is the doc type such as "AdjudicationRequest")

For more information on how to configure this shovel operation, view Remap Document.

Lookup Processed Claims

This shovel operation allows searching for processed claims based on the query defined in the previous step.

LookupProcessedClaims.jpg
  1. docTypeFilter: DOCUMENT_TYPE (where DOCUMENT_TYPE is the doc type such as "AdjudicationRequest")

For more information on how to configure this shovel operation, view Lookup Cases.

Do Nothing
DoNothing.jpg

For more information on how to configure this shovel operation, view Commit Transaction.

Attach Updated Lookup Fields

This shovel operation allows adding the required lookup fields for the new document to be stored.

AttachUpdatedLookupFields.jpg

For more information on how to configure this shovel operation, view Remap Document.

Store New Document

This shovel operation stores a new document for the specified doc type along with the updated lookup fields.

StoreNewDocument.jpg
  1. docType: DOCUMENT_TYPE (where DOCUMENT_TYPE is the doc type such as "AdjudicationRequest")

For more information on how to configure this shovel operation, view Stage for Store Document.

Status File Generated
StatusFileGenerated.jpg
  1. status: File generated

For more information on how to configure this shovel operation, view Stage for Store Case Status Update.

File to FTP

This shovel operation allows storing the file into the FTP server.

FileToFTP.jpg
  1. id: UNIQUE_ID (where UNIQUE_ID is a arbitrary ID assigned by the user and must be unique across all integrations)

  2. connectionId: FTP_CONNECTION_ID (where FTP_CONNECTION_ID is the FTP connection ID that was defined for this implementation)

  3. directory: /PAYER/ENV/out (where /PAYER/ENV/out is the path to the destination folder in the FTP server. PAYER is the receiver's name and ENV is the environment or lifecycle's stage name for this implementation)

For more information on how to configure this shovel operation, view Stage for Sink Case File.

Status File Sent
StatusFileSent.jpg

For more information on how to configure this shovel operation, view Stage for Store Case Status Update.

Commit (Accepted)
CommitAccepted.jpg

For more information on how to configure this shovel operation, view Commit Transaction.