Sandbox Mock Scenarios

Sandbox Mock Scenarios

Use this guide to test Sandbox mock responses for Real-Time Eligibility.

This page is intentionally about Sandbox-only fake data, not production behavior. The Sandbox returns canned responses for these mock scenarios. Do not send or use PHI in the Sandbox environment.

Important Sandbox Rules

  • All Sandbox mock responses use fake data for developer code-path testing.
  • Do not treat these responses as actual payer responses or payer-specific expectations.
  • Mock responses can contain strange or divergent data. Names, dates, payer names, benefit details, eligibility outcomes, and linked Coverage Discovery results may not all line up the way real payer data would.
  • The x-optum-rcmelig-mock-scenarios header must be an exact, case-sensitive string match.
  • Use this header only in Sandbox. If the header is sent to Production, the request is rejected with 403 Permission Denied.
  • Mock header scenario support requires the relevant Sandbox configuration to be completed before testing.
  • The selected mock scenario controls the canned outcome.

Coverage Discovery Rules

Rows marked Yes in Coverage Discovery Link Header* can produce linked Coverage Discovery mock responses. Those linked responses appear only when Coverage Discovery is enabled for the product in Sandbox and the related mock-response configuration has been completed before testing.

Coverage Discovery responses are asynchronous. Expect any linked mock result through the configured async response path for the product, not in the initial real-time eligibility HTTP response.

With the standard Sandbox Coverage Discovery configuration, a single real-time mock scenario can return multiple linked Coverage Discovery record ids. Some linked CD record ids return success with eligible coverage. Linked CD record ids that do not have a configured mock response will most likely return failure with a transaction status of processing_error, ineligible, or another non-eligible status. The exact set depends on the product's Sandbox Coverage Discovery configuration.

The Request Data Needed column lists special request data required for the linked Coverage Discovery mock path. Blank means there is no known extra request-data requirement beyond using the exact scenario header and otherwise valid Sandbox request data.

Shared Header

Use the same mock scenario header for JSON and X12 real-time eligibility requests.

x-optum-rcmelig-mock-scenarios: <scenario-value>

In Sandbox, this header is required for the scenario rows in this guide.

JSON Real-Time

For normalized JSON real-time requests on POST /rcm/eligibility/v1, use the standard Sandbox request model and one of the JSON scenario header values below.

You can also use the standard IMN Sandbox mock scenarios for the JSON endpoint. When using those IMN mock scenarios, do not send x-optum-rcmelig-mock-scenarios; use the IMN-supported request values instead. Do not combine the IMN mock path with the header-based scenarios in this guide.

JSON Sandbox real-time requests can also use the Medical Network-supported values and tradingPartnerServiceId values documented here:

For the JSON endpoint, the payer id shown in the table is sent as tradingPartnerServiceId in the request. These Sandbox routing values are IMN payer ids. To review additional supported payers, use the Optum Customer Connect payer list.

JSON Scenario Headers

Scenario Header ValuetradingPartnerServiceIdOutcomeCoverage Discovery Link Header*Request Data NeededLinked Coverage Discovery Mock ResultNotes*
BCBS-TX-SB900-ELIGIBLE-HMO-DEPENDENT-SPOUSE-RTE-CANONICALSB900eligible spouseYesLinked CD record id success with eligible Aetna Medicare Advantage HMO coverage.Initial response is BCBS Texas HMO-style eligible content.
BCBS-TX-SB900-INELIGIBLE-DEPENDENT-CHILD-RTE-CANONICALSB900ineligible dependent childYesAddress state must be TX.Linked CD record id success with eligible Texas Medicaid child coverage; additional linked CD record ids without configured mocks may return failure with processing_error, ineligible, or another non-eligible transaction status.Initial response is ineligible for BCBS Texas; linked responses can show whether other coverage is found.
BCBS-TX-SB900-REJECTED-INVALID-PROVIDER-NPI-AAA43-RTE-CANONICALSB900rejected / invalid provider NPINoUse to test provider validation handling.
UNSUPPORTEDPAYER-UNAMN-REJECTED-INVALID-PAYER-AAA79-RTE-CANONICALUNAMNinvalid payer / AAA79 rejectionNoUse to test unsupported-payer rejection handling.
MEDICARE-CMSMED-ELIGIBLE-RTE-CANONICALCMSMEDeligible selfNoMedicare-style canned response.
MEDICARE-CMSMED-PATIENT-NOT-FOUND-RTE-CANONICALCMSMEDpatient not foundYesBirth date must be older than 65.Linked CD record ids success with eligible Medicare HMO coverage and eligible Aetna HMO coverage; additional linked CD record ids without configured mocks may return failure with processing_error, ineligible, or another non-eligible transaction status.Use to test patient-unknown handling with linked Coverage Discovery results.
AETNA-60054-ELIGIBLE-QMB-RTE-CANONICAL60054eligible selfYesSingle linked CD record id success for the Medicare path.Qualified Medicare Beneficiary (QMB) canned response.
CIGNA-CIGNA-ELIGIBLE-RTE-CANONICALCIGNAeligible selfNoCommercial eligible case.
TXMEDICAID-SKTX0-ELIGIBLE-RTE-CANONICALSKTX0eligible selfNoMedicaid-style canned response.
AETNABETTERHEALTH-IL-26337-PENDING-DEPENDENT-SPOUSE-RTE-CANONICAL26337pending spouseNoUse to test pending outcome handling.
CIGNA-CIGNA-REJECTED-DEPENDENT-DUPLICATE-SUBSCRIBER-ID-AAA76-RTE-CANONICALCIGNAduplicate subscriber / AAA76 rejectionNoSubscriber-level reject in normalized response.
AETNA-60054-REJECTED-DEPENDENT-CHILD-SUBSCRIBER-NOT-FOUND-AAA75-RTE-CANONICAL60054subscriber not found / AAA75 rejectionNoUse to test child reject-path handling.
AETNA-60054-PAYER-UNAVAILABLE-DEPENDENT-CHILD-AAA42-RTE-CANONICAL60054payer unavailable / AAA42NoUse to test temporary payer failure behavior.
BCBS-VA-SB923-PAYER-UNAVAILABLE-DEPENDENT-SPOUSE-RTE-CANONICALSB923payer unavailable spouseNoSpouse-specific temporary failure case.
MEDICARE-XMEDX-ELIGIBLE-RTE-CANONICALXMEDXeligible selfNoAdditional Medicare-style eligible case.
WELLCARE-WLLCR-CONDITIONAL-RTE-CANONICALWLLCRconditional selfNoUse to test conditional result handling.
BCBS-NJ-22099-INELIGIBLE-RTE-CANONICAL22099ineligible selfYesLinked CD record id success with eligible Cigna commercial coverage; additional linked CD record ids without configured mocks may return failure with processing_error, ineligible, or another non-eligible transaction status.Initial response is ineligible for BCBS NJ; linked responses can show whether other coverage is found.
  • Coverage Discovery link behavior and linked-response notes apply only when Coverage Discovery is enabled for the product in Sandbox.

X12 Real-Time

For X12 real-time requests on POST /rcm/eligibility/v1/real-time/x12, use one of the X12 scenario header values below.

The payer id in the request must align to the scenario. Send the payer id in the X12 NM1*PR*2 segment's PI element:

NM1*PR*2*<PAYER NAME>*****PI*<IMN PAYER ID>~

Example:

NM1*PR*2*TEXAS BLUE CROSS BLUE SHIELD*****PI*SB900~

Most submitted member and demographic details do not drive the returned subscriber, patient, or benefit content. The response remains canned. The payer id still must match the selected scenario.

X12 Scenario Headers

Scenario Header ValueSend PI* ValueOutcomeCoverage Discovery Link Header*Request Data NeededLinked Coverage Discovery Mock ResultNotes*
BCBS-TX-SB900-ELIGIBLE-HMO-DEPENDENT-SPOUSE-RTE-X12SB900eligible spouseYesLinked CD record id success with eligible Aetna Medicare Advantage HMO coverage.Initial response is BCBS Texas HMO-style eligible content.
BCBS-TX-SB900-INELIGIBLE-DEPENDENT-CHILD-RTE-X12SB900ineligible dependent childYesAddress state must be TX.Linked CD record id success with eligible Texas Medicaid child coverage; additional linked CD record ids without configured mocks may return failure with processing_error, ineligible, or another non-eligible transaction status.Initial response is ineligible for BCBS Texas; linked responses can show whether other coverage is found.
BCBS-TX-SB900-REJECTED-INVALID-PROVIDER-NPI-AAA43-RTE-X12SB900rejected / invalid provider NPINoUse to test provider validation handling.
UNSUPPORTEDPAYER-UNAMN-REJECTED-INVALID-PAYER-AAA79-RTE-X12UNAMNinvalid payer / AAA79 rejectionNoUse to test unsupported-payer rejection handling.
MEDICARE-CMSMED-ELIGIBLE-RTE-X12CMSMEDeligible selfNoMedicare-style canned response.
MEDICARE-CMSMED-PATIENT-NOT-FOUND-RTE-X12CMSMEDpatient not foundYesBirth date must be older than 65.Linked CD record ids success with eligible Medicare HMO coverage and eligible Aetna HMO coverage; additional linked CD record ids without configured mocks may return failure with processing_error, ineligible, or another non-eligible transaction status.Use to test patient-unknown handling with linked Coverage Discovery results.
AETNA-60054-ELIGIBLE-QMB-RTE-X1260054eligible selfYesSingle linked CD record id success for the Medicare path.Qualified Medicare Beneficiary (QMB) canned response.
CIGNA-CIGNA-ELIGIBLE-RTE-X12CIGNAeligible selfNoCommercial eligible case.
TXMEDICAID-SKTX0-ELIGIBLE-RTE-X12SKTX0eligible selfNoMedicaid-style canned response.
AETNABETTERHEALTH-IL-26337-PENDING-DEPENDENT-SPOUSE-RTE-X1226337pending spouseNoUse to test pending outcome handling.
CIGNA-CIGNA-REJECTED-DEPENDENT-DUPLICATE-SUBSCRIBER-ID-AAA76-RTE-X12CIGNAduplicate subscriber / AAA76 rejectionNoSubscriber-level reject in normalized response.
AETNA-60054-REJECTED-DEPENDENT-CHILD-SUBSCRIBER-NOT-FOUND-AAA75-RTE-X1260054subscriber not found / AAA75 rejectionNoUse to test child reject-path handling.
AETNA-60054-PAYER-UNAVAILABLE-DEPENDENT-CHILD-AAA42-RTE-X1260054payer unavailable / AAA42NoUse to test temporary payer failure behavior.
BCBS-VA-SB923-PAYER-UNAVAILABLE-DEPENDENT-SPOUSE-RTE-X12SB923payer unavailable spouseNoSpouse-specific temporary failure case.
MEDICARE-XMEDX-ELIGIBLE-RTE-X12XMEDXeligible selfNoAdditional Medicare-style eligible case.
WELLCARE-WLLCR-CONDITIONAL-RTE-X12WLLCRconditional selfNoUse to test conditional result handling.
BCBS-NJ-22099-INELIGIBLE-RTE-X1222099ineligible selfYesLinked CD record id success with eligible Cigna commercial coverage; additional linked CD record ids without configured mocks may return failure with processing_error, ineligible, or another non-eligible transaction status.Initial response is ineligible for BCBS NJ; linked responses can show whether other coverage is found.
  • Coverage Discovery link behavior and linked-response notes apply only when Coverage Discovery is enabled for the product in Sandbox.

Expected Member Story

Dependent and spouse scenarios return a fixed fake subscriber/patient story:

  • Spouse scenarios return subscriber JANEONE DOEONE and spouse/patient JOHNTWO DOEONE.
  • Dependent child scenarios return subscriber JANEONE DOEONE and child/patient JOHNTWO DOEONE.
  • Self scenarios using JANEONE return gender F.
  • Self scenarios using JOHNONE return gender M.

These returned names, DOBs, and genders are canned fake data. They do not come from the request payload.

X12 Request Example

ISA*00*          *01*SomePwd   *ZZ*TPG00000       *ZZ*IMNDIRECT      *260101*1201*^*00501*900000001*0*T*:~
GS*HS*SUBMITTER*RECEIVER*20260101*1201*900000001*X*005010X279A1~
ST*270*900000001*005010X279A1~
BHT*0022*13*123456789*20260101*120101~
HL*1**20*1~
NM1*PR*2*WELLCARE HEALTH PLANS*****PI*WLLCR~
HL*2*1*21*1~
NM1*1P*2*EXAMPLE PROVIDER*****XX*1760854442~
HL*3*2*22*0~
NM1*IL*1*ANYLAST*ANYFIRST****MI*ANYMEMBERID~
DMG*D8*19900101*F~
DTP*291*D8*20260101~
EQ*30~
SE*12*900000001~
GE*1*900000001~
IEA*1*900000001~

Send the X12 string in the JSON body:

{
  "x12": "ISA*00*...~IEA*1*900000001~"
}

Did this page help you?