Skip to main content
This document covers the two main Stedi MCP tools: 1. Search for Payer 2. Eligibility Check

Tool 1: Search for Payer

What It Does

Searches Stedi’s payer database to find the correct Payer ID for an insurance company. Use this before running an eligibility check when you have the insurance company name but need the Payer ID.

When to Use

  • Patient provides insurance company name but you need the Payer ID
  • Patient gives insurance name with typos or partial name
  • You need to verify a payer supports eligibility checks
  • You need to find related payer IDs (e.g., Cigna vs Cigna Medicare)

Input Parameters

ParameterRequiredDescriptionExample
queryYesInsurance company name or partial name"cigna"
pageSizeNoNumber of results to return (recommended: 5-10)5
pageSizeUse Case
5Quick lookup, show top matches only
10Standard search, good balance
20Broader search when unsure of payer name
_💡 Tip: Always set pageSizeto _ 5 by default to avoid returning too many results. If no good match is found, ask the user for more details and search again.

Example Request

{
  "query": "blue cross texas",
  "pageSize": 5
}

Example Response

{
  "payers": [
    {
      "payerId": "BCBSTX",
      "payerName": "Blue Cross Blue Shield of Texas",
      "availableTransaction: ["eligibility", "claims"]
    },
    {
      "payerId": "BCBSTX_MC",
      "payerName": "Blue Cross Blue Shield of Texas - Medicare",
      "availableTransaction: ["eligibility"]
    }
  ]
}

Response Fields

FieldDescription
payerIdUnique Stedi Payer ID - use this for eligibility check
payerNameFull insurance company name
availableTransactionsWhat transactions this payer supports

Tips for Best Results

  • Use partial names: "cigna" finds all Cigna plans
  • Works with typos: "aetna" or "etna" both work
  • Be specific if needed: "cigna medicare" vs just "cigna"
  • If multiple results, ask user to clarify which plan

Common Issues

IssueFix
No results foundTry shorter search term or different spelling
Too many resultsAsk user for more details (Medicare? Medicaid? Commercial?)
Wrong payer selectedConfirm with user before proceeding

Tool 2: Eligibility Check

What It Does

Runs a real-time eligibility verification with an insurance payer. Returns coverage status, benefits information, copays, deductibles, and more.

When to Use

  • Patient wants to book appointment with insurance
  • Need to verify active coverage before scheduling
  • Need to get copay/deductible information
  • Need to check if provider is in-network

Input Parameters

Required Parameters

ParameterDescriptionExample
tradingPartnerServiceIdPayer ID from search_for_payer"CIGNA"
provider.npiProvider’s 10-digit NPI number"1234567890"
provider.organizationNamePractice/Provider name"Your Practice Name"
subscriber.firstNamePatient’s legal first name"Jane"
subscriber.lastNamePatient’s legal last name"Doe"
subscriber.dateOfBirthDOB in YYYYMMDD format"19850215"
subscriber.memberIdInsurance member ID"XYZ123456789"
encounter.serviceTypeCodesArray of service type codes["30"]

Optional Parameters

ParameterDescriptionExample
subscriber.genderM, F, or U"F"
subscriber.ssnSocial Security Number (for Medicare MBI lookup)"123456789"
encounter.dateOfServiceService date YYYYMMDD"20260127"
encounter.procedureCodeCPT code"99214"
encounter.productOrServiceIDQualifierREQUIRED if procedureCode is set"HC"
dependentsArray for dependent patientsSee example below

Service Type Codes

CodeDescriptionUse For
30Health Benefit Plan CoverageGeneral benefits check
MHMental HealthTherapy, counseling
A4PsychiatricPsychiatric services
A6PsychotherapyPsychotherapy sessions
A8Psychiatric - OutpatientOutpatient psych
35Dental CareDental services
88Prescription DrugPharmacy benefits
98Physical TherapyPT services
UCUrgent CareUrgent care visits
ALVisionVision services
BZHome HealthHome health services

Product or Service ID Qualifiers

CodeDescriptionUse For
HCHCPCS (includes CPT)CPT codes like 99214, 90837
IDICD-10Diagnosis codes
ADAmerican Dental AssociationDental procedure codes
_⚠️ IMPORTANT: If you include procedureCode, you MUST include _productOrServiceIDQualifier

Example Requests

Basic Request

{
  "tradingPartnerServiceId": "CIGNA",
  "provider": {
    "organization: "Your Practice Name",
    "npi": "1234567890"
  },
  "subscriber": {
    "firstName": "Jane",
    "lastName": "Doe",
    "dateOfBirth": "19850215",
    "memberId": "XYZ123456789"
  },
  "encounter": {
    "serviceTypeCodes": ["30"]
  }
}

With CPT Code

{
  "tradingPartnerServiceId": "CIGNA",
  "provider": {
    "organization: "Your Practice Name",
    "npi": "1234567890"
  },
  "subscriber": {
    "firstName": "Jane",
    "lastName": "Doe",
    "dateOfBirth": "19850215",
    "memberId": "XYZ123456789"
  },
  "encounter": {
    "serviceTypeCodes": ["30"],
    "procedureCode": "99214",
    "productOrServiceIDQualifier": "HC"
  }
}

With Dependent

{
  "tradingPartnerServiceId": "CIGNA",
  "provider": {
    "organization: "Your Practice Name",
    "npi": "1234567890"
  },
  "subscriber": {
    "firstName": "John",
    "lastName": "Doe",
    "dateOfBirth": "19800101",
    "memberId": "XYZ123456789"
  },
  "dependents": [
    {
      "firstName": "Jane",
      "lastName": "Doe",
      "dateOfBirth": "20100515",
      "relation: "19"
    }
  ],
  "encounter": {
    "serviceTypeCodes": ["30"]
  }
}

Response Fields

Key Fields

Field PathDescription
idStedi Check ID (ec_xxxxx)
meta.traceIdTrace ID for support inquiries
subscriber.firstNamePatient first name
subscriber.lastNamePatient last name
subscriber.memberIdMember ID
subscriber.dateOfBirthDate of birth
payer.nameInsurance company name
planStatus[0].statusCoverage status (Active Coverage/Inactive)
planStatus[0].statusCodeStatus code (1=Active, 6=Inactive)
planStatus[0].planDetailsPlan name
planInformation.groupNumberGroup number
planInformation.groupDescriptionGroup name
planDateInformation.planBeginCoverage start date (YYYYMMDD)
planDateInformation.planEndCoverage end date (YYYYMMDD)

Benefits Information Fields

Field PathDescription
benefitsInformation[].codeBenefit type code
benefitsInformation[].nameBenefit type name
benefitsInformation[].coverageLevelCodeIND (Individual) or FAM (Family)
benefitsInformation[].benefitAmountDollar amount
benefitsInformation[].benefitPercentPercentage (for coinsurance)
benefitsInformation[].inPlanNetworkIndicatorCodeY=In-Network, N=Out-of-Network
benefitsInformation[].timeQualifierCode23=Calendar Year, 29=Remaining, 27=Per Visit
benefitsInformation[].authOrCertIndicatorY=Auth Required, N=Not Required

Benefit Type Codes

CodeNameWhat It Is
1Active CoverageConfirms coverage is active
ACo-InsurancePercentage patient pays after deductible
BCo-PaymentFixed copay amount per visit
CDeductibleDeductible amount
GOut of Pocket (Stop Loss)Out-of-pocket maximum
FLimitationsVisit limits or restrictions
CBCoverage BasisPrior authorization requirement

Coverage Level Codes

CodeMeaning
INDIndividual
FAMFamily
CHDChildren Only
DEPDependents
EMPEmployee Only
ESPEmployee and Spouse

Time Qualifier Codes

CodeMeaning
23Calendar Year
24Year to Date
29Remaining
27Per Visit
7Per Day

Network Indicator Codes

CodeMeaning
YIn-Network
NOut-of-Network
WNot Applicable
UUnknown

Error Codes

Connectivity Errors (Retry Automatically)

CodeDescriptionWhat to Do
42Unable to Respond at Current TimeWait 15 seconds, retry up to 2 minutes
79Invalid RequestRetry with same data
80Unable to RespondRetry, then offer manual verification

Patient Not Found (Troubleshoot)

CodeDescriptionWhat to Do
72Invalid/Missing Subscriber IDVerify member ID spelling, remove dashes
75Subscriber/Insured Not FoundTry legal name, verify DOB, try without member ID

Provider Errors (Escalate to Billing Team)

CodeDescriptionWhat to Do
41Authorization RestrictionsBilling team to follow up
70Certification Info Not FoundManual verification needed
73Invalid/Missing ProviderCheck NPI, billing team to verify

Data Errors (Fix and Retry)

CodeDescriptionWhat to Do
15Required Data MissingAsk for group number or additional info
35Out of Date InformationConfirm current insurance card
43Invalid/Missing Provider IDVerify NPI number

Common Issues and Fixes

IssueFix
"Missing conditional field: productOrServiceIDQualifier is required"Add "productOrServiceIDQualifier": "HC" when using procedureCode
"Subscriber Not Found" (Code 75)Verify name matches card exactly, try legal name instead of nickname, try without member ID
"Invalid Member ID" (Code 72)Double-check for typos, remove dashes or spaces, try with leading zeros
Response missing copay/deductibleTry different service type code, some payers return limited data
Timeout or no responseRetry automatically, if persists offer manual verification
Multiple plan statuses returnedCheck planStatus[0] for primary status, review all for complete picture

Workflow Summary

StepActionDetails
1Get Insurance NameAsk patient for insurance company name
2Search for PayerUse search_for_payer tool, get payerId from response
3Collect Patient InfoFirst name (legal), last name, DOB, member ID
4Run Eligibility CheckUse eligibility_check with payer ID, provider info, patient info
5Interpret ResultsCheck planStatus[0].status, extract benefits from benefitsInformation
6Communicate to PatientShare coverage status, copay amount, include disclaimer
7Log ResultsSave all verification details for billing team follow-up

Best Practices

Data Collection

  • Always use patient’s legal name as shown on insurance card
  • Format DOB as YYYYMMDD (no dashes)
  • Confirm member ID spelling with patient
  • Ask clarifying questions if insurance name is ambiguous

Running Checks

  • Use one service type code per request for clearest results
  • Always include productOrServiceIDQualifier: "HC" when using CPT codes
  • Retry connectivity errors automatically before alerting user

Communicating Results

  • Always state this is a preliminary eligibility check
  • Explain that billing team will confirm details
  • Provide clear next steps for inactive or out-of-network results

Logging

  • Save Stedi Check ID and Trace ID for all verifications
  • Log complete benefits information for billing team
  • Note any errors or missing data for follow-up