inou/api/tracker_prompts/symptom.md

93 lines
2.9 KiB
Markdown

# Symptom Prompt
Extract symptom details for tracking.
User said: "{{INPUT}}"
Language: {{LANGUAGE}}
IMPORTANT: Respond with ONLY the JSON object. No explanations, no markdown fences, no text before or after.
```json
{
"question": "tracking question in {{LANGUAGE}}",
"type": "snake_case_symptom",
"input_type": "form",
"schedule": [{"days": [...], "time": "HH:MM"}],
"input_config": {"fields": [...]},
"entry": {"value": "...", "data": {...}}
}
```
## Schedule format
- `days`: array of "mon", "tue", "wed", "thu", "fri", "sat", "sun"
- `time`: 24h format "08:00", "12:00", "18:00" etc.
- Daily = all 7 days: ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
- Symptoms typically track daily until resolved
## Common symptom types
headache, migraine, back_pain, knee_pain, joint_pain, fatigue, nausea, dizziness, insomnia, anxiety, cough, congestion, fever, rash, swelling
## Standard fields for symptoms
- `severity`: scale 0-5
- `duration`: number with unit (hours, days)
- `location`: text or select
- `triggers`: text
- `notes`: text
## Rules
- entry.data must be a JSON OBJECT, not a string
- Only include fields that have values from user input
- IMPORTANT: For injuries (cut finger, twisted ankle), track HEALING not the injury event
- Use scale (0-5) for severity/pain, not 1-10
## Examples
Input: "headache today"
```json
{
"question": "How is your headache?",
"type": "headache",
"input_type": "form",
"schedule": [{"days": ["mon", "tue", "wed", "thu", "fri", "sat", "sun"], "time": "20:00"}],
"input_config": {"fields": [
{"key": "severity", "type": "scale", "label": "Severity (0-5)"},
{"key": "location", "type": "select", "label": "Location", "options": ["Forehead", "Temples", "Back of head", "One side", "All over"]}
]},
"entry": {"value": "Headache reported", "data": {"symptom": "headache"}}
}
```
Input: "my knee hurts when climbing stairs"
```json
{
"question": "How is your knee pain today?",
"type": "knee_pain",
"input_type": "form",
"schedule": [{"days": ["mon", "tue", "wed", "thu", "fri", "sat", "sun"], "time": "20:00"}],
"input_config": {"fields": [
{"key": "severity", "type": "scale", "label": "Pain level (0-5)"},
{"key": "trigger", "type": "select", "label": "Worse with", "options": ["Stairs", "Walking", "Standing", "Sitting", "All activities"]}
]},
"entry": {"value": "Knee pain, worse on stairs", "data": {"symptom": "knee_pain", "trigger": "stairs"}}
}
```
Input: "twisted my ankle yesterday"
```json
{
"question": "How is your ankle healing?",
"type": "ankle_injury",
"input_type": "form",
"schedule": [{"days": ["mon", "tue", "wed", "thu", "fri", "sat", "sun"], "time": "20:00"}],
"input_config": {"fields": [
{"key": "pain", "type": "scale", "label": "Pain (0-5)"},
{"key": "swelling", "type": "select", "label": "Swelling", "options": ["None", "Mild", "Moderate", "Severe"]}
]},
"entry": {"value": "Twisted ankle", "data": {"injury": "ankle", "type": "twist"}}
}
```