Theo dõi sức khoẻ người thân cao tuổi. Gia đình nhập qua chat: - Huyết áp: "huyết áp bà 130/80" hoặc "HA 130/80" - Đường huyết: "đường huyết 120" hoặc "ĐH 120" - Nhịp tim: "nhịp tim 75" hoặc "NT 75" - Cân nặng: "cân nặng 45kg" hoặc "CN 45" - Nhiệt độ cơ thể: "nhiệt độ 37.2" hoặc "sốt 38.5" - SpO2: "SpO2 96" hoặc "oxy 96" - Ghi chú tự do: "bà ho nhiều hôm nay", "bà ăn ít" Dữ liệu lưu memory, hiển thị trend trong daily report. Cảnh báo khi chỉ số ngoài ngưỡng an toàn.
Skill này cho phép gia đình nhập chỉ số sức khoẻ của bà qua bất kỳ kênh chat nào (Zalo, Telegram, WhatsApp, Viber). Hệ thống parse, validate, lưu vào memory, và cảnh báo khi bất thường.
Gia đình nhắn qua bất kỳ channel nào. Hệ thống tự detect intent + parse giá trị.
| Loại | Cách nhập (ví dụ) | Parse thành |
|---|---|---|
| Huyết áp | "huyết áp bà 130/80", "HA 130/80", "bp 130/80" | systolic=130, diastolic=80 |
| Đường huyết | "đường huyết 120", "ĐH 120", "blood sugar 120" | glucose=120 mg/dL |
| Nhịp tim | "nhịp tim 75", "NT 75", "heart rate 75" | heartRate=75 bpm |
| Cân nặng | "cân nặng 45", "CN 45kg", "weight 45" | weight=45 kg |
| Nhiệt độ | "nhiệt độ 37.2", "sốt 38.5", "temp 37.2" | temperature=37.2 °C |
| SpO2 | "SpO2 96", "oxy 96" |
| spo2=96 % |
| Ghi chú | "bà ho nhiều", "bà ăn ít", "bà ngủ không ngon" | note (free text) |
Mỗi loại chỉ số có nhiều cách viết:
Khi nhận message có chứa health keywords:
\d+/\d+ (ví dụ 130/80)\d+(\.\d+)?\d+\.\d+ hoặc số nguyêneldercare_health_{type}_{timestamp}Khi lưu memory, sử dụng key eldercare_health_{type}_{YYYYMMDD_HHmm} với value:
{
"type": "blood_pressure",
"timestamp": "2026-02-19T10:30:00+07:00",
"values": { "systolic": 130, "diastolic": 80 },
"unit": "mmHg",
"recorded_by": "Con Lan (Zalo)",
"status": "normal",
"note": ""
}
Các type: blood_pressure, glucose, heart_rate, weight, temperature, spo2, note.
| Chỉ số | Thấp | Bình thường | Cao | Nguy hiểm |
|---|---|---|---|---|
| Huyết áp tâm thu | <90 | 90-139 | 140-179 | ≥180 |
| Huyết áp tâm trương | <60 | 60-89 | 90-119 | ≥120 |
| Đường huyết (đói) | <70 | 70-100 | 101-125 | ≥126 hoặc <54 |
| Nhịp tim | <50 | 50-100 | 101-120 | >120 hoặc <40 |
| Nhiệt độ | <35.5 | 35.5-37.4 | 37.5-38.4 | ≥38.5 |
| SpO2 | — | 95-100 | 90-94 | <90 |
Khi chỉ số ở mức NGUY HIỂM:
Skill eldercare-daily-report sẽ query memory keys eldercare_health_* cho ngày hiện tại:
Ví dụ section trong report:
💊 Sức khoẻ:
Huyết áp: 130/80 mmHg (→ ổn định so với hôm qua 128/78)
Đường huyết: 115 mg/dL (↑ tăng nhẹ, hôm qua 98 — theo dõi)
Cân nặng: 45 kg (→ không đổi)
Ghi chú: "Bà ho nhiều hôm nay" — Con Lan ghi lúc 15:00
Gia đình có thể hỏi qua chat:
Khi trả lời lịch sử:
eldercare_health_{type}_* trong khoảng thời gianVí dụ:
📊 Huyết áp bà — 7 ngày gần nhất:
20/02: 130/80 ✅
19/02: 128/78 ✅
18/02: 145/92 ⚠️ cao
17/02: 135/85 ✅
16/02: 132/82 ✅
Trend: → ổn định (trung bình 134/83)
Ngoài chỉ số số, gia đình có thể ghi chú:
Detect intent: nếu message chứa "bà" + symptom keywords (ho, ăn ít, ngủ, đau, mệt), lưu memory:
{
"type": "note",
"timestamp": "2026-02-19T15:00:00+07:00",
"text": "Bà ho nhiều hôm nay",
"recorded_by": "Con Lan (Zalo)",
"status": "noted"
}
Reply: "📝 Đã ghi chú: Bà ho nhiều hôm nay"
Skill này hỗ trợ nhiều người thân:
eldercare_profiles từ memoryelder.ha_entities.* thay vì hardcoded entity nameseldercare_{elder.id}_* làm memory key prefixelder.name trong messages/TTSelder.contacts cho alert recipients (fallback global contacts)elder.tts.* cho TTS settingseldercare_health_* → eldercare_{elder.id}_health_*eldercare_health_{type}_{timestamp} → eldercare_{elder.id}_health_{type}_{timestamp}elder.name in health log entries, e.g. "Bà Nội — Huyết áp 130/80"