Health Profile (MCP)
Discover the schema, read answers, update, reset.
Workflow
Always call getHealthProfileSchema first. Question IDs and value types are essential — types must match exactly.
getHealthProfileSchema()— full schema with sections, IDs, types, examplesgetHealthProfile()— current answers (flat map)- Combine schema labels with answer values for a human-readable summary
- For a single section:
getHealthProfileSection(sectionAcronym)
Sections
| Acronym | Title |
|---|---|
| HWP | Health & Wellness Profile |
| WEALH | Wellness Goals & Assessments |
| DMH | Detailed Medical History |
| DA | Diets & Allergies |
| FHSS | Family Health & Safety Screening |
| WHT | Wearables & Health Tracking |
| BS | Body Snapshot |
| PRSUP | Prescriptions & Supplements |
| FHIS | Family History |
Updating
updateHealthProfile(data) takes a JSON string with question IDs as keys and answers as values. PATCH semantics. Confirm with the user before calling.
Example shapes by type
// BOOLEAN
{"HWP_HAB_do_you_smoke_cigarettes_or_use_tobacco_products": false}
// ARRAY_STRING
{"DA_do_you_currently_follow_any_of_the_following_diets": ["Vegan", "Gluten-Free"]}
// BOOLEAN_KEY_VALUE_LIST (medications, supplements)
{
"PRSUP_do_you_take_any_prescription_medications": {
"boolean": true,
"keyValueList": [
{"name": "Metformin", "value": "500mg"},
{"name": "Lisinopril", "value": "10mg"}
]
}
}
// Array of objects (family members)
{"FHIS_siblings": [
{"id": "1", "relationship": "Brother", "name": "Carlos", "sex": "Male",
"livingStatus": "Living", "healthConditionsStatus": "Known",
"healthConditions": ["Diabetes"]}
]}
Resetting
resetHealthProfileSection(sectionAcronym) clears every answer in a section. Destructive — confirm with the user.
Common errors
| Error | Cause |
|---|---|
invalidFields array in response | Unknown question ID — re-check schema |
| Type mismatch | Value shape doesn't match the schema's type — copy from example field |
| Section reset returns error | Invalid acronym — must match table above exactly |

