410 lines
9.5 KiB
Markdown
410 lines
9.5 KiB
Markdown
# 中医诊单API接口文档
|
||
|
||
## 基础信息
|
||
|
||
- 基础路径:`/adminapi`
|
||
- 请求方式:支持GET、POST
|
||
- 返回格式:JSON
|
||
- 需要认证:是(需要登录token)
|
||
|
||
## 接口列表
|
||
|
||
### 1. 获取诊单列表
|
||
|
||
**接口地址:** `/tcm.diagnosis/lists`
|
||
|
||
**请求方式:** GET
|
||
|
||
**请求参数:**
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| page | int | 否 | 页码,默认1 |
|
||
| size | int | 否 | 每页数量,默认20 |
|
||
| patient_name | string | 否 | 患者姓名(模糊搜索) |
|
||
| patient_id | int | 否 | 患者ID |
|
||
| gender | int | 否 | 性别:0-女 1-男 |
|
||
| diagnosis_type | string | 否 | 诊断类型 |
|
||
| syndrome_type | string | 否 | 证型 |
|
||
| status | int | 否 | 状态:0-禁用 1-启用 |
|
||
| start_time | string | 否 | 开始时间(诊断日期) |
|
||
| end_time | string | 否 | 结束时间(诊断日期) |
|
||
|
||
**请求示例:**
|
||
```
|
||
GET /adminapi/tcm.diagnosis/lists?page=1&size=20&patient_name=张三
|
||
```
|
||
|
||
**返回参数:**
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | int | 状态码:1-成功 0-失败 |
|
||
| msg | string | 提示信息 |
|
||
| data | object | 返回数据 |
|
||
| data.lists | array | 诊单列表 |
|
||
| data.count | int | 总数量 |
|
||
| data.page_no | int | 当前页码 |
|
||
| data.page_size | int | 每页数量 |
|
||
|
||
**返回示例:**
|
||
```json
|
||
{
|
||
"code": 1,
|
||
"msg": "success",
|
||
"data": {
|
||
"lists": [
|
||
{
|
||
"id": 1,
|
||
"patient_id": 10001,
|
||
"patient_name": "张三",
|
||
"gender": 1,
|
||
"gender_desc": "男",
|
||
"age": 45,
|
||
"diagnosis_date": 1709222400,
|
||
"diagnosis_date_text": "2024-03-01",
|
||
"diagnosis_type": "first_visit",
|
||
"syndrome_type": "qi_deficiency",
|
||
"status": 1,
|
||
"status_desc": "启用",
|
||
"create_time": "2024-03-01 10:00:00",
|
||
"update_time": "2024-03-01 10:00:00"
|
||
}
|
||
],
|
||
"count": 100,
|
||
"page_no": 1,
|
||
"page_size": 20
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 2. 获取诊单详情
|
||
|
||
**接口地址:** `/tcm.diagnosis/detail`
|
||
|
||
**请求方式:** GET
|
||
|
||
**请求参数:**
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| id | int | 是 | 诊单ID |
|
||
|
||
**请求示例:**
|
||
```
|
||
GET /adminapi/tcm.diagnosis/detail?id=1
|
||
```
|
||
|
||
**返回参数:**
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | int | 状态码:1-成功 0-失败 |
|
||
| msg | string | 提示信息 |
|
||
| data | object | 诊单详情 |
|
||
|
||
**返回示例:**
|
||
```json
|
||
{
|
||
"code": 1,
|
||
"msg": "success",
|
||
"data": {
|
||
"id": 1,
|
||
"patient_id": 10001,
|
||
"patient_name": "张三",
|
||
"gender": 1,
|
||
"gender_desc": "男",
|
||
"age": 45,
|
||
"diagnosis_date": "2024-03-01",
|
||
"diagnosis_type": "first_visit",
|
||
"syndrome_type": "qi_deficiency",
|
||
"past_history": ["hypertension", "diabetes"],
|
||
"symptoms": "乏力、气短、自汗",
|
||
"tongue_coating": "舌淡苔白",
|
||
"pulse": "脉细弱",
|
||
"treatment_principle": "补气健脾",
|
||
"prescription": "四君子汤加减\n党参15g 白术12g 茯苓12g 甘草6g",
|
||
"doctor_advice": "忌食生冷,注意休息",
|
||
"remark": "",
|
||
"status": 1,
|
||
"status_desc": "启用",
|
||
"create_time": "2024-03-01 10:00:00",
|
||
"update_time": "2024-03-01 10:00:00"
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 3. 新增诊单
|
||
|
||
**接口地址:** `/tcm.diagnosis/add`
|
||
|
||
**请求方式:** POST
|
||
|
||
**请求参数:**
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| patient_id | int | 是 | 患者ID |
|
||
| patient_name | string | 是 | 患者姓名 |
|
||
| gender | int | 是 | 性别:0-女 1-男 |
|
||
| age | int | 是 | 年龄(0-150) |
|
||
| diagnosis_date | string | 是 | 诊断日期(格式:YYYY-MM-DD) |
|
||
| diagnosis_type | string | 是 | 诊断类型 |
|
||
| syndrome_type | string | 是 | 证型 |
|
||
| past_history | array | 否 | 既往史(数组) |
|
||
| symptoms | string | 否 | 症状 |
|
||
| tongue_coating | string | 否 | 舌苔 |
|
||
| pulse | string | 否 | 脉象 |
|
||
| treatment_principle | string | 否 | 治则 |
|
||
| prescription | string | 否 | 处方 |
|
||
| doctor_advice | string | 否 | 医嘱 |
|
||
| remark | string | 否 | 备注 |
|
||
| status | int | 否 | 状态:0-禁用 1-启用,默认1 |
|
||
|
||
**请求示例:**
|
||
```json
|
||
{
|
||
"patient_id": 10001,
|
||
"patient_name": "张三",
|
||
"gender": 1,
|
||
"age": 45,
|
||
"diagnosis_date": "2024-03-01",
|
||
"diagnosis_type": "first_visit",
|
||
"syndrome_type": "qi_deficiency",
|
||
"past_history": ["hypertension", "diabetes"],
|
||
"symptoms": "乏力、气短、自汗",
|
||
"tongue_coating": "舌淡苔白",
|
||
"pulse": "脉细弱",
|
||
"treatment_principle": "补气健脾",
|
||
"prescription": "四君子汤加减\n党参15g 白术12g 茯苓12g 甘草6g",
|
||
"doctor_advice": "忌食生冷,注意休息",
|
||
"status": 1
|
||
}
|
||
```
|
||
|
||
**返回示例:**
|
||
```json
|
||
{
|
||
"code": 1,
|
||
"msg": "添加成功",
|
||
"data": [],
|
||
"show": 1,
|
||
"error": 1
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 4. 编辑诊单
|
||
|
||
**接口地址:** `/tcm.diagnosis/edit`
|
||
|
||
**请求方式:** POST
|
||
|
||
**请求参数:**
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| id | int | 是 | 诊单ID |
|
||
| patient_name | string | 是 | 患者姓名 |
|
||
| gender | int | 是 | 性别:0-女 1-男 |
|
||
| age | int | 是 | 年龄(0-150) |
|
||
| diagnosis_date | string | 是 | 诊断日期(格式:YYYY-MM-DD) |
|
||
| diagnosis_type | string | 是 | 诊断类型 |
|
||
| syndrome_type | string | 是 | 证型 |
|
||
| past_history | array | 否 | 既往史(数组) |
|
||
| symptoms | string | 否 | 症状 |
|
||
| tongue_coating | string | 否 | 舌苔 |
|
||
| pulse | string | 否 | 脉象 |
|
||
| treatment_principle | string | 否 | 治则 |
|
||
| prescription | string | 否 | 处方 |
|
||
| doctor_advice | string | 否 | 医嘱 |
|
||
| remark | string | 否 | 备注 |
|
||
| status | int | 否 | 状态:0-禁用 1-启用 |
|
||
|
||
**请求示例:**
|
||
```json
|
||
{
|
||
"id": 1,
|
||
"patient_name": "张三",
|
||
"gender": 1,
|
||
"age": 45,
|
||
"diagnosis_date": "2024-03-01",
|
||
"diagnosis_type": "follow_up",
|
||
"syndrome_type": "qi_deficiency",
|
||
"past_history": ["hypertension", "diabetes"],
|
||
"symptoms": "乏力、气短、自汗",
|
||
"tongue_coating": "舌淡苔白",
|
||
"pulse": "脉细弱",
|
||
"treatment_principle": "补气健脾",
|
||
"prescription": "四君子汤加减\n党参15g 白术12g 茯苓12g 甘草6g",
|
||
"doctor_advice": "忌食生冷,注意休息",
|
||
"status": 1
|
||
}
|
||
```
|
||
|
||
**返回示例:**
|
||
```json
|
||
{
|
||
"code": 1,
|
||
"msg": "编辑成功",
|
||
"data": [],
|
||
"show": 1,
|
||
"error": 1
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 5. 删除诊单
|
||
|
||
**接口地址:** `/tcm.diagnosis/delete`
|
||
|
||
**请求方式:** POST
|
||
|
||
**请求参数:**
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| id | int | 是 | 诊单ID |
|
||
|
||
**请求示例:**
|
||
```json
|
||
{
|
||
"id": 1
|
||
}
|
||
```
|
||
|
||
**返回示例:**
|
||
```json
|
||
{
|
||
"code": 1,
|
||
"msg": "删除成功",
|
||
"data": [],
|
||
"show": 1,
|
||
"error": 1
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 错误码说明
|
||
|
||
| 错误码 | 说明 |
|
||
|--------|------|
|
||
| 1 | 成功 |
|
||
| 0 | 失败 |
|
||
| -1 | 参数错误 |
|
||
| -2 | 数据不存在 |
|
||
| -3 | 权限不足 |
|
||
| -4 | 未登录 |
|
||
|
||
## 字典数据说明
|
||
|
||
### 既往史(past_history)
|
||
|
||
| 值 | 名称 |
|
||
|----|------|
|
||
| hypertension | 高血压 |
|
||
| diabetes | 糖尿病 |
|
||
| coronary_heart_disease | 冠心病 |
|
||
| cerebrovascular_disease | 脑血管疾病 |
|
||
| hepatitis | 肝炎 |
|
||
| kidney_disease | 肾病 |
|
||
| asthma | 哮喘 |
|
||
| stomach_disease | 胃病 |
|
||
| surgery_history | 手术史 |
|
||
| allergy_history | 过敏史 |
|
||
| other | 其他 |
|
||
|
||
### 诊断类型(diagnosis_type)
|
||
|
||
| 值 | 名称 |
|
||
|----|------|
|
||
| first_visit | 初诊 |
|
||
| follow_up | 复诊 |
|
||
| consultation | 会诊 |
|
||
|
||
### 证型(syndrome_type)
|
||
|
||
| 值 | 名称 |
|
||
|----|------|
|
||
| qi_deficiency | 气虚 |
|
||
| blood_deficiency | 血虚 |
|
||
| yin_deficiency | 阴虚 |
|
||
| yang_deficiency | 阳虚 |
|
||
| qi_stagnation | 气滞 |
|
||
| blood_stasis | 血瘀 |
|
||
| phlegm_dampness | 痰湿 |
|
||
| damp_heat | 湿热 |
|
||
| cold_dampness | 寒湿 |
|
||
| wind_cold | 风寒 |
|
||
| wind_heat | 风热 |
|
||
|
||
## 注意事项
|
||
|
||
1. 所有接口都需要在请求头中携带token:`Authorization: Bearer {token}`
|
||
2. 日期格式统一使用:`YYYY-MM-DD`
|
||
3. 既往史字段在提交时为数组,返回时也为数组
|
||
4. 诊断日期在列表中返回时间戳和格式化文本两种格式
|
||
5. 性别和状态字段会返回原始值和描述文本
|
||
6. 分页参数page和size为可选,默认page=1,size=20
|
||
|
||
## 测试工具
|
||
|
||
推荐使用以下工具测试接口:
|
||
- Postman
|
||
- Apifox
|
||
- Insomnia
|
||
- curl命令行
|
||
|
||
## 示例代码
|
||
|
||
### JavaScript/Axios
|
||
```javascript
|
||
// 获取诊单列表
|
||
axios.get('/adminapi/tcm.diagnosis/lists', {
|
||
params: {
|
||
page: 1,
|
||
size: 20,
|
||
patient_name: '张三'
|
||
},
|
||
headers: {
|
||
'Authorization': 'Bearer ' + token
|
||
}
|
||
})
|
||
|
||
// 新增诊单
|
||
axios.post('/adminapi/tcm.diagnosis/add', {
|
||
patient_id: 10001,
|
||
patient_name: '张三',
|
||
gender: 1,
|
||
age: 45,
|
||
diagnosis_date: '2024-03-01',
|
||
diagnosis_type: 'first_visit',
|
||
syndrome_type: 'qi_deficiency',
|
||
past_history: ['hypertension', 'diabetes']
|
||
}, {
|
||
headers: {
|
||
'Authorization': 'Bearer ' + token
|
||
}
|
||
})
|
||
```
|
||
|
||
### PHP/cURL
|
||
```php
|
||
// 获取诊单列表
|
||
$ch = curl_init();
|
||
curl_setopt($ch, CURLOPT_URL, 'http://your-domain.com/adminapi/tcm.diagnosis/lists?page=1&size=20');
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||
'Authorization: Bearer ' . $token
|
||
]);
|
||
$response = curl_exec($ch);
|
||
curl_close($ch);
|
||
```
|