278 lines
5.3 KiB
Plaintext
278 lines
5.3 KiB
Plaintext
|
医疗管理模块接口文档
|
|||
|
================
|
|||
|
|
|||
|
基础信息
|
|||
|
-------
|
|||
|
- 基础路径: /api/v1/medical
|
|||
|
- 请求方式: REST
|
|||
|
- 数据格式: JSON
|
|||
|
- 认证方式: Bearer Token
|
|||
|
|
|||
|
数据结构
|
|||
|
-------
|
|||
|
|
|||
|
HealthData 健康数据对象:
|
|||
|
{
|
|||
|
id: number, // 数据ID
|
|||
|
type: string, // 数据类型
|
|||
|
value: string, // 数据值
|
|||
|
unit: string, // 单位
|
|||
|
time: string, // 记录时间
|
|||
|
status: string // 状态(normal/warning/danger)
|
|||
|
}
|
|||
|
|
|||
|
MedicineReminder 用药提醒对象:
|
|||
|
{
|
|||
|
id: number, // 提醒ID
|
|||
|
medicine: string, // 药品名称
|
|||
|
time: string, // 服药时间
|
|||
|
status: string, // 状态(pending/done)
|
|||
|
dosage: string, // 剂量
|
|||
|
notes?: string // 备注说明
|
|||
|
}
|
|||
|
|
|||
|
Appointment 预约对象:
|
|||
|
{
|
|||
|
id: number, // 预约ID
|
|||
|
date: string, // 预约日期
|
|||
|
time: string, // 预约时间
|
|||
|
department: string, // 科室
|
|||
|
doctor: string, // 医生
|
|||
|
status: string, // 状态(pending/confirmed/cancelled)
|
|||
|
description?: string // 预约说明
|
|||
|
}
|
|||
|
|
|||
|
MedicalRecord 医疗记录对象:
|
|||
|
{
|
|||
|
id: number, // 记录ID
|
|||
|
date: string, // 记录日期
|
|||
|
type: string, // 记录类型
|
|||
|
title: string, // 标题
|
|||
|
description: string, // 描述
|
|||
|
doctor: string, // 医生
|
|||
|
hospital: string, // 医院
|
|||
|
attachments?: Array<{// 附件
|
|||
|
name: string, // 文件名
|
|||
|
url: string, // 文件URL
|
|||
|
type: string // 文件类型
|
|||
|
}>
|
|||
|
}
|
|||
|
|
|||
|
API 接口
|
|||
|
-------
|
|||
|
|
|||
|
1. 获取健康数据
|
|||
|
GET /api/v1/medical/health-data
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"id": 1,
|
|||
|
"type": "bloodPressure",
|
|||
|
"value": "120/80",
|
|||
|
"unit": "mmHg",
|
|||
|
"time": "2024-03-20 08:00",
|
|||
|
"status": "normal"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
2. 获取用药提醒
|
|||
|
GET /api/v1/medical/medicine-reminders
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"id": 1,
|
|||
|
"medicine": "降压药",
|
|||
|
"time": "08:00",
|
|||
|
"status": "pending",
|
|||
|
"dosage": "1片",
|
|||
|
"notes": "饭后服用"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
3. 添加用药提醒
|
|||
|
POST /api/v1/medical/medicine-reminders
|
|||
|
|
|||
|
请求参数:
|
|||
|
{
|
|||
|
"medicine": "降压药",
|
|||
|
"time": "08:00",
|
|||
|
"dosage": "1片",
|
|||
|
"notes": "饭后服用"
|
|||
|
}
|
|||
|
|
|||
|
4. 更新用药状态
|
|||
|
PUT /api/v1/medical/medicine-reminders/{id}/status
|
|||
|
|
|||
|
请求参数:
|
|||
|
{
|
|||
|
"status": "done" // pending/done
|
|||
|
}
|
|||
|
|
|||
|
5. 获取预约列表
|
|||
|
GET /api/v1/medical/appointments
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"id": 1,
|
|||
|
"date": "2024-03-25",
|
|||
|
"time": "09:30",
|
|||
|
"department": "心内科",
|
|||
|
"doctor": "张医生",
|
|||
|
"status": "confirmed",
|
|||
|
"description": "常规检查"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
6. 创建预约
|
|||
|
POST /api/v1/medical/appointments
|
|||
|
|
|||
|
请求参数:
|
|||
|
{
|
|||
|
"date": "2024-03-25",
|
|||
|
"time": "09:30",
|
|||
|
"department": "心内科",
|
|||
|
"doctor": "张医生",
|
|||
|
"description": "常规检查"
|
|||
|
}
|
|||
|
|
|||
|
7. 取消预约
|
|||
|
POST /api/v1/medical/appointments/{id}/cancel
|
|||
|
|
|||
|
8. 获取医疗记录
|
|||
|
GET /api/v1/medical/records
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"id": 1,
|
|||
|
"date": "2024-03-15",
|
|||
|
"type": "examination",
|
|||
|
"title": "年度体检",
|
|||
|
"description": "各项指标正常",
|
|||
|
"doctor": "王医生",
|
|||
|
"hospital": "市第一医院",
|
|||
|
"attachments": [
|
|||
|
{
|
|||
|
"name": "体检报告.pdf",
|
|||
|
"url": "https://example.com/report1.pdf",
|
|||
|
"type": "pdf"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
9. 添加医疗记录
|
|||
|
POST /api/v1/medical/records
|
|||
|
|
|||
|
请求参数:
|
|||
|
{
|
|||
|
"date": "2024-03-15",
|
|||
|
"type": "examination",
|
|||
|
"title": "年度体检",
|
|||
|
"description": "各项指标正常",
|
|||
|
"doctor": "王医生",
|
|||
|
"hospital": "市第一医院",
|
|||
|
"attachments": []
|
|||
|
}
|
|||
|
|
|||
|
10. 上传文件
|
|||
|
POST /api/v1/medical/upload
|
|||
|
Content-Type: multipart/form-data
|
|||
|
|
|||
|
11. 生成健康报告
|
|||
|
GET /api/v1/medical/health-report
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": {
|
|||
|
"url": "https://example.com/health_report.pdf"
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
12. 获取可预约时间段
|
|||
|
GET /api/v1/medical/available-times
|
|||
|
|
|||
|
请求参数:
|
|||
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
| date | string | 是 | 日期 |
|
|||
|
| department| string | 是 | 科室 |
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
"09:00",
|
|||
|
"09:30",
|
|||
|
"10:00",
|
|||
|
"10:30"
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
13. 获取医生列表
|
|||
|
GET /api/v1/medical/doctors
|
|||
|
|
|||
|
请求参数:
|
|||
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
| department| string | 是 | 科室 |
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"id": 1,
|
|||
|
"name": "张医生",
|
|||
|
"title": "主任医师"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
错误码说明
|
|||
|
--------
|
|||
|
| 错误码 | 说明 |
|
|||
|
| 200 | 成功 |
|
|||
|
| 400 | 请求参数错误 |
|
|||
|
| 401 | 未授权 |
|
|||
|
| 403 | 禁止访问 |
|
|||
|
| 404 | 资源不存在 |
|
|||
|
| 500 | 服务器内部错误 |
|
|||
|
|
|||
|
注意事项
|
|||
|
-------
|
|||
|
1. 日期格式统一使用:YYYY-MM-DD
|
|||
|
2. 时间格式统一使用:HH:mm
|
|||
|
3. 文件上传要求:
|
|||
|
- 支持格式:jpg、png、pdf
|
|||
|
- 单个文件大小限制:10MB
|
|||
|
- 批量上传限制:最多5个文件
|
|||
|
4. 预约规则:
|
|||
|
- 提前24小时预约
|
|||
|
- 每个时段限额5人
|
|||
|
- 同一科室每天最多预约1次
|
|||
|
5. 数据安全:
|
|||
|
- 所有医疗数据需要加密存储
|
|||
|
- 定期备份医疗记录
|
|||
|
- 敏感信息脱敏展示
|