careCycle
Reference

Book of Business Field Reference

Every field, format, and matching rule for Medicare and ACA customer and policy imports.

This is the complete field and matching reference for book of business imports and syncs. For the step-by-step import walkthrough, see Import Your Book of Business.

careCycle uses upsert logic for all imports and syncs: if a matching record already exists, it gets updated; if not, a new record is created.

Medicare Matching

Customer matching cascade

  1. mbiNumber is checked first as the primary identifier.
  2. lastName + dateOfBirth + phoneNumber is used as the fallback if there is no MBI match. The MBI is updated on the record if matched this way.

Policy matching cascade

  1. sunFireEnrollmentCode is checked first if present.
  2. planCode + effectiveDate is used as the fallback if there is no SunFire code match.

Medicare plan code rules

For Medicare Advantage and Part D policies, planCode should be a CMS contract-style code. Dashes are optional in the import or sync payload, and careCycle stores the canonical dashed form.

policyTypeAccepted contract prefixesAccepted examplesStored as
MA / MAPDH or RH1234-001-000, H1234001000, H1234-001H1234-001-000
PDPS, H, R, E, or XS1234-001-000, S1234001000, S1234-001S1234-001-000
MSCarrier-specificPlan G, Aetna Plan NStored as provided, except trailing -null cleanup

For Medicare Advantage and Part D, the final three-digit segment is optional. If you send contract+plan only (for example H3146-036), careCycle infers the segment from CMS reference data and stores the complete code: it uses the plan's only segment when there is exactly one, defaults to -000 for a non-segmented plan, and rejects the record only when the plan has multiple segments (in which case include the segment to disambiguate).

ACA Matching

Customer matching cascade

  1. healthSherpaCustomerId
  2. externalId, meaning your system's customer ID
  3. carrierAssignedCustomerId
  4. lastName + dateOfBirth + phoneNumber

Policy matching cascade

  1. healthSherpaPolicyId
  2. carrierAssignedPolicyId

For ACA, when a new policy is created, any existing policies for that customer with an effective date more than one year ago are automatically terminated.

Required Fields

Customer Fields

These fields are required for all books.

FieldFormatExample
firstName1-255 charactersMargaret
lastName1-255 charactersThompson
phoneNumber+1XXXXXXXXXX, XXXXXXXXXX, or (XXX) XXX-XXXX+13125551234

Medicare Customer Fields

FieldFormatExample
mbiNumberMedicare Beneficiary Identifier1EG4-TE5-MK73

TCPA Compliance Fields

At least one of these must be present on every record. Without a time zone or postal code, outbound campaigns will not fire for that contact.

FieldFormatExample
postalCode5 digits60614
timezoneIANA time zone or abbreviationAmerica/Chicago

Medicare Policy Fields

FieldFormatExample
policyTypeMA, MAPD, MS, or PDPMAPD
carrierName1-255 charactersHumana
planName1-255 charactersHumana Gold Plus HMO
planCodeCMS contract-style code for MA, MAPD, and PDP; carrier-specific for MSH1036-228
effectiveDateMM/DD/YYYY or MM-DD-YYYY01/01/2026
enrollmentDateMM/DD/YYYY or MM-DD-YYYY10/22/2025
aorNpnAgent of Record NPN, max 50 characters8245019
writingAgentNpnWriting Agent NPN, max 50 characters8245019

ACA Policy Fields

policyType is automatically set to ACA on import. No policyType column is needed.

FieldFormatExample
carrierNameMax 255 charactersBlue Shield of California
planNameMax 255 charactersBlue Shield Silver 70 PPO
planCodeMax 255 characters93689CA0620004
effectiveDateMM/DD/YYYY or MM-DD-YYYY01/01/2026
enrollmentDateMM/DD/YYYY or MM-DD-YYYY12/10/2025
aorNpnAgent of Record NPN, max 50 characters8245019
writingAgentNpnWriting Agent NPN, max 50 characters8245019

Including these is highly recommended. They unlock more capable campaigns, better task automations, and richer member context for Cora.

  • Customer details: externalId, email, dateOfBirth, address, city, state, language
  • Communication preferences: doNotCall, doNotSMS, doNotEmail, doNotMail
  • Policy details: policySubType, policyNumber, applicationId, status, electionPeriod
  • ACA-specific: exchangeStatus, metalLevel, usingSubsidy, subsidyAmount, grossPremium, netPremium, paidThroughDate, gracePeriodStartDate, healthSherpaPolicyId
  • Commission and financial: monthlyPremium, deductible, outOfPocketMax, initialCommission, renewalCommission, policyLives

Communication preferences are enforced natively. Contacts marked do-not-call or do-not-SMS are automatically suppressed from future campaigns.

Full Sync Field Coverage

For complete sync field coverage via the API, see:

On this page