Appearance
Navigation & Cases
POST /v1/navigate
Body Intake:
| Trường | Kiểu | |
|---|---|---|
need | enum | checkup treatment revisit surgery second_opinion lab_test imaging admission discharge home_care find_doctor find_hospital emergency |
patient.age patient.sex patient.province patient.isSelf | ||
symptoms diagnosis goal | string | mô tả tự do |
severity | mild·moderate·severe | |
redFlags | string[] | mã từ /v1/meta |
conditionsCount hasPriorResults preferredCity durationDays |
POST /v1/cases
json
{
"intake": { "need": "checkup", "patient": { "age": 67, "sex": "female", "province": "Nghệ An" } },
"patient": { "fullName": "Nguyễn Thị A", "birthYear": 1959 },
"contacts": [
{ "fullName": "Con gái", "relationship": "con gái", "role": "primary", "phone": "09…",
"decisionAuthority": true, "canReceiveMedicalInfo": true },
{ "fullName": "Con trai", "relationship": "con trai", "role": "secondary", "province": "TP.HCM" }
]
}→ 201 { caseId, accessToken, recommendation }. accessToken chỉ trả một lần.
GET /v1/cases/{id}
Trả case, patient, contacts, history, recommendation (mới nhất), documents, followUps, opinions, events.
PATCH /v1/cases/{id}
{ "state": "in_hospital", "chosenHospitalId": "h-bachmai" }. assignedNavigator chỉ hoa tiêu viên được đặt.
Follow-up
POST /v1/cases/{id}/followups { dueAt: "2026-11-01", kind: "revisit", title: "Tái khám tim mạch" }. Cron 08:00 giờ VN đánh dấu missed các lịch quá 3 ngày và liệt kê lịch đến hạn trong 24h (điểm gắn kênh nhắc Zalo/SMS).