EDI Converter 2.14.4 — Support for PLB, MOA, and MIA Segments

We’re pleased to announce version 2.14.4 of our EDI Converter.

This release provides expanded support for parsing and converting 835 and 837 healthcare EDI transactions, including new data objects for provider-level adjustments (PLB segment) and MIA/MOA adjudication segments.

Highlights

  • New segment support: Adds PLB (Provider-Level Adjustments), MOA (Outpatient Adjudication), and MIA (Inpatient Adjudication) segments.
  • Smarter parsing: The EDI parser now automatically detects and splits large 835/837/834 transactions using CLP/CLM/INS segments—no need to specify the splitTran parameter or the --split-tran CLI option.
  • Support for additional BPR elements for 835: Includes sender and receiver bank routing numbers and other financial institution identifiers.

New JSON Objects

ProviderAdjustment (PLB segment)

Represents provider-level adjustments in 835 transactions. This is a root-level object that appears alongside Payment (adjudicated claim) objects.

See the object schema for more details.

The API server automatically provides descriptions for provider adjustment reason codes. You can also retrieve them using our Code Search API.

Example (fragment; full JSON here):

[
  {
    "objectType" : "PROVIDER_ADJUSTMENT",
    "providerIdentifier" : "PAYEE_ID1",
    "fiscalPeriodDate" : "2024-12-31",
    "adjustments" : [ {
      "reason" : {
        "subType" : "PROVIDER_ADJUSTMENT_REASON_CODE",
        "code" : "WO",
        "desc" : "Overpayment recovery amount"
      },
      "referenceIdentification" : "3243079284",
      "amount" : 298.18
    }, 

OutpatientAdjudication (MOA segment)

Contains Remittance Advice Remark Codes (RARC) and Medicare/Medicaid-specific amounts for outpatient claims.
Used in 835 and 837P/I transactions (as part of Other Subscriber information).

See the object schema for more details.

Example (fragment; full JSON here):

{
  "reimbursementRate": 0.4,
  "hcpcsPayableAmount": 50.00,
  "esrdPaymentAmount": 30.00,
  "nonPayableProfessionalComponentAmount": 10.01,
  "remarks": [
    {
      "subType": "RARC",
      "code": "MA01",
      "desc": "If you do not agree with what we approved for these services, you may appeal our decision. To make sure that we are fair to you, we require another individual that did not process your initial claim to conduct the appeal. However, in order to be eligible for an appeal, you must write to us within 120 days of the date you received this notice, unless you have a good reason for being late."
    },
    {
      "subType": "RARC",
      "code": "MA07",
      "desc": "The claim information has also been forwarded to Medicaid for review."
    }
  ]
}

InpatientAdjudication (MIA segment)

Provides claim-level remark codes and Medicare/Medicaid-specific amounts for inpatient institutional claims.
Used in 835 and 837I transactions (as part of Other Subscriber information).

See the object schema for more details.

New JSON Fields

This release adds several new fields to the 835 Transaction object:

Field Element Reference Description
paymentFormatCode BPR05 Payment format code
senderBankRoutingNumber BPR07 Sender’s bank routing number
senderAccountNumber BPR09 Sender’s account number
originatingCompanyId BPR10 Originating company ID
originatingCompanySupplementalCode BPR11, TRN04 Supplemental company identifier
receiverBankRoutingNumber BPR13 Receiver’s bank routing number
receiverIdentifier REF02*EV Receiver identifier (e.g., clearinghouse)

All of these fields are documented in the Transaction object for 835.

Other JSON Changes

  • The sender and receiver objects are now removed from the 835 Transaction object to eliminate duplication with the payer and payee fields.
  • The entity role for the subscriber is now correctly set to INSURED_SUBSCRIBER (previously SUBSCRIBER).

CLI and API Improvements

  • Added the --progress-chunk-size CLI option to control the verbosity of conversion progress (default: every 1,000 items).
  • The converter_logchunksize environment variable provides equivalent functionality for the API server.

How to Upgrade

API Docker container

If using docker compose, update the image tag to repo.datainsight.health/ediconvert:2.14 and pull the new image:

docker compose pull

The latest docker-compose file is always available in our GitHub repo.

Without docker compose:

docker pull repo.datainsight.health/ediconvert:2.14

Check the version via the API:

curl http://localhost:5080/api/about

CLI tool

  1. Download the new version.
  2. Unzip and replace your existing installation files (including lib and conf folders).
  3. Do not delete your license file.
  4. Run:
    ediconvert -V
    
    The output should include ediconvert 2.14.4.

EDI Parser for Java

Update your Gradle or Maven dependency:

implementation "hdi:edi:2.14.4"

AWS Lambda Function

Update the Lambda deployment:

aws lambda update-function-code --function-name <your function name> --zip-file fileb://./edi/build/distributions/ediconvert-lambda-2.14.zip

You can also use this Terraform file to update the function.