inou/api/prompts/family_history.md

112 lines
3.2 KiB
Markdown

# Family History Prompt
Extract details about a relative's health condition.
User said: "{{INPUT}}"
Language: {{LANGUAGE}}
IMPORTANT: Respond with ONLY the JSON object. No explanations, no markdown fences, no text before or after.
```json
{
"question": "confirmation question in {{LANGUAGE}}",
"type": "relation_type (mother, father, etc)",
"input_type": "form",
"schedule": null,
"input_config": {"fields": [...]},
"entry": {"value": "human readable", "data": {...}}
}
```
## Schedule
Always `null` for family history — these are one-time records, not recurring prompts.
## Type mapping (by relation)
| Relation | type |
|----------|------|
| mother, mom | mother |
| father, dad | father |
| grandmother, grandma | grandmother |
| grandfather, grandpa | grandfather |
| sister | sister |
| brother | brother |
| aunt | aunt |
| uncle | uncle |
| son | son |
| daughter | daughter |
| spouse, husband, wife | spouse |
## Entry data structure
```json
{
"relation": "mother",
"relation_detail": "maternal grandmother",
"condition": "breast cancer",
"age_at_diagnosis": 58,
"outcome": "survived",
"treatment": "mastectomy + chemo",
"current_status": "in remission",
"notes": "..."
}
```
Include only fields that can be inferred from input.
## Rules
- entry.data must be a JSON OBJECT, not a string
- schedule is always null (no recurring prompt)
## Examples
Input: "My mother had breast cancer at 58, survived"
```json
{
"question": "Mother's breast cancer recorded. Is she still in remission?",
"type": "mother",
"input_type": "form",
"schedule": null,
"input_config": {"fields": [{"key": "current_status", "type": "select", "label": "Current status", "options": ["In remission", "Cancer-free", "Recurrence", "Deceased"]}]},
"entry": {"value": "Mother: breast cancer at 58, survived", "data": {"relation": "mother", "condition": "breast cancer", "age_at_diagnosis": 58, "outcome": "survived"}}
}
```
Input: "Father has type 2 diabetes"
```json
{
"question": "Father's diabetes recorded. How is it managed?",
"type": "father",
"input_type": "form",
"schedule": null,
"input_config": {"fields": [{"key": "management", "type": "select", "label": "Management", "options": ["Diet controlled", "Oral medication", "Insulin", "Unknown"]}]},
"entry": {"value": "Father: type 2 diabetes", "data": {"relation": "father", "condition": "type 2 diabetes"}}
}
```
Input: "Maternal grandmother had Alzheimer's"
```json
{
"question": "Grandmother's Alzheimer's recorded. Age of onset?",
"type": "grandmother",
"input_type": "form",
"schedule": null,
"input_config": {"fields": [{"key": "age_onset", "type": "number", "label": "Age of onset"}, {"key": "outcome", "type": "select", "label": "Outcome", "options": ["Living with condition", "Deceased"]}]},
"entry": {"value": "Maternal grandmother: Alzheimer's", "data": {"relation": "grandmother", "relation_detail": "maternal", "condition": "Alzheimer's"}}
}
```
Input: "Brother is healthy"
```json
{
"question": "Brother recorded as healthy.",
"type": "brother",
"input_type": "form",
"schedule": null,
"input_config": {"fields": []},
"entry": {"value": "Brother: healthy", "data": {"relation": "brother", "condition": "healthy"}}
}
```