How to map a Medicare 271 eligibility response to a CWF

Jun 2, 2025

Healthcare

Stedi’s Eligibility Check APIs let you get Medicare 271 eligibility responses as JSON. But your system – or one downstream – might need to display that JSON data in Common Working File (CWF) fields. Many providers still expect a CWF-style layout.

This guide shows how to map Stedi’s JSON 271 eligibility responses to CWF fields. It also covers what the CWF was, how Medicare eligibility checks work today, and why the CWF format still persists.

What Is the Common Working File (CWF)?

The Centers for Medicare & Medicaid Services (CMS) built the CWF in the 1980s to centrally manage Medicare eligibility. It was the source of truth for who was covered, when, and under which Medicare part.

The system produced fixed-format text files – also called “CWFs” – for mainframe terminals and printed reports. Each file had a set layout, with fields like member ID, coverage type, and benefit dates. For example:

Example of a CWF-like layout with fixed fields

How Medicare eligibility checks work today

CMS replaced the CWF in 2019 with the HIPAA Eligibility Transaction System (HETS). HETS returns standard 271 eligibility responses, the same as commercial insurers. Medicare 271s include a lot of Medicare-specific info, including:

  • Medicare Part A and Part B entitlements and dates

  • Part C (Medicare Advantage) and Part D (Prescription Drug) plan info

  • Deductibles, copays, and benefit limits

  • Remaining Skilled Nursing Facility (SNF) days

  • ESRD transplant or dialysis dates

  • Smoking cessation visits and therapy caps

  • Qualified Medicare Beneficiary (QMB), secondary payers, Medicaid crossover, and other coordination of benefits information.

In Stedi’s JSON 271 eligibility responses, that data lives under benefitsInformation. Each object describes a specific coverage, limit, or service type. For example:

{
  ...
  "subscriber": {
    "memberId": "123456789",
    "firstName": "JANE",
    "lastName": "DOE",
    ...
  },
  ...
  "benefitsInformation": [
    {
      "code": "B",
      "name": "Co-Payment",
      "serviceTypeCodes": ["30"],
      "serviceTypes": ["Health Benefit Plan Coverage"],
      "insuranceTypeCode": "MA",
      "insuranceType": "Medicare Part A",
      "timeQualifierCode": "7",
      "timeQualifier": "Day",
      "benefitAmount": "408",
      "inPlanNetworkIndicatorCode": "W",
      "inPlanNetworkIndicator": "Not Applicable",
      "benefitsDateInformation": {
        "admission": "20241231",
        "admissions": [
          {
            "startDate": "20240101",
            "endDate": "20241231"
          }
        ]
      },
      "benefitsServiceDelivery": [
        {
          "unitForMeasurementCode": "Days",
          "timePeriodQualifierCode": "30",
          "timePeriodQualifier": "Exceeded",
          "numOfPeriods": "60",
          "unitForMeasurementQualifierCode": "DA",
          "unitForMeasurementQualifier": "Days"
        },
        {
          "unitForMeasurementCode": "Days",
          "timePeriodQualifierCode": "31",
          "timePeriodQualifier": "Not Exceeded",
          "numOfPeriods": "90",
          "unitForMeasurementQualifierCode": "DA",
          "unitForMeasurementQualifier": "Days"
        },
        {
          "timePeriodQualifierCode": "26",
          "timePeriodQualifier": "Episode",
          "numOfPeriods": "1"
        }
      ]
    }
  ]
}

How to use this guide

Stedi’s JSON 271 eligibility response is easier to use in modern applications. But if your customers need the old CWF layout, you’ll need to map each field from JSON.

This guide isn’t an official spec. It’s a practical reference. Each section shows a CWF-style layout, a table of field mappings, and notes on when to use each field. For details on our JSON 271 eligibility responses, see our API documentation.

Provider information

Provider information in a CWF-like format

CWF field

JSON 271 eligibility response property

Organization Name

provider.providerOrgName

NPI ID

provider.npi

Patient Demographics

The following table includes patient demographics from the SUBMITTED TO PAYER and RETURNED BY PAYER sections of the sample CWF.

Patient demographics section in an example CWF

CWF field

JSON 271 eligibility response property

When to use

SUBMITTED TO PAYER


First Name

subscriber.firstName


Last Name

subscriber.lastName


Member ID (MBI)

subscriber.memberId


D.O.B.

subscriber.dateOfBirth


Eligibility Date(From)

planDateInformation.eligibility (first date)

planDateInformation.eligibility can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Eligibility Date(To)

planDateInformation.eligibility (second date, if present)

planDateInformation.eligibility can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Service Types(s)

benefitsInformation.serviceTypeCodes



benefitsInformation.compositeMedicalProcedureIdentifier.procedureCode



benefitsInformation.compositeMedicalProcedureIdentifier.procedureModifiers


RETURNED TO PAYER


First Name

subscriber.firstName


Middle Name

subscriber.middleName


Last Name

subscriber.lastName


Suffix

subscriber.suffix


Member ID (MBI)

subscriber.memberId


D.O.B.

subscriber.dateOfBirth


Gender

subscriber.gender


Address Line 1

subscriber.address.address1


Address Line 2

subscriber.address.address2


City

subscriber.address.city


State

subscriber.address.state


Zip Code

subscriber.address.postalCode


Benefit Information

In the JSON 271 eligibility response, benefitsInformation objects contain most of the benefits information.

The benefitsInformation.insuranceTypeCode property indicates the type of insurance policy within a program, such as Medicare. A code of MA indicates Medicare Part A. A code of MB indicates Medicare Part B. For a complete list of insurance type codes, see Insurance Type Codes in our docs.

The benefitsInformation.serviceTypeCodes property identifies the type of healthcare services the benefits information relates to. A service type code (STC) of 30 relates to general benefits information. For a complete list of STCs, see Service Type Codes in our docs.

Benefit Information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.plan (first date)



All of the following must be true:

  • benefitsInformation.code = 1 (Active Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.plan (second date, if present)

All of the following must be true:

  • benefitsInformation.code = 1 (Active Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Ineligible Start

benefitsInformation.benefitsDateInformation.plan (first date)



All of the following must be true:

  • benefitsInformation.code = 6 (Inactive)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Ineligible End

benefitsInformation.benefitsDateInformation.plan (second date, if present)

All of the following must be true:

  • benefitsInformation.code = 6 (Inactive)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Date of Death

planDateInformation.dateOfDeath


Lifetime Psychiatric Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = K (Reserve)

  • benefitsInformation.serviceTypeCodes = A7 (Psychiatric - Inpatient)

  • benefitsInformation.timeQualifierCode = 32 (Lifetime)

  • benefitsInformation.quantityQualifierCode = DY (Days)

Lifetime Reserve Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = K (Reserve)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) 

  • benefitsInformation.timeQualifierCode = 32 (Lifetime)

  • benefitsInformation.quantityQualifierCode = DY (Days)

Smoking Cessation Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = 67 (Smoking Cessation)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B) 

  • benefitsInformation.timeQualifierCode = 22 (Service Year)

  • benefitsInformation.quantityQualifierCode = VS (Visits)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 29 (Remaining)

Initial Cessation Date

benefitsInformation.benefitsDateInformation.plan

This information is only available if an initial counseling visit was used in the past 12 months.

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = 67 (Smoking Cessation)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 22 (Service Year)

  • benefitsInformation.quantityQualifierCode = VS (Visits)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 29 (Remaining)

ESRD Dialysis Date

benefitsInformation.benefitsDateInformation.discharge

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

ESRD Transplant Date

benefitsInformation.benefitsDateInformation.service

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

ESRD Coverage Period

benefitsInformation.benefitsDateInformation.plan

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

Plan Benefits

Plan Benefits in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Medicare Part A

Type

Use Base when all of the following are true:

  • benefitsInformation.timeQualifierCode = 7 (Day)

  • benefitsInformation.benefitsDateInformation.admission contains a full year date range, such as 20980101-20991231.



Use Spell when all of the following are true:

  • benefitsInformation.timeQualifierCode = 7 (Day)

  • benefitsInformation.benefitsDateInformation.admission contains a partial year date range, such as 20980506-20980508.


First Bill

benefitsInformation.benefitsDateInformation.admissions.startDate


Last Bill

benefitsInformation.benefitsDateInformation.admissions.endDate


Hospital Days Full

For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode31 (Not Exceeded).



For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode29 (Remaining).


Hospital Days Colns

For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when:

  • benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode30 (Exceeded).


For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when:

  • benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode29 (Remaining).


Hospital Days Base

benefitsInformation.benefitAmount


SNF Days Full

benefitsInformation.BenefitsServiceDelivery.numOfPeriods

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 31 (Not Exceeded)

SNF Days Colns

benefitsInformation.BenefitsServiceDelivery.numOfPeriods

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 30 (Exceeded)

SNF Days Base

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.timeQualifierCode = 7 (Day)

Inpatient Deductible

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = C (Deductible)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

Medicare Part B

Deductible Remaining

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = C (Deductible)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Physical Therapy

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AE (Physical Medicine) 

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Occupational Therapy

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AD (Occupational Therapy)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Blood Pints Part A/B

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = E (Exclusions)

  • benefitsInformation.serviceTypeCodes = 10 (Blood Charges)

  • benefitsInformation.quantityQualifierCode = DB (Deductible Blood Units)

  • benefitsInformation.benefitQuantity = Blood Units Excluded

  • benefitsInformation.benefitsServiceDelivery.quantityQualifierCode = FL (Units)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifier = Blood Units Remaining

  • benefitsInformation.benefitsDateInformation.plan = A date or date range in the current calendar year

Medicare Part A Stays

Type

Use Hospital when:

  • benefitsInformation.serviceTypeCodes30 (Health Benefit Plan Coverage)



Use Hospital Stay when:

  • benefitsInformation.serviceTypeCodes48 (Hospital - Inpatient)



Use SNF Stay when:

  • benefitsInformation.serviceTypeCodesAH (Skilled Nursing Care - Room and Board)


The following must be true:

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

Start Date

benefitsInformation.benefitsDateInformation.plan (first date)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

End Date

benefitsInformation.benefitsDateInformation.plan (second date, if present)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Billing NPI

benefitsInformation.benefitsRelatedEntities.entityIdentificationValue

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentification is FA (Facility Identification)

Qualified Medicare Beneficiary (QMB) Status

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.insuranceTypeCode = QM (Qualified Medicare Beneficiary)

Qualified Medicare Beneficiary (QMB) Status information in a CWF example

CWF field

JSON 271 eligibility response property

When to use

Period From

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Period Through

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

QMB Plan

benefitsInformation.planCoverage


Medicare Secondary Payor

Medicare Secondary Payor info in an example CWF file

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = 14, 15, 47, or WC

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Policy Number

benefitsInformation.benefitsAdditionalInformation.insurancePolicyNumber


Insurer

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Type

benefitsInformation.insuranceType


Medicare Advantage

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = U (Contact Following Entity for Eligibility or Benefit Information)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage) OR both 30 (Health Benefit Plan Coverage) AND CQ (Case Management)

  • benefitsInformation.insuranceTypeCode = HM (HMO), HN (HMO - Medicare Risk), IN (Indemnity), PR (PPO), or PS (POS)

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Primary Payer

Medicare Advantage information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsInformation.benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsInformation.benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Plan Code

benefitsInformation.benefitsAdditionalInformation.planNumber


Payer Name

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Plan Name

benefitsInformation.benefitsRelatedEntities.entityName


Website

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (URL)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Uniform Resource Locator (URL)



In most cases, CMS only provides just the payer’s domain name, such as examplepayer.com, not a complete URL.

Phone Number

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (Telephone)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Phone Number

Message(s)

benefitsInformation.additionalInformation.description


Part D

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.serviceTypeCodes = 88 (Pharmacy)

Medicare Part D info in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.benefit (second date, if present)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Plan Code

benefitsInformation.benefitsAdditionalInformation.planNumber


Payer Name

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Plan Name

benefitsInformation.benefitsRelatedEntities.entityName


Website

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (URL)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Uniform Resource Locator (URL)



In most cases, CMS only provides just the payer’s domain name, such as examplepayer.com, not a complete URL.

Phone Number

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (Telephone)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Phone Number

Therapy Caps

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AD (Occupational Therapy) or AE (Physical Medicine)

Therapy Caps information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Period Begin

benefitsInformation.benefitsDateInformation.benefit

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Period End

benefitsInformation.benefitsDateInformation.benefit

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

PT/ST Applied

benefitsInformation.additionalInformation.description


OT Applied

benefitsInformation.additionalInformation.description


Hospice

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = X (Health Care Facility)

  • benefitsInformation.serviceTypeCodes = 45 (Hospice)

Hospice info in a CWF

CWF field

JSON 271 eligibility response property

When to use

Benefit Period

No direct mapping. Calculated by ordering the episodes by date for the calendar year.


Benefit Period Start Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Benefit Period End Date

benefitsInformation.benefitsDateInformation.benefit (second date, if present)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Provider

benefitsInformation.benefitsRelatedEntities.entityIdentificationValue

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Provider

Provider Name

benefitsInformation.benefitsRelatedEntities.entityName

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Provider

Hospice Elections

Election Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Election Receipt Date

benefitsInformation.benefitsDateInformation.added


Election Revocation Date

benefitsInformation.benefitsDateInformation.benefitEnd


Election Revocation Code

benefitsInformation.additionalInformation.description


Election NPI

benefitsRelatedEntities.entityIdentificationValue


Home Health Certification

Home Health Certification information in an example CWF

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = X (Health Care Facility)

  • benefitsInformation.compositeMedicalProcedureIdentifier.procedureCode = G0180

CWF field

JSON 271 eligibility response property

Certification HCPCS Code

compositeMedicalProcedureIdentifier.procedureCode

Process Date

benefitsDateInformation.periodStart

Rehabilitation Services

Rehabilitation Services information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Pulmonary Remaining (G0424) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BF (Pulmonary Rehabilitation)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

  • additionalInformation.description = Technical

Pulmonary Remaining (G0424) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BF (Pulmonary Rehabilitation)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

  • additionalInformation.description = Professional

Cardiac Applied (93797, 93798) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Technical

Cardiac Applied (93797, 93798) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Professional

Intensive Cardiac Applied (G0422, G0423) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Intensive Cardiac Rehabilitation - Technical

Intensive Cardiac Applied (G0422, G0423) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Intensive Cardiac Rehabilitation - Professional

Stedi’s Eligibility Check APIs let you get Medicare 271 eligibility responses as JSON. But your system – or one downstream – might need to display that JSON data in Common Working File (CWF) fields. Many providers still expect a CWF-style layout.

This guide shows how to map Stedi’s JSON 271 eligibility responses to CWF fields. It also covers what the CWF was, how Medicare eligibility checks work today, and why the CWF format still persists.

What Is the Common Working File (CWF)?

The Centers for Medicare & Medicaid Services (CMS) built the CWF in the 1980s to centrally manage Medicare eligibility. It was the source of truth for who was covered, when, and under which Medicare part.

The system produced fixed-format text files – also called “CWFs” – for mainframe terminals and printed reports. Each file had a set layout, with fields like member ID, coverage type, and benefit dates. For example:

Example of a CWF-like layout with fixed fields

How Medicare eligibility checks work today

CMS replaced the CWF in 2019 with the HIPAA Eligibility Transaction System (HETS). HETS returns standard 271 eligibility responses, the same as commercial insurers. Medicare 271s include a lot of Medicare-specific info, including:

  • Medicare Part A and Part B entitlements and dates

  • Part C (Medicare Advantage) and Part D (Prescription Drug) plan info

  • Deductibles, copays, and benefit limits

  • Remaining Skilled Nursing Facility (SNF) days

  • ESRD transplant or dialysis dates

  • Smoking cessation visits and therapy caps

  • Qualified Medicare Beneficiary (QMB), secondary payers, Medicaid crossover, and other coordination of benefits information.

In Stedi’s JSON 271 eligibility responses, that data lives under benefitsInformation. Each object describes a specific coverage, limit, or service type. For example:

{
  ...
  "subscriber": {
    "memberId": "123456789",
    "firstName": "JANE",
    "lastName": "DOE",
    ...
  },
  ...
  "benefitsInformation": [
    {
      "code": "B",
      "name": "Co-Payment",
      "serviceTypeCodes": ["30"],
      "serviceTypes": ["Health Benefit Plan Coverage"],
      "insuranceTypeCode": "MA",
      "insuranceType": "Medicare Part A",
      "timeQualifierCode": "7",
      "timeQualifier": "Day",
      "benefitAmount": "408",
      "inPlanNetworkIndicatorCode": "W",
      "inPlanNetworkIndicator": "Not Applicable",
      "benefitsDateInformation": {
        "admission": "20241231",
        "admissions": [
          {
            "startDate": "20240101",
            "endDate": "20241231"
          }
        ]
      },
      "benefitsServiceDelivery": [
        {
          "unitForMeasurementCode": "Days",
          "timePeriodQualifierCode": "30",
          "timePeriodQualifier": "Exceeded",
          "numOfPeriods": "60",
          "unitForMeasurementQualifierCode": "DA",
          "unitForMeasurementQualifier": "Days"
        },
        {
          "unitForMeasurementCode": "Days",
          "timePeriodQualifierCode": "31",
          "timePeriodQualifier": "Not Exceeded",
          "numOfPeriods": "90",
          "unitForMeasurementQualifierCode": "DA",
          "unitForMeasurementQualifier": "Days"
        },
        {
          "timePeriodQualifierCode": "26",
          "timePeriodQualifier": "Episode",
          "numOfPeriods": "1"
        }
      ]
    }
  ]
}

How to use this guide

Stedi’s JSON 271 eligibility response is easier to use in modern applications. But if your customers need the old CWF layout, you’ll need to map each field from JSON.

This guide isn’t an official spec. It’s a practical reference. Each section shows a CWF-style layout, a table of field mappings, and notes on when to use each field. For details on our JSON 271 eligibility responses, see our API documentation.

Provider information

Provider information in a CWF-like format

CWF field

JSON 271 eligibility response property

Organization Name

provider.providerOrgName

NPI ID

provider.npi

Patient Demographics

The following table includes patient demographics from the SUBMITTED TO PAYER and RETURNED BY PAYER sections of the sample CWF.

Patient demographics section in an example CWF

CWF field

JSON 271 eligibility response property

When to use

SUBMITTED TO PAYER


First Name

subscriber.firstName


Last Name

subscriber.lastName


Member ID (MBI)

subscriber.memberId


D.O.B.

subscriber.dateOfBirth


Eligibility Date(From)

planDateInformation.eligibility (first date)

planDateInformation.eligibility can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Eligibility Date(To)

planDateInformation.eligibility (second date, if present)

planDateInformation.eligibility can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Service Types(s)

benefitsInformation.serviceTypeCodes



benefitsInformation.compositeMedicalProcedureIdentifier.procedureCode



benefitsInformation.compositeMedicalProcedureIdentifier.procedureModifiers


RETURNED TO PAYER


First Name

subscriber.firstName


Middle Name

subscriber.middleName


Last Name

subscriber.lastName


Suffix

subscriber.suffix


Member ID (MBI)

subscriber.memberId


D.O.B.

subscriber.dateOfBirth


Gender

subscriber.gender


Address Line 1

subscriber.address.address1


Address Line 2

subscriber.address.address2


City

subscriber.address.city


State

subscriber.address.state


Zip Code

subscriber.address.postalCode


Benefit Information

In the JSON 271 eligibility response, benefitsInformation objects contain most of the benefits information.

The benefitsInformation.insuranceTypeCode property indicates the type of insurance policy within a program, such as Medicare. A code of MA indicates Medicare Part A. A code of MB indicates Medicare Part B. For a complete list of insurance type codes, see Insurance Type Codes in our docs.

The benefitsInformation.serviceTypeCodes property identifies the type of healthcare services the benefits information relates to. A service type code (STC) of 30 relates to general benefits information. For a complete list of STCs, see Service Type Codes in our docs.

Benefit Information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.plan (first date)



All of the following must be true:

  • benefitsInformation.code = 1 (Active Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.plan (second date, if present)

All of the following must be true:

  • benefitsInformation.code = 1 (Active Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Ineligible Start

benefitsInformation.benefitsDateInformation.plan (first date)



All of the following must be true:

  • benefitsInformation.code = 6 (Inactive)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Ineligible End

benefitsInformation.benefitsDateInformation.plan (second date, if present)

All of the following must be true:

  • benefitsInformation.code = 6 (Inactive)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Date of Death

planDateInformation.dateOfDeath


Lifetime Psychiatric Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = K (Reserve)

  • benefitsInformation.serviceTypeCodes = A7 (Psychiatric - Inpatient)

  • benefitsInformation.timeQualifierCode = 32 (Lifetime)

  • benefitsInformation.quantityQualifierCode = DY (Days)

Lifetime Reserve Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = K (Reserve)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) 

  • benefitsInformation.timeQualifierCode = 32 (Lifetime)

  • benefitsInformation.quantityQualifierCode = DY (Days)

Smoking Cessation Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = 67 (Smoking Cessation)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B) 

  • benefitsInformation.timeQualifierCode = 22 (Service Year)

  • benefitsInformation.quantityQualifierCode = VS (Visits)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 29 (Remaining)

Initial Cessation Date

benefitsInformation.benefitsDateInformation.plan

This information is only available if an initial counseling visit was used in the past 12 months.

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = 67 (Smoking Cessation)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 22 (Service Year)

  • benefitsInformation.quantityQualifierCode = VS (Visits)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 29 (Remaining)

ESRD Dialysis Date

benefitsInformation.benefitsDateInformation.discharge

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

ESRD Transplant Date

benefitsInformation.benefitsDateInformation.service

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

ESRD Coverage Period

benefitsInformation.benefitsDateInformation.plan

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

Plan Benefits

Plan Benefits in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Medicare Part A

Type

Use Base when all of the following are true:

  • benefitsInformation.timeQualifierCode = 7 (Day)

  • benefitsInformation.benefitsDateInformation.admission contains a full year date range, such as 20980101-20991231.



Use Spell when all of the following are true:

  • benefitsInformation.timeQualifierCode = 7 (Day)

  • benefitsInformation.benefitsDateInformation.admission contains a partial year date range, such as 20980506-20980508.


First Bill

benefitsInformation.benefitsDateInformation.admissions.startDate


Last Bill

benefitsInformation.benefitsDateInformation.admissions.endDate


Hospital Days Full

For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode31 (Not Exceeded).



For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode29 (Remaining).


Hospital Days Colns

For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when:

  • benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode30 (Exceeded).


For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when:

  • benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode29 (Remaining).


Hospital Days Base

benefitsInformation.benefitAmount


SNF Days Full

benefitsInformation.BenefitsServiceDelivery.numOfPeriods

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 31 (Not Exceeded)

SNF Days Colns

benefitsInformation.BenefitsServiceDelivery.numOfPeriods

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 30 (Exceeded)

SNF Days Base

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.timeQualifierCode = 7 (Day)

Inpatient Deductible

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = C (Deductible)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

Medicare Part B

Deductible Remaining

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = C (Deductible)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Physical Therapy

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AE (Physical Medicine) 

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Occupational Therapy

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AD (Occupational Therapy)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Blood Pints Part A/B

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = E (Exclusions)

  • benefitsInformation.serviceTypeCodes = 10 (Blood Charges)

  • benefitsInformation.quantityQualifierCode = DB (Deductible Blood Units)

  • benefitsInformation.benefitQuantity = Blood Units Excluded

  • benefitsInformation.benefitsServiceDelivery.quantityQualifierCode = FL (Units)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifier = Blood Units Remaining

  • benefitsInformation.benefitsDateInformation.plan = A date or date range in the current calendar year

Medicare Part A Stays

Type

Use Hospital when:

  • benefitsInformation.serviceTypeCodes30 (Health Benefit Plan Coverage)



Use Hospital Stay when:

  • benefitsInformation.serviceTypeCodes48 (Hospital - Inpatient)



Use SNF Stay when:

  • benefitsInformation.serviceTypeCodesAH (Skilled Nursing Care - Room and Board)


The following must be true:

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

Start Date

benefitsInformation.benefitsDateInformation.plan (first date)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

End Date

benefitsInformation.benefitsDateInformation.plan (second date, if present)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Billing NPI

benefitsInformation.benefitsRelatedEntities.entityIdentificationValue

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentification is FA (Facility Identification)

Qualified Medicare Beneficiary (QMB) Status

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.insuranceTypeCode = QM (Qualified Medicare Beneficiary)

Qualified Medicare Beneficiary (QMB) Status information in a CWF example

CWF field

JSON 271 eligibility response property

When to use

Period From

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Period Through

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

QMB Plan

benefitsInformation.planCoverage


Medicare Secondary Payor

Medicare Secondary Payor info in an example CWF file

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = 14, 15, 47, or WC

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Policy Number

benefitsInformation.benefitsAdditionalInformation.insurancePolicyNumber


Insurer

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Type

benefitsInformation.insuranceType


Medicare Advantage

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = U (Contact Following Entity for Eligibility or Benefit Information)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage) OR both 30 (Health Benefit Plan Coverage) AND CQ (Case Management)

  • benefitsInformation.insuranceTypeCode = HM (HMO), HN (HMO - Medicare Risk), IN (Indemnity), PR (PPO), or PS (POS)

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Primary Payer

Medicare Advantage information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsInformation.benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsInformation.benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Plan Code

benefitsInformation.benefitsAdditionalInformation.planNumber


Payer Name

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Plan Name

benefitsInformation.benefitsRelatedEntities.entityName


Website

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (URL)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Uniform Resource Locator (URL)



In most cases, CMS only provides just the payer’s domain name, such as examplepayer.com, not a complete URL.

Phone Number

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (Telephone)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Phone Number

Message(s)

benefitsInformation.additionalInformation.description


Part D

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.serviceTypeCodes = 88 (Pharmacy)

Medicare Part D info in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.benefit (second date, if present)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Plan Code

benefitsInformation.benefitsAdditionalInformation.planNumber


Payer Name

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Plan Name

benefitsInformation.benefitsRelatedEntities.entityName


Website

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (URL)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Uniform Resource Locator (URL)



In most cases, CMS only provides just the payer’s domain name, such as examplepayer.com, not a complete URL.

Phone Number

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (Telephone)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Phone Number

Therapy Caps

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AD (Occupational Therapy) or AE (Physical Medicine)

Therapy Caps information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Period Begin

benefitsInformation.benefitsDateInformation.benefit

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Period End

benefitsInformation.benefitsDateInformation.benefit

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

PT/ST Applied

benefitsInformation.additionalInformation.description


OT Applied

benefitsInformation.additionalInformation.description


Hospice

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = X (Health Care Facility)

  • benefitsInformation.serviceTypeCodes = 45 (Hospice)

Hospice info in a CWF

CWF field

JSON 271 eligibility response property

When to use

Benefit Period

No direct mapping. Calculated by ordering the episodes by date for the calendar year.


Benefit Period Start Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Benefit Period End Date

benefitsInformation.benefitsDateInformation.benefit (second date, if present)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Provider

benefitsInformation.benefitsRelatedEntities.entityIdentificationValue

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Provider

Provider Name

benefitsInformation.benefitsRelatedEntities.entityName

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Provider

Hospice Elections

Election Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Election Receipt Date

benefitsInformation.benefitsDateInformation.added


Election Revocation Date

benefitsInformation.benefitsDateInformation.benefitEnd


Election Revocation Code

benefitsInformation.additionalInformation.description


Election NPI

benefitsRelatedEntities.entityIdentificationValue


Home Health Certification

Home Health Certification information in an example CWF

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = X (Health Care Facility)

  • benefitsInformation.compositeMedicalProcedureIdentifier.procedureCode = G0180

CWF field

JSON 271 eligibility response property

Certification HCPCS Code

compositeMedicalProcedureIdentifier.procedureCode

Process Date

benefitsDateInformation.periodStart

Rehabilitation Services

Rehabilitation Services information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Pulmonary Remaining (G0424) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BF (Pulmonary Rehabilitation)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

  • additionalInformation.description = Technical

Pulmonary Remaining (G0424) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BF (Pulmonary Rehabilitation)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

  • additionalInformation.description = Professional

Cardiac Applied (93797, 93798) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Technical

Cardiac Applied (93797, 93798) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Professional

Intensive Cardiac Applied (G0422, G0423) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Intensive Cardiac Rehabilitation - Technical

Intensive Cardiac Applied (G0422, G0423) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Intensive Cardiac Rehabilitation - Professional

Stedi’s Eligibility Check APIs let you get Medicare 271 eligibility responses as JSON. But your system – or one downstream – might need to display that JSON data in Common Working File (CWF) fields. Many providers still expect a CWF-style layout.

This guide shows how to map Stedi’s JSON 271 eligibility responses to CWF fields. It also covers what the CWF was, how Medicare eligibility checks work today, and why the CWF format still persists.

What Is the Common Working File (CWF)?

The Centers for Medicare & Medicaid Services (CMS) built the CWF in the 1980s to centrally manage Medicare eligibility. It was the source of truth for who was covered, when, and under which Medicare part.

The system produced fixed-format text files – also called “CWFs” – for mainframe terminals and printed reports. Each file had a set layout, with fields like member ID, coverage type, and benefit dates. For example:

Example of a CWF-like layout with fixed fields

How Medicare eligibility checks work today

CMS replaced the CWF in 2019 with the HIPAA Eligibility Transaction System (HETS). HETS returns standard 271 eligibility responses, the same as commercial insurers. Medicare 271s include a lot of Medicare-specific info, including:

  • Medicare Part A and Part B entitlements and dates

  • Part C (Medicare Advantage) and Part D (Prescription Drug) plan info

  • Deductibles, copays, and benefit limits

  • Remaining Skilled Nursing Facility (SNF) days

  • ESRD transplant or dialysis dates

  • Smoking cessation visits and therapy caps

  • Qualified Medicare Beneficiary (QMB), secondary payers, Medicaid crossover, and other coordination of benefits information.

In Stedi’s JSON 271 eligibility responses, that data lives under benefitsInformation. Each object describes a specific coverage, limit, or service type. For example:

{
  ...
  "subscriber": {
    "memberId": "123456789",
    "firstName": "JANE",
    "lastName": "DOE",
    ...
  },
  ...
  "benefitsInformation": [
    {
      "code": "B",
      "name": "Co-Payment",
      "serviceTypeCodes": ["30"],
      "serviceTypes": ["Health Benefit Plan Coverage"],
      "insuranceTypeCode": "MA",
      "insuranceType": "Medicare Part A",
      "timeQualifierCode": "7",
      "timeQualifier": "Day",
      "benefitAmount": "408",
      "inPlanNetworkIndicatorCode": "W",
      "inPlanNetworkIndicator": "Not Applicable",
      "benefitsDateInformation": {
        "admission": "20241231",
        "admissions": [
          {
            "startDate": "20240101",
            "endDate": "20241231"
          }
        ]
      },
      "benefitsServiceDelivery": [
        {
          "unitForMeasurementCode": "Days",
          "timePeriodQualifierCode": "30",
          "timePeriodQualifier": "Exceeded",
          "numOfPeriods": "60",
          "unitForMeasurementQualifierCode": "DA",
          "unitForMeasurementQualifier": "Days"
        },
        {
          "unitForMeasurementCode": "Days",
          "timePeriodQualifierCode": "31",
          "timePeriodQualifier": "Not Exceeded",
          "numOfPeriods": "90",
          "unitForMeasurementQualifierCode": "DA",
          "unitForMeasurementQualifier": "Days"
        },
        {
          "timePeriodQualifierCode": "26",
          "timePeriodQualifier": "Episode",
          "numOfPeriods": "1"
        }
      ]
    }
  ]
}

How to use this guide

Stedi’s JSON 271 eligibility response is easier to use in modern applications. But if your customers need the old CWF layout, you’ll need to map each field from JSON.

This guide isn’t an official spec. It’s a practical reference. Each section shows a CWF-style layout, a table of field mappings, and notes on when to use each field. For details on our JSON 271 eligibility responses, see our API documentation.

Provider information

Provider information in a CWF-like format

CWF field

JSON 271 eligibility response property

Organization Name

provider.providerOrgName

NPI ID

provider.npi

Patient Demographics

The following table includes patient demographics from the SUBMITTED TO PAYER and RETURNED BY PAYER sections of the sample CWF.

Patient demographics section in an example CWF

CWF field

JSON 271 eligibility response property

When to use

SUBMITTED TO PAYER


First Name

subscriber.firstName


Last Name

subscriber.lastName


Member ID (MBI)

subscriber.memberId


D.O.B.

subscriber.dateOfBirth


Eligibility Date(From)

planDateInformation.eligibility (first date)

planDateInformation.eligibility can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Eligibility Date(To)

planDateInformation.eligibility (second date, if present)

planDateInformation.eligibility can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Service Types(s)

benefitsInformation.serviceTypeCodes



benefitsInformation.compositeMedicalProcedureIdentifier.procedureCode



benefitsInformation.compositeMedicalProcedureIdentifier.procedureModifiers


RETURNED TO PAYER


First Name

subscriber.firstName


Middle Name

subscriber.middleName


Last Name

subscriber.lastName


Suffix

subscriber.suffix


Member ID (MBI)

subscriber.memberId


D.O.B.

subscriber.dateOfBirth


Gender

subscriber.gender


Address Line 1

subscriber.address.address1


Address Line 2

subscriber.address.address2


City

subscriber.address.city


State

subscriber.address.state


Zip Code

subscriber.address.postalCode


Benefit Information

In the JSON 271 eligibility response, benefitsInformation objects contain most of the benefits information.

The benefitsInformation.insuranceTypeCode property indicates the type of insurance policy within a program, such as Medicare. A code of MA indicates Medicare Part A. A code of MB indicates Medicare Part B. For a complete list of insurance type codes, see Insurance Type Codes in our docs.

The benefitsInformation.serviceTypeCodes property identifies the type of healthcare services the benefits information relates to. A service type code (STC) of 30 relates to general benefits information. For a complete list of STCs, see Service Type Codes in our docs.

Benefit Information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.plan (first date)



All of the following must be true:

  • benefitsInformation.code = 1 (Active Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.plan (second date, if present)

All of the following must be true:

  • benefitsInformation.code = 1 (Active Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Ineligible Start

benefitsInformation.benefitsDateInformation.plan (first date)



All of the following must be true:

  • benefitsInformation.code = 6 (Inactive)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Ineligible End

benefitsInformation.benefitsDateInformation.plan (second date, if present)

All of the following must be true:

  • benefitsInformation.code = 6 (Inactive)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) or MB (Medicare Part B)


benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Date of Death

planDateInformation.dateOfDeath


Lifetime Psychiatric Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = K (Reserve)

  • benefitsInformation.serviceTypeCodes = A7 (Psychiatric - Inpatient)

  • benefitsInformation.timeQualifierCode = 32 (Lifetime)

  • benefitsInformation.quantityQualifierCode = DY (Days)

Lifetime Reserve Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = K (Reserve)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A) 

  • benefitsInformation.timeQualifierCode = 32 (Lifetime)

  • benefitsInformation.quantityQualifierCode = DY (Days)

Smoking Cessation Days

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = 67 (Smoking Cessation)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B) 

  • benefitsInformation.timeQualifierCode = 22 (Service Year)

  • benefitsInformation.quantityQualifierCode = VS (Visits)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 29 (Remaining)

Initial Cessation Date

benefitsInformation.benefitsDateInformation.plan

This information is only available if an initial counseling visit was used in the past 12 months.

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = 67 (Smoking Cessation)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 22 (Service Year)

  • benefitsInformation.quantityQualifierCode = VS (Visits)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 29 (Remaining)

ESRD Dialysis Date

benefitsInformation.benefitsDateInformation.discharge

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

ESRD Transplant Date

benefitsInformation.benefitsDateInformation.service

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

ESRD Coverage Period

benefitsInformation.benefitsDateInformation.plan

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = RN (Renal)

Plan Benefits

Plan Benefits in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Medicare Part A

Type

Use Base when all of the following are true:

  • benefitsInformation.timeQualifierCode = 7 (Day)

  • benefitsInformation.benefitsDateInformation.admission contains a full year date range, such as 20980101-20991231.



Use Spell when all of the following are true:

  • benefitsInformation.timeQualifierCode = 7 (Day)

  • benefitsInformation.benefitsDateInformation.admission contains a partial year date range, such as 20980506-20980508.


First Bill

benefitsInformation.benefitsDateInformation.admissions.startDate


Last Bill

benefitsInformation.benefitsDateInformation.admissions.endDate


Hospital Days Full

For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode31 (Not Exceeded).



For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode29 (Remaining).


Hospital Days Colns

For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when:

  • benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode30 (Exceeded).


For a Type of Base, use benefitsInformation.BenefitsServiceDelivery.numOfPeriods when:

  • benefitsInformation.BenefitsServiceDelivery.timePeriodQualifierCode29 (Remaining).


Hospital Days Base

benefitsInformation.benefitAmount


SNF Days Full

benefitsInformation.BenefitsServiceDelivery.numOfPeriods

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 31 (Not Exceeded)

SNF Days Colns

benefitsInformation.BenefitsServiceDelivery.numOfPeriods

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifierCode = 30 (Exceeded)

SNF Days Base

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = B (Co-Payment)

  • benefitsInformation.serviceTypeCodes = AG (Skilled Nursing Care)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.timeQualifierCode = 7 (Day)

Inpatient Deductible

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = C (Deductible)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

Medicare Part B

Deductible Remaining

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = C (Deductible)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Physical Therapy

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AE (Physical Medicine) 

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Occupational Therapy

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AD (Occupational Therapy)

  • benefitsInformation.insuranceTypeCode = MB (Medicare Part B)

  • benefitsInformation.timeQualifierCode = 23 (Calendar Year)

Blood Pints Part A/B

benefitsInformation.benefitAmount

All of the following must be true:

  • benefitsInformation.code = E (Exclusions)

  • benefitsInformation.serviceTypeCodes = 10 (Blood Charges)

  • benefitsInformation.quantityQualifierCode = DB (Deductible Blood Units)

  • benefitsInformation.benefitQuantity = Blood Units Excluded

  • benefitsInformation.benefitsServiceDelivery.quantityQualifierCode = FL (Units)

  • benefitsInformation.benefitsServiceDelivery.timePeriodQualifier = Blood Units Remaining

  • benefitsInformation.benefitsDateInformation.plan = A date or date range in the current calendar year

Medicare Part A Stays

Type

Use Hospital when:

  • benefitsInformation.serviceTypeCodes30 (Health Benefit Plan Coverage)



Use Hospital Stay when:

  • benefitsInformation.serviceTypeCodes48 (Hospital - Inpatient)



Use SNF Stay when:

  • benefitsInformation.serviceTypeCodesAH (Skilled Nursing Care - Room and Board)


The following must be true:

  • benefitsInformation.insuranceTypeCode = MA (Medicare Part A)

Start Date

benefitsInformation.benefitsDateInformation.plan (first date)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

End Date

benefitsInformation.benefitsDateInformation.plan (second date, if present)



benefitsInformation.benefitsDateInformation.plan can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Billing NPI

benefitsInformation.benefitsRelatedEntities.entityIdentificationValue

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentification is FA (Facility Identification)

Qualified Medicare Beneficiary (QMB) Status

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.insuranceTypeCode = QM (Qualified Medicare Beneficiary)

Qualified Medicare Beneficiary (QMB) Status information in a CWF example

CWF field

JSON 271 eligibility response property

When to use

Period From

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Period Through

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

QMB Plan

benefitsInformation.planCoverage


Medicare Secondary Payor

Medicare Secondary Payor info in an example CWF file

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage)

  • benefitsInformation.insuranceTypeCode = 14, 15, 47, or WC

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Policy Number

benefitsInformation.benefitsAdditionalInformation.insurancePolicyNumber


Insurer

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Type

benefitsInformation.insuranceType


Medicare Advantage

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = U (Contact Following Entity for Eligibility or Benefit Information)

  • benefitsInformation.serviceTypeCodes = 30 (Health Benefit Plan Coverage) OR both 30 (Health Benefit Plan Coverage) AND CQ (Case Management)

  • benefitsInformation.insuranceTypeCode = HM (HMO), HN (HMO - Medicare Risk), IN (Indemnity), PR (PPO), or PS (POS)

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Primary Payer

Medicare Advantage information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (first date)

benefitsInformation.benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.coordinationOfBenefits (second date, if present)

benefitsInformation.benefitsDateInformation.coordinationOfBenefits can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Plan Code

benefitsInformation.benefitsAdditionalInformation.planNumber


Payer Name

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Plan Name

benefitsInformation.benefitsRelatedEntities.entityName


Website

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (URL)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Uniform Resource Locator (URL)



In most cases, CMS only provides just the payer’s domain name, such as examplepayer.com, not a complete URL.

Phone Number

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (Telephone)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Phone Number

Message(s)

benefitsInformation.additionalInformation.description


Part D

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = R (Other or Additional Payor)

  • benefitsInformation.serviceTypeCodes = 88 (Pharmacy)

Medicare Part D info in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Effective Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Termination Date

benefitsInformation.benefitsDateInformation.benefit (second date, if present)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Plan Code

benefitsInformation.benefitsAdditionalInformation.planNumber


Payer Name

benefitsInformation.benefitsRelatedEntities.entityName


Address

benefitsInformation.benefitsRelatedEntities.address.address1


benefitsInformation.benefitsRelatedEntities.address.address2


benefitsInformation.benefitsRelatedEntities.address.city


benefitsInformation.benefitsRelatedEntities.address.state


benefitsInformation.benefitsRelatedEntities.address.postalCode


Plan Name

benefitsInformation.benefitsRelatedEntities.entityName


Website

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (URL)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Uniform Resource Locator (URL)



In most cases, CMS only provides just the payer’s domain name, such as examplepayer.com, not a complete URL.

Phone Number

benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationNumber (Telephone)

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.contactInformation.contacts.communicationMode = Phone Number

Therapy Caps

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = D (Benefit Description)

  • benefitsInformation.serviceTypeCodes = AD (Occupational Therapy) or AE (Physical Medicine)

Therapy Caps information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Period Begin

benefitsInformation.benefitsDateInformation.benefit

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Period End

benefitsInformation.benefitsDateInformation.benefit

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

PT/ST Applied

benefitsInformation.additionalInformation.description


OT Applied

benefitsInformation.additionalInformation.description


Hospice

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = X (Health Care Facility)

  • benefitsInformation.serviceTypeCodes = 45 (Hospice)

Hospice info in a CWF

CWF field

JSON 271 eligibility response property

When to use

Benefit Period

No direct mapping. Calculated by ordering the episodes by date for the calendar year.


Benefit Period Start Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Benefit Period End Date

benefitsInformation.benefitsDateInformation.benefit (second date, if present)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Provider

benefitsInformation.benefitsRelatedEntities.entityIdentificationValue

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Provider

Provider Name

benefitsInformation.benefitsRelatedEntities.entityName

The following must be true:

  • benefitsInformation.benefitsRelatedEntities.entityIdentifier = Provider

Hospice Elections

Election Date

benefitsInformation.benefitsDateInformation.benefit (first date)

benefitsInformation.benefitsDateInformation.benefit can be either a single date (YYYYMMDD) or a date range (YYYYMMDD-YYYYMMDD).

Election Receipt Date

benefitsInformation.benefitsDateInformation.added


Election Revocation Date

benefitsInformation.benefitsDateInformation.benefitEnd


Election Revocation Code

benefitsInformation.additionalInformation.description


Election NPI

benefitsRelatedEntities.entityIdentificationValue


Home Health Certification

Home Health Certification information in an example CWF

In the JSON 271 eligibility response, this information is only available when all of the following is true:

  • benefitsInformation.code = X (Health Care Facility)

  • benefitsInformation.compositeMedicalProcedureIdentifier.procedureCode = G0180

CWF field

JSON 271 eligibility response property

Certification HCPCS Code

compositeMedicalProcedureIdentifier.procedureCode

Process Date

benefitsDateInformation.periodStart

Rehabilitation Services

Rehabilitation Services information in an example CWF

CWF field

JSON 271 eligibility response property

When to use

Pulmonary Remaining (G0424) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BF (Pulmonary Rehabilitation)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

  • additionalInformation.description = Technical

Pulmonary Remaining (G0424) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BF (Pulmonary Rehabilitation)

  • benefitsInformation.timeQualifierCode = 29 (Remaining)

  • additionalInformation.description = Professional

Cardiac Applied (93797, 93798) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Technical

Cardiac Applied (93797, 93798) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Professional

Intensive Cardiac Applied (G0422, G0423) Technical

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Intensive Cardiac Rehabilitation - Technical

Intensive Cardiac Applied (G0422, G0423) Professional

benefitsInformation.benefitQuantity

All of the following must be true:

  • benefitsInformation.code = F (Limitations)

  • benefitsInformation.serviceTypeCodes = BG (Cardiac Rehabilitation)

  • benefitsInformation.timeQualifierCode = 99 (Quantity Used)

  • additionalInformation.description = Intensive Cardiac Rehabilitation - Professional

Share

Twitter
LinkedIn

Get started with Stedi

Get started with Stedi

Automate healthcare transactions with developer-friendly APIs that support thousands of payers. Contact us to learn more and speak to the team.

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.

Get updates on what’s new at Stedi

Backed by

Stedi is a registered trademark of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.