Skip to content

Person

A household member, including legal, health, work, and income profiles.

An individual member of a household. Eligibility-relevant attributes are grouped into `legalProfile`, `healthProfile`, and `workProfile` so related fields stay together and additional fields can be added within each group without restructuring the top level.

PropertyTypeRequiredDescription
identifiersPersonIdentifiersYesSystem, cross-system, and named canonical identifiers for this person.
nameNameYesThe person's name.
dateOfBirthisoDateYesDate of birth in ISO 8601 format (YYYY-MM-DD).
isHeadOfHouseholdbooleanYes`true` if this person is the head of household. Exactly one per household.
legalProfilePersonLegalProfileNoThe person's legal-status profile (citizenship, immigration).
healthProfilePersonHealthProfileNoThe person's health profile (disability, pregnancy).
workProfilePersonWorkProfileNoThe person's work profile (employment, student, caregiver).
incomeSourcesPersonIncomeSource[]NoThe person's sources of income.
customFieldsRecordCustomFieldNoImplementation-defined custom fields.
{
"identifiers": {
"systemId": "30a12e5e-5940-4c08-921c-17a8960fcf4b",
"ssn": "123-45-6789"
},
"name": {
"prefix": "Ms.",
"firstName": "Jane",
"lastName": "Smith"
},
"dateOfBirth": "1985-03-15",
"isHeadOfHousehold": true,
"legalProfile": {
"citizenshipStatus": {
"value": "us_citizen",
"description": ""
},
"immigrationStatus": {
"value": "not_applicable",
"description": ""
}
},
"healthProfile": {
"disability": {
"status": {
"value": "none",
"description": ""
}
},
"pregnancy": {
"status": {
"value": "not_pregnant",
"description": ""
}
}
},
"workProfile": {
"employmentStatus": {
"value": "employed_part_time",
"description": "Part-time retail"
},
"studentStatus": {
"value": "not_enrolled",
"description": ""
},
"hoursWorkedPerWeek": 20,
"caregiverStatus": {
"value": "none",
"description": ""
}
},
"incomeSources": [
{
"type": {
"value": "wages",
"description": "Part-time retail"
},
"amount": {
"amount": "1200",
"currency": "USD"
},
"frequency": {
"value": "monthly",
"description": ""
}
}
]
}

Identifiers for a Person (household member). Adds `ssn` as a named canonical identifier on top of the base `Fields.Identifiers` shape. Implementations MUST encrypt `ssn` at rest.

PropertyTypeRequiredDescription
ssnstringNoSocial Security Number. **Sensitive**: must be encrypted at rest.
systemIduuidYesThe system-assigned identifier.
otherIdsRecordIdEntryNoCross-system identifiers keyed by a caller-defined label.
{
"systemId": "30a12e5e-5940-4c08-921c-17a8960fcf4b",
"otherIds": {
"benefits_gov": {
"registry": "benefits_gov",
"value": "SNAP-CO",
"description": "Benefits.gov program identifier"
}
}
}

A grouping of a person's legal-status attributes (citizenship and immigration). Distinct from `*Status` enum wrappers — Profile types are containers for related attribute fields.

PropertyTypeRequiredDescription
citizenshipStatusPersonCitizenshipStatusNoThe person's citizenship status.
immigrationStatusPersonImmigrationStatusNoThe person's immigration status.
{
"citizenshipStatus": {
"value": "us_citizen",
"customValue": "string",
"description": "string"
},
"immigrationStatus": {
"value": "lpr",
"customValue": "string",
"description": "string"
}
}

A person's citizenship status.

PropertyTypeRequiredDescription
valuePersonCitizenshipStatusOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "us_citizen",
"customValue": "string",
"description": "string"
}

Predefined set of citizenship statuses.

ValueDescription
us_citizenU.S. citizen.
lawful_permanent_residentLawful Permanent Resident (green card holder).
refugeeRefugee.
asyleePerson granted asylum.
cuban_haitian_entrantCuban or Haitian entrant.
amerasianAmerasian.
us_nationalU.S. national (non-citizen).
victim_of_traffickingCertified victim of human trafficking.
not_applicableNot applicable to this member.
customA caller-defined status.
"us_citizen"

A person's immigration status.

PropertyTypeRequiredDescription
valuePersonImmigrationStatusOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "lpr",
"customValue": "string",
"description": "string"
}

Predefined set of immigration statuses.

ValueDescription
lprLawful Permanent Resident.
visa_holderHolder of a temporary visa.
dacaDeferred Action for Childhood Arrivals.
temporary_protected_statusTemporary Protected Status.
undocumentedUndocumented.
not_applicableNot applicable (e.g., U.S. citizen).
customA caller-defined status.
"lpr"

A grouping of a person's health attributes (disability and pregnancy).

PropertyTypeRequiredDescription
disabilityPersonDisabilityNoThe person's disability information.
pregnancyPersonPregnancyNoThe person's pregnancy information.
{
"disability": {
"status": {
"value": "none",
"customValue": "string",
"description": "string"
},
"determinationDate": "2025-01-01",
"determinationSource": "string"
},
"pregnancy": {
"status": {
"value": "not_pregnant",
"customValue": "string",
"description": "string"
},
"expectedDueDate": "2025-01-01"
}
}

A person's disability information.

PropertyTypeRequiredDescription
statusPersonDisabilityStatusYesThe disability status.
determinationDateisoDate | nullNoThe date the disability was determined. Month-level precision is acceptable.
determinationSourcestring | nullNoThe source of the determination (e.g., `ssa`, `state_medicaid`).
{
"status": {
"value": "none",
"customValue": "string",
"description": "string"
},
"determinationDate": "2025-01-01",
"determinationSource": "string"
}

A person's disability status.

PropertyTypeRequiredDescription
valuePersonDisabilityStatusOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "none",
"customValue": "string",
"description": "string"
}

Predefined set of disability statuses.

ValueDescription
noneNo disability.
ssa_disabilitySSA-determined disability.
ssi_recipientSupplemental Security Income recipient.
state_definedState-defined disability determination.
customA caller-defined status.
"none"

A person's pregnancy information.

PropertyTypeRequiredDescription
statusPersonPregnancyStatusYesThe pregnancy status.
expectedDueDateisoDate | nullNoThe expected due date in ISO 8601 format.
{
"status": {
"value": "not_pregnant",
"customValue": "string",
"description": "string"
},
"expectedDueDate": "2025-01-01"
}

A person's pregnancy status.

PropertyTypeRequiredDescription
valuePersonPregnancyStatusOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "not_pregnant",
"customValue": "string",
"description": "string"
}

Predefined set of pregnancy statuses.

ValueDescription
not_pregnantNot pregnant.
pregnantPregnant.
customA caller-defined status.
"not_pregnant"

A grouping of a person's work attributes (employment, student, hours worked, caregiver). Grouped because SNAP and Medicaid work requirements share exemption categories (disability, pregnancy, caregiving, student enrollment).

PropertyTypeRequiredDescription
employmentStatusPersonEmploymentStatusNoThe person's employment status.
studentStatusPersonStudentStatusNoThe person's student enrollment status.
hoursWorkedPerWeekintegerNoHours worked per week. Relevant to work requirement thresholds.
caregiverStatusPersonCaregiverStatusNoThe person's caregiver status.
{
"employmentStatus": {
"value": "employed_full_time",
"customValue": "string",
"description": "string"
},
"studentStatus": {
"value": "not_enrolled",
"customValue": "string",
"description": "string"
},
"hoursWorkedPerWeek": 0,
"caregiverStatus": {
"value": "none",
"customValue": "string",
"description": "string"
}
}

A person's employment status.

PropertyTypeRequiredDescription
valuePersonEmploymentStatusOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "employed_full_time",
"customValue": "string",
"description": "string"
}

Predefined set of employment statuses.

ValueDescription
employed_full_timeEmployed full-time.
employed_part_timeEmployed part-time.
self_employedSelf-employed.
unemployedUnemployed and seeking work.
not_in_labor_forceNot in the labor force.
customA caller-defined status.
"employed_full_time"

A person's student enrollment status.

PropertyTypeRequiredDescription
valuePersonStudentStatusOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "not_enrolled",
"customValue": "string",
"description": "string"
}

Predefined set of student enrollment statuses.

ValueDescription
not_enrolledNot enrolled.
enrolled_half_timeEnrolled half-time.
enrolled_full_timeEnrolled full-time.
customA caller-defined status.
"not_enrolled"

A person's caregiver status.

PropertyTypeRequiredDescription
valuePersonCaregiverStatusOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "none",
"customValue": "string",
"description": "string"
}

Predefined set of caregiver statuses.

ValueDescription
noneNot a caregiver.
caregiver_child_under_6Caregiver for a child under 6.
caregiver_disabled_memberCaregiver for a disabled household member.
customA caller-defined status.
"none"

A single source of income for a person.

PropertyTypeRequiredDescription
typePersonIncomeSourceTypeYesThe type of income.
amountMoneyYesThe monetary amount per period.
frequencyFrequencyYesThe frequency at which the amount is received.
{
"type": {
"value": "wages",
"description": "Part-time retail"
},
"amount": {
"amount": "1200",
"currency": "USD"
},
"frequency": {
"value": "monthly",
"description": ""
}
}

The type of an income source.

PropertyTypeRequiredDescription
valuePersonIncomeSourceTypeOptionsYesThe selected value, typed to `T`.
customValuestringNoCaller-defined value when `value` is the `custom` option (or otherwise does not fit a predefined option in `T`).
descriptionstringNoHuman-readable description or annotation for the value.
{
"value": "wages",
"customValue": "string",
"description": "string"
}

Predefined set of income source types.

ValueDescription
wagesWages or salary from employment.
self_employmentSelf-employment income.
unemploymentUnemployment benefits.
social_securitySocial Security retirement or disability benefits.
ssiSupplemental Security Income.
child_supportChild support payments.
alimonyAlimony or spousal support.
rentalRental income.
interestInterest income.
dividendsDividend income.
pensionPension or retirement income.
veterans_benefitsVeterans benefits.
workers_compensationWorkers' compensation.
tribal_per_capitaTribal per capita payments.
customA caller-defined income type.
"wages"