API Example

Please be aware that payers require time to process the claims before the Claim Status may be available. Here is a sample Claim Status request that is used for the majority of payers. Please update your request format to match that of the following example.

curl --request POST \
     --url https://sandbox-apigw.optum.com/medicalnetwork/claimstatus/v2/ \
     --header 'Authorization: Bearer eyJraWQiOiIxIiwidHlwI....' \ //your Bearer token
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "providers": [
    {
      "providerType": "BillingProvider",
      "taxId": "0123456789",
      "organizationName": "TestProvider"
    }
  ],
  "subscriber": {
    "memberId": "0000000000",
    "firstName": "johnone",
    "gender": "M",
    "lastName": "doeone",
    "dateOfBirth": "18800102",
    "groupNumber": "0000000000"
  },
  "controlNumber": "123456789",
  "tradingPartnerServiceId": "serviceId"
}'
{
  "controlNumber": "123456789",
  "tradingPartnerServiceId": "serviceId",
  "payer": {
    "organizationName": "Unknown",
    "payerIdentification": "serviceId"
  },
  "providers": [
    {
      "organizationName": "TestProvider",
      "taxId": "0123456789",
      "providerType": "BillingProvider"
    },
    {
      "organizationName": "TestProvider",
      "npi": "0123456789",
      "providerType": "ServiceProvider"
    }
  ],
  "subscriber": {
    "memberId": "0000000000",
    "firstName": "johnone",
    "lastName": "doeone"
  },
  "claims": [
    {
      "claimStatus": {
        "statusCategoryCode": "F1",
        "statusCategoryCodeValue": "Finalized/Payment-The claim/line has been paid.",
        "statusCode": "65",
        "statusCodeValue": "Claim/line has been paid.",
        "entityCode": "1E",
        "entity": "Health Maintenance Organization (HMO)",
        "effectiveDate": "20170415",
        "submittedAmount": "1229",
        "amountPaid": "219",
        "paidDate": "20170415",
        "checkIssueDate": "20170415",
        "checkNumber": "1111111",
        "trackingNumber": "e4e108bd-1c36-de0d-9a14-f3bc5422ab28",
        "claimServiceDate": "20160722",
        "tradingPartnerClaimNumber": "AAAAAAAAAAA1"
      }
    },
    {
      "claimStatus": {
        "statusCategoryCode": "F3",
        "statusCategoryCodeValue": "Finalized/Revised - Adjudication information has been changed",
        "statusCode": "101",
        "statusCodeValue": "Claim was processed as adjustment to previous claim.",
        "entityCode": "1E",
        "entity": "Health Maintenance Organization (HMO)",
        "effectiveDate": "20170412",
        "submittedAmount": "1229",
        "amountPaid": "184.05",
        "trackingNumber": "C1234567891028297LL",
        "claimServiceDate": "20160722",
        "tradingPartnerClaimNumber": "AAAAAAAAAAA2"
      }
    },
    {
      "claimStatus": {
        "statusCategoryCode": "F3",
        "statusCategoryCodeValue": "Finalized/Revised - Adjudication information has been changed",
        "statusCode": "101",
        "statusCodeValue": "Claim was processed as adjustment to previous claim.",
        "entityCode": "1E",
        "entity": "Health Maintenance Organization (HMO)",
        "effectiveDate": "20161201",
        "submittedAmount": "1229",
        "amountPaid": "219",
        "trackingNumber": "C1234567891028297LL",
        "claimServiceDate": "20160722",
        "tradingPartnerClaimNumber": "AAAAAAAAAAA3"
      }
    }
  ],
  "reassociationKey": "123456789",
  "status": "success",
  "meta": {
    "senderId": "APIM_Marketplace_SBX_Native_ExrHHlUnWaTxwjVs",
    "traceId": "e4e108bd-1c36-de0d-9a14-f3bc5422ab28",
    "applicationMode": "sandbox"
  }
}

  • The claimstatus/v2/raw-x12/enhanced endpoint provides additional information above the claimstatus/v2/ endpoint response information currently available to submitters.
curl --request POST \
     --url https://sandbox-apigw.optum.com/medicalnetwork/eligibility/v3/raw-x12 \
     --header 'Authorization: Bearer eyJraWQiOiIxIiwidHlwIjoiSldUIi...' \ //your Bearer token
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "x12": "ISA*00*          *01*password  *ZZ*something      *ZZ*EMDEON         *200708*0603*^*00501*123456789*0*P*:~GS*HS*LLX1210001*UHC*20200708*0603*123456789*X*005010X279A1~ST*270*123456789*005010X279A1~BHT*0022*13*123456789*20200708*0603~HL*1**20*1~NM1*PR*2*Unknown*****PI*serviceId~HL*2*1*21*1~NM1*1P*2*provider_name*****XX*0123456789~PRV*AD*PXC*54321g~HL*3*2*22*1~TRN*1*123456789*9EMDEON999~NM1*IL*1*doeOne*johnOne****MI*0000000000~REF*SY*555443333~REF*HJ*card123~DMG*D8*18800102*M~HL*4*3*23*0~TRN*1*123456789*9EMDEON999~NM1*03*1*doeone*janeOne~REF*6P*1111111111~DMG*D8*18160421*F~DTP*291*RD8*20100101-20100102~EQ*98~SE*21*123456789~GE*1*123456789~IEA*1*123456789~\""
}'

A few notes about this example in the X12 transmission payload:

  • The ISA, GS, and ST control segments are used as envelopes to encapsulate the medical transaction data and confidentially manage its transmission.
  • _ The GS header ends with the Version ID code (005010X212), which describes the EDI standard used in the transaction.
  • The ST header states the _type of medical transaction, which is 276 in this example (Claim Status submission).

    When the envelope headers are complete:
    • The Beginning of Hierarchical Transaction (BHT) field shows the start of the data that forms the Claim Status medical transaction.
    • The end of the claim status request body carries the TRN (Claim Tracking Number) and REF (Payer Claim Control Number) segments.
{
  "meta": {
    "senderId": "APIM_Marketplace_SBX_Native_ExrHHlUnWaTxwjVs",
    "applicationMode": "sandbox",
    "traceId": "5c081006-2081-69dd-2e13-2628adceedc2",
    "outboundTraceId": "123456789"
  },
  "x12": "ISA*00*          *01*password  *ZZ*EMDEON         *ZZ*something      *200708*0603*^*00501*123456789*0*T*:~GS*HB*UHC*LLX1210001*20131015*2219*123456789*X*005010X279A1~ST*271*946380841*005010X279A1~BHT*0022*11*123456789*20200708*0603~HL*1**20*1~NM1*PR*2*Unknown*****PI*serviceId~HL*2*1*21*1~NM1*1P*2*provider_name*****XX*0123456789~HL*3*2*22*0~TRN*1*123456789*9EMDEON999*~NM1*IL*1*doeOne*johnOne***~REF*SY*111111111~DMG*D8*18800102*M~DTP*291*RD8*20160818-20160818~EB*1*IND*30*QM*QMB~DTP*292*RD8*20160818-20160818~EB*R*IND*30*MA*MEDICARE PART A~DTP*291*RD8*20160818-20160818~EB*R*IND*30*MB*MEDICARE PART B~DTP*291*RD8*20160818-20160818~SE*19*946380841~GE*1*123456789~IEA*1*123456789~"
}

Core claim information consists of the STC segments, which vary by loop, based on the entities receiving the status information:

  • Information Receiver status information
  • Provider status information
  • Claim Level status information
  • ServiceLine status information

Claim Level status information and service line status information can include monetary amounts.
The second and third STC segments in the response above show monetary amounts of $184.05 and $219.
Responses might not provide monetary amounts, based on the current claim status. Also, payers may or may not support service line reporting. See page 138 of the ASC X12 276/277 Implementation Guide for Claim Level Status Information and page 160 for Service Lines Status Information.