# 云医疗平台_end **Repository Path**: luolinila/cloud-healthcare-platformsend ## Basic Information - **Project Name**: 云医疗平台_end - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-23 - **Last Updated**: 2026-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 云医疗平台 API 接口文档 ## 目录 - [1. 概述](#1-概述) - [2. 通用说明](#2-通用说明) - [3. 接口列表](#3-接口列表) - [3.1 医生管理](#31-医生管理) - [3.2 患者管理](#32-患者管理) - [3.3 药品管理](#33-药品管理) - [3.4 检查项目管理](#34-检查项目管理) - [3.5 门诊就诊管理](#35-门诊就诊管理) - [3.6 处方管理](#36-处方管理) - [3.7 检查申请管理](#37-检查申请管理) - [3.8 Redis缓存管理](#38-redis缓存管理) - [3.9 测试接口](#39-测试接口) --- ## 1. 概述 ### 1.1 基本信息 - **项目名称**: 云医疗平台 (CloudHealthcarePlatform) - **接口基础路径**: `http://localhost:8081/` (开发环境) 或 `http://8.134.62.33:8081/` (生产环境) - **数据格式**: JSON - **请求方式**: POST/GET **注意**: - 如果前端和后端部署在同一服务器上,可以使用 `http://localhost:8081` - 如果前端和后端部署在不同服务器上,请使用服务器的实际IP地址或域名 - 前端API地址可通过环境变量 `VITE_API_BASE_URL` 进行配置 ### 1.2 统一响应格式 所有接口统一返回 `Result` 格式: ```json { "code": 200, "message": "success", "data": {} } ``` **响应字段说明**: | 字段名 | 类型 | 说明 | | ------- | ------- | -------------------------------- | | code | Integer | 状态码,200表示成功,500表示失败 | | message | String | 响应消息 | | data | Object | 响应数据,具体结构见各接口说明 | --- ## 2. 通用说明 ### 2.1 请求头 ``` Content-Type: application/json ``` ### 2.2 状态码说明 | 状态码 | 说明 | | ------ | -------- | | 200 | 请求成功 | | 500 | 请求失败 | ### 2.3 日期格式 - 请求参数中的日期格式:`yyyy-MM-dd` 或时间戳 - 响应数据中的日期格式:`yyyy-MM-dd` 字符串 --- ## 3. 接口列表 ## 3.1 医生管理 ### 3.1.1 查询医生信息 **接口地址**: `/doctor/select` **请求方式**: `POST` **请求参数**: ```json { "licenseNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------- | ------ | ---- | ------------ | | licenseNo | String | 是 | 执业证书编号 | **响应示例**: ```json { "code": 200, "message": "success", "data": { "licenseNo": "DOC001", "name": "张医生", "gender": "M", "birthDate": "1980-01-01", "idCard": "110101198001011234", "contactPhone": "13800138000", "department": "内科", "title": "主任医师", "specialty": "心血管疾病", "hireDate": "2010-01-01" } } ``` **响应字段说明**: | 字段名 | 类型 | 说明 | | ------------ | ------ | -------------------- | | licenseNo | String | 执业证书编号 | | name | String | 医生姓名 | | gender | String | 性别(M:男,F:女) | | birthDate | String | 出生日期 | | idCard | String | 身份证号 | | contactPhone | String | 联系电话 | | department | String | 所属科室 | | title | String | 职称 | | specialty | String | 专业特长 | | hireDate | String | 入职日期 | **错误响应**: ```json { "code": 500, "message": "医生不存在", "data": null } ``` --- ### 3.1.2 添加医生 **接口地址**: `/doctor/add` **请求方式**: `POST` **请求参数**: ```json { "licenseNo": "string", "name": "string", "gender": "string", "birthDate": "2025-01-01", "idCard": "string", "contactPhone": "string", "department": "string", "title": "string", "specialty": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------------ | ------ | ---- | -------------------- | | licenseNo | String | 是 | 执业证书编号 | | name | String | 是 | 医生姓名 | | gender | String | 是 | 性别(M:男,F:女) | | birthDate | Date | 否 | 出生日期 | | idCard | String | 是 | 身份证号 | | contactPhone | String | 否 | 联系电话 | | department | String | 否 | 所属科室 | | title | String | 否 | 职称 | | specialty | String | 否 | 专业特长 | **响应示例**: ```json { "code": 200, "message": "success", "data": { "licenseNo": "DOC001", "name": "张医生", "gender": "M", "birthDate": "1980-01-01", "idCard": "110101198001011234", "contactPhone": "13800138000", "department": "内科", "title": "主任医师", "specialty": "心血管疾病", "hireDate": "2025-01-01" } } ``` --- ### 3.1.3 删除医生 **接口地址**: `/doctor/delete` **请求方式**: `POST` **请求参数**: ```json { "licenseNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------- | ------ | ---- | ------------ | | licenseNo | String | 是 | 执业证书编号 | **响应示例**: ```json { "code": 200, "message": "success", "data": { "licenseNo": "DOC001", "name": "张医生", "gender": "M", "birthDate": "1980-01-01", "idCard": "110101198001011234", "contactPhone": "13800138000", "department": "内科", "title": "主任医师", "specialty": "心血管疾病", "hireDate": "2010-01-01" } } ``` --- ### 3.1.4 更新医生信息 **接口地址**: `/doctor/update` **请求方式**: `POST` **请求参数**: ```json { "licenseNo": "string", "name": "string", "gender": "string", "birthDate": "2025-01-01", "idCard": "string", "contactPhone": "string", "department": "string", "title": "string", "specialty": "string" } ``` **参数说明**: 同添加医生接口 **响应示例**: 同添加医生接口 **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` --- ### 3.1.5 根据姓名模糊搜索医生 **接口地址**: `/doctor/fuzzySearchByName` **请求方式**: `POST` **请求参数**: ```json { "name": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------------------ | | name | String | 是 | 医生姓名(支持模糊查询) | **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "licenseNo": "DOC001", "name": "张医生", "gender": "M", "birthDate": "1980-01-01", "idCard": "110101198001011234", "contactPhone": "13800138000", "department": "内科", "title": "主任医师", "specialty": "心血管疾病", "hireDate": "2010-01-01" } ] } ``` --- ### 3.1.6 根据科室模糊查询医生 **接口地址**: `/doctor/fuzzyQueryAccordingToTheDepartment` **请求方式**: `POST` **请求参数**: ```json { "department": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------ | ---- | ------------------------ | | department | String | 是 | 科室名称(支持模糊查询) | **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "licenseNo": "DOC001", "name": "张医生", "gender": "M", "birthDate": "1980-01-01", "idCard": "110101198001011234", "contactPhone": "13800138000", "department": "内科", "title": "主任医师", "specialty": "心血管疾病", "hireDate": "2010-01-01" } ] } ``` --- ## 3.2 患者管理 ### 3.2.1 添加患者 **接口地址**: `/patient/add` **请求方式**: `POST` **请求参数**: ```json { "medicalCardNo": "string", "name": "string", "gender": "string", "birthDate": "2025-01-01", "idCard": "string", "contactPhone": "string", "allergyHistory": "string", "medicalNotebook": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------------- | ------ | ---- | -------------------- | | medicalCardNo | String | 是 | 病历卡号 | | name | String | 是 | 患者姓名 | | gender | String | 是 | 性别(M:男,F:女) | | birthDate | Date | 否 | 出生日期 | | idCard | String | 是 | 身份证号 | | contactPhone | String | 否 | 联系电话 | | allergyHistory | String | 否 | 过敏史 | | medicalNotebook | String | 否 | 病历本 | **响应示例**: ```json { "code": 200, "message": "success", "data": { "medicalCardNo": "PAT001", "name": "李患者", "gender": "M", "birthDate": "1990-01-01", "idCard": "110101199001011234", "contactPhone": "13900139000", "allergyHistory": "青霉素过敏", "medicalNotebook": "病历本内容" } } ``` --- ### 3.2.2 查询患者信息 **接口地址**: `/patient/select` **请求方式**: `POST` **注意**: 实际接口路径为 `/patient/select`(缺少前导斜杠,但Spring会自动处理) **请求参数**: ```json { "medicalCardNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------------- | ------ | ---- | -------- | | medicalCardNo | String | 是 | 病历卡号 | **响应示例**: 同添加患者接口 --- ### 3.2.3 删除患者 **接口地址**: `/patient/delete` **请求方式**: `POST` **注意**: 实际接口路径为 `/patient/delete`(缺少前导斜杠,但Spring会自动处理) **请求参数**: ```json { "medicalCardNo": "string" } ``` **响应示例**: 同添加患者接口 --- ### 3.2.4 更新患者信息 **接口地址**: `/patient/update` **请求方式**: `POST` **注意**: 实际接口路径为 `/patient/update`(缺少前导斜杠,但Spring会自动处理) **请求参数**: 同添加患者接口 **响应示例**: 同添加患者接口 **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` --- ### 3.2.5 根据姓名模糊搜索患者 **接口地址**: `/patient/fuzzySearchByName` **请求方式**: `POST` **请求参数**: ```json { "name": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------------------ | | name | String | 是 | 患者姓名(支持模糊查询) | **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "medicalCardNo": "PAT001", "name": "李患者", "gender": "M", "birthDate": "1990-01-01", "idCard": "110101199001011234", "contactPhone": "13900139000", "allergyHistory": "青霉素过敏", "medicalNotebook": "病历本内容" } ] } ``` --- ### 3.2.6 注册患者 **接口地址**: `/patient/register` **请求方式**: `POST` **请求参数**: ```json { "name": "string", "gender": "string", "birthDate": "2025-01-01", "idCard": "string", "contactPhone": "string", "allergyHistory": "string", "medicalNotebook": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------------- | ------ | ---- | -------------------- | | name | String | 是 | 患者姓名 | | gender | String | 是 | 性别(M:男,F:女) | | birthDate | Date | 否 | 出生日期 | | idCard | String | 是 | 身份证号 | | contactPhone | String | 否 | 联系电话 | | allergyHistory | String | 否 | 过敏史 | | medicalNotebook | String | 否 | 病历本 | **注意**: 注册时不需要提供 `medicalCardNo`,系统会自动生成病历卡号。 **响应示例**: ```json { "code": 200, "message": "success", "data": { "medicalCardNo": "PAT001", "name": "李患者", "gender": "M", "birthDate": "1990-01-01", "idCard": "110101199001011234", "contactPhone": "13900139000", "allergyHistory": "青霉素过敏", "medicalNotebook": "病历本内容" } } ``` **错误响应**: ```json { "code": 500, "message": "注册失败", "data": null } ``` --- ### 3.2.7 获取患者挂号记录 **接口地址**: `/patient/getRegistered` **请求方式**: `POST` **请求参数**: ```json { "medicalCardNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------------- | ------ | ---- | -------- | | medicalCardNo | String | 是 | 病历卡号 | **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "id": "VISIT001", "patientName": "李患者", "doctorName": "张医生", "registrationTime": "2025-01-01 09:00:00", "actualVisitTime": null, "status": 0, "chiefComplaint": null, "presentIllness": null, "diagnosisResult": null } ] } ``` **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` --- ## 3.3 药品管理 ### 3.3.1 添加药品 **接口地址**: `/drug/add` **请求方式**: `POST` **请求参数**: ```json { "drugCode": "string", "drugName": "string", "tradeName": "string", "pinyinCode": "string", "specification": "string", "unit": "string", "unitPrice": 0.00, "manufacturer": "string", "drugType": 1 } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------------- | ---------- | ---- | -------------------------------- | | drugCode | String | 是 | 药品编码 | | drugName | String | 是 | 药品通用名 | | tradeName | String | 否 | 商品名 | | pinyinCode | String | 否 | 拼音码 | | specification | String | 否 | 规格(如:0.5g*24片) | | unit | String | 否 | 单位(如:盒,瓶) | | unitPrice | BigDecimal | 否 | 单价 | | manufacturer | String | 否 | 生产厂家 | | drugType | Integer | 是 | 药品类型(1:处方药, 2:非处方药) | **响应示例**: ```json { "code": 200, "message": "success", "data": { "drugCode": "DRUG001", "drugName": "阿莫西林胶囊", "tradeName": "阿莫西林胶囊", "pinyinCode": "amxljn", "specification": "0.5g*24片", "unit": "盒", "unitPrice": 25.50, "manufacturer": "XX制药有限公司", "drugType": 1 } } ``` --- ### 3.3.2 查询药品 **接口地址**: `/drug/select` **请求方式**: `POST` **请求参数**: ```json { "drugCode": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | -------- | | drugCode | String | 是 | 药品编码 | **响应示例**: 同添加药品接口 --- ### 3.3.3 删除药品 **接口地址**: `/drug/delete` **请求方式**: `POST` **请求参数**: ```json { "drugCode": "string" } ``` **响应示例**: 同添加药品接口 --- ### 3.3.4 更新药品信息 **接口地址**: `/drug/update` **请求方式**: `POST` **注意**: 实际接口路径为 `/drug/update`(缺少前导斜杠,但Spring会自动处理) **请求参数**: 同添加药品接口 **响应示例**: 同添加药品接口 --- ### 3.3.5 根据药品通用名模糊查询 **接口地址**: `/drug/selectByDrugName` **请求方式**: `POST` **请求参数**: ```json { "drugName": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | -------------------------- | | drugName | String | 是 | 药品通用名(支持模糊查询) | **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "drugCode": "DRUG001", "drugName": "阿莫西林胶囊", "tradeName": "阿莫西林胶囊", "pinyinCode": "amxljn", "specification": "0.5g*24片", "unit": "盒", "unitPrice": 25.50, "manufacturer": "XX制药有限公司", "drugType": 1 } ] } ``` --- ### 3.3.6 根据商品名模糊查询 **接口地址**: `/drug/selectByTradeName` **请求方式**: `POST` **请求参数**: ```json { "tradeName": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------- | ------ | ---- | ---------------------- | | tradeName | String | 是 | 商品名(支持模糊查询) | **响应示例**: 同根据药品通用名模糊查询接口 --- ### 3.3.7 根据拼音码模糊查询 **接口地址**: `/drug/selectByPinyinCode` **请求方式**: `POST` **请求参数**: ```json { "pinyinCode": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ---------- | ------ | ---- | ---------------------- | | pinyinCode | String | 是 | 拼音码(支持模糊查询) | **响应示例**: 同根据药品通用名模糊查询接口 --- ## 3.4 检查项目管理 ### 3.4.1 添加检查项目 **接口地址**: `/examinationItem/add` **请求方式**: `POST` **请求参数**: ```json { "itemCode": "string", "itemName": "string", "departmentId": "string", "standardPrice": 0.00, "description": "string", "isAvailable": true } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------------- | ---------- | ---- | --------------------------------------------- | | itemCode | String | 是 | 项目编码 | | itemName | String | 是 | 项目名称 | | departmentId | String | 是 | 执行科室ID | | standardPrice | BigDecimal | 否 | 标准价格 | | description | String | 否 | 项目说明 | | isAvailable | Boolean | 否 | 是否可用(false/0表示可用,true/1表示不可用) | **响应示例**: ```json { "code": 200, "message": "success", "data": { "itemCode": "EXAM001", "itemName": "血常规", "departmentId": "DEPT001", "standardPrice": 50.00, "description": "血常规检查", "isAvailable": false } } ``` --- ### 3.4.2 查询检查项目 **接口地址**: `/examinationItem/select` **请求方式**: `POST` **请求参数**: ```json { "itemCode": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | -------- | | itemCode | String | 是 | 项目编码 | **响应示例**: 同添加检查项目接口 --- ### 3.4.3 删除检查项目 **接口地址**: `/examinationItem/delete` **请求方式**: `POST` **请求参数**: ```json { "itemCode": "string" } ``` **响应示例**: 同添加检查项目接口 --- ### 3.4.4 更新检查项目 **接口地址**: `/examinationItem/update` **请求方式**: `POST` **请求参数**: 同添加检查项目接口 **响应示例**: 同添加检查项目接口 --- ### 3.4.5 根据项目名称模糊查询 **接口地址**: `/examinationItem/selectByDrugName` **请求方式**: `POST` **请求参数**: ```json { "itemName": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | ------------------------ | | itemName | String | 是 | 项目名称(支持模糊查询) | **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "itemCode": "EXAM001", "itemName": "血常规", "departmentId": "DEPT001", "standardPrice": 50.00, "description": "血常规检查", "isAvailable": false } ] } ``` **响应字段说明**: | 字段名 | 类型 | 说明 | | ------------- | ---------- | --------------------------------------------- | | itemCode | String | 项目编码 | | itemName | String | 项目名称 | | departmentId | String | 执行科室ID | | standardPrice | BigDecimal | 标准价格 | | description | String | 项目说明 | | isAvailable | Boolean | 是否可用(false/0表示可用,true/1表示不可用) | --- ## 3.5 门诊就诊管理 ### 3.5.1 获取接诊队列 **接口地址**: `/patientVisit/getAdmissionsQueue` **请求方式**: `POST` **请求参数**: ```json { "licenseNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------- | ------ | ---- | ---------------- | | licenseNo | String | 是 | 医生执业证书编号 | **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "medicalCardNo": "PAT001", "name": "李患者", "gender": "M", "birthDate": "1990-01-01", "idCard": "110101199001011234", "contactPhone": "13900139000", "allergyHistory": "青霉素过敏", "medicalNotebook": "病历本内容" } ] } ``` --- ### 3.5.2 获取全部接诊记录 **接口地址**: `/patientVisit/getAllAdmissionsHistory` **请求方式**: `POST` **注意**: 实际接口路径为 `/patientVisit/getAllAdmissionsHistory`(缺少前导斜杠,但Spring会自动处理) **请求参数**: 无 **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "id": "VISIT001", "patientName": "李患者", "doctorName": "张医生", "registrationTime": "2025-01-01 09:00:00", "actualVisitTime": "2025-01-01 09:30:00", "status": 1, "chiefComplaint": "头痛", "presentIllness": "患者自述头痛3天", "diagnosisResult": "偏头痛" } ] } ``` **响应字段说明**: | 字段名 | 类型 | 说明 | | ---------------- | --------- | ------------------------------------ | | id | String | 接诊记录主键 | | patientName | String | 患者姓名 | | doctorName | String | 接诊医生姓名 | | registrationTime | Timestamp | 挂号时间 | | actualVisitTime | Timestamp | 实际就诊时间 | | status | Integer | 状态(0:待就诊, 1:已完成, 2:已取消) | | chiefComplaint | String | 病人主诉 | | presentIllness | String | 现病史 | | diagnosisResult | String | 诊断结果 | --- ### 3.5.3 获取个人接诊记录 **接口地址**: `/patientVisit/getAdmissionsHistory` **请求方式**: `POST` **注意**: 实际接口路径为 `/patientVisit/getAdmissionsHistory`(缺少前导斜杠,但Spring会自动处理) **请求参数**: ```json { "licenseNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------- | ------ | ---- | ---------------- | | licenseNo | String | 是 | 医生执业证书编号 | **响应示例**: 同获取全部接诊记录接口 **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` --- ### 3.5.4 做出诊断 **接口地址**: `/patientVisit/diagnosis` **请求方式**: `POST` **请求参数**: ```json { "patientMedicalCardNo": "string", "doctorLicenseNo": "string", "chiefComplaint": "string", "presentIllness": "string", "diagnosisResult": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | -------------------- | ------ | ---- | ---------- | | patientMedicalCardNo | String | 是 | 患者病历号 | | doctorLicenseNo | String | 是 | 医生执业号 | | chiefComplaint | String | 否 | 病人主诉 | | presentIllness | String | 否 | 现病史 | | diagnosisResult | String | 否 | 诊断结果 | **响应示例**: ```json { "code": 200, "message": "success", "data": null } ``` **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` 或 ```json { "code": 500, "message": "系统出错,请联系维修人员", "data": null } ``` --- ### 3.5.5 取消接诊 **接口地址**: `/patientVisit/cancel` **请求方式**: `POST` **请求参数**: ```json { "patientMedicalCardNo": "string", "doctorLicenseNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | -------------------- | ------ | ---- | ---------- | | patientMedicalCardNo | String | 是 | 患者病历号 | | doctorLicenseNo | String | 是 | 医生执业号 | **响应示例**: ```json { "code": 200, "message": "success", "data": null } ``` **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` --- ### 3.5.6 患者挂号 **接口地址**: `/patientVisit/registered` **请求方式**: `POST` **请求参数**: ```json { "patientMedicalCardNo": "string", "doctorLicenseNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | -------------------- | ------ | ---- | ---------- | | patientMedicalCardNo | String | 是 | 患者病历号 | | doctorLicenseNo | String | 是 | 医生执业号 | **响应示例**: ```json { "code": 200, "message": "success", "data": { "id": "VISIT001", "patientName": "李患者", "doctorName": "张医生", "registrationTime": "2025-01-01 09:00:00", "actualVisitTime": null, "status": 0, "chiefComplaint": null, "presentIllness": null, "diagnosisResult": null } } ``` **错误响应**: ```json { "code": 500, "message": "不能重复挂号", "data": null } ``` 或 ```json { "code": 500, "message": "请求参数错误", "data": null } ``` --- ### 3.5.7 查询当前医生挂号人数 **接口地址**: `/patientVisit/checkTheCurrentNumberOfRegisteredDoctors` **请求方式**: `POST` **请求参数**: ```json { "licenseNo": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------- | ------ | ---- | ---------------- | | licenseNo | String | 是 | 医生执业证书编号 | **响应示例**: ```json { "code": 200, "message": "success", "data": 5 } ``` **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` 或 ```json { "code": 500, "message": "系统出错,请联系维修人员", "data": null } ``` --- ## 3.6 处方管理 ### 3.6.1 开具处方 **接口地址**: `/prescription/issued` **请求方式**: `POST` **请求参数**: ```json { "visitId": "string", "diagnosisDesc": "string", "doctorSign": "string", "drugs": [ { "drugCode": "string", "dosage": 0.00, "dosageUnit": "string", "frequency": "string", "administrationRoute": "string", "duration": 7, "totalQuantity": 0.00, "note": "string" } ] } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------------- | ------ | ---- | ------------ | | visitId | String | 是 | 对应就诊主键 | | diagnosisDesc | String | 是 | 诊断描述 | | doctorSign | String | 是 | 医生签名 | | drugs | Array | 是 | 药品列表 | **药品详情参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------------------- | ---------- | ---- | ------------------ | | drugCode | String | 是 | 药品编号 | | dosage | BigDecimal | 否 | 单次用量 | | dosageUnit | String | 是 | 用量单位 | | frequency | String | 是 | 用药频次 | | administrationRoute | String | 是 | 给药途经 | | duration | Integer | 否 | 用药天数 | | totalQuantity | BigDecimal | 是 | 总数量(如:24片) | | note | String | 否 | 备注 | **响应示例**: ```json { "code": 200, "message": "success", "data": { "visitId": "VISIT001", "prescriptionNo": "PRES001", "diagnosisDesc": "感冒", "totalAmount": 50.00, "status": 1, "doctorSign": "张医生", "createTime": "2025-01-01 10:00:00", "prescriptionDetailVos": [ { "drugCode": "DRUG001", "dosage": 0.5, "dosageUnit": "g", "frequency": "每日3次", "administrationRoute": "口服", "duration": 7, "totalQuantity": 24.00, "note": "饭后服用", "drugVo": { "drugCode": "DRUG001", "drugName": "阿莫西林胶囊", "tradeName": "阿莫西林胶囊", "pinyinCode": "amxljn", "specification": "0.5g*24片", "unit": "盒", "unitPrice": 25.50, "manufacturer": "XX制药有限公司", "drugType": 1 } } ] } } ``` **响应字段说明**: | 字段名 | 类型 | 说明 | | --------------------- | ---------- | -------------------------------------------- | | visitId | String | 关联的就诊ID | | prescriptionNo | String | 处方号 | | diagnosisDesc | String | 诊断描述 | | totalAmount | BigDecimal | 处方总金额 | | status | Integer | 状态(0:暂存, 1:已开具, 2:已发药, 3:已作废) | | doctorSign | String | 医生电子签名 | | createTime | Timestamp | 开具时间 | | prescriptionDetailVos | Array | 处方详情列表 | --- ### 3.6.2 根据就诊ID查询处方 **接口地址**: `/prescription/getPrescriptionById` **请求方式**: `POST` **请求参数**: ```json { "visitId": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ------ | | visitId | String | 是 | 就诊ID | **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "visitId": "VISIT001", "prescriptionNo": "PRES001", "diagnosisDesc": "感冒", "totalAmount": 50.00, "status": 1, "doctorSign": "张医生", "createTime": "2025-01-01 10:00:00", "prescriptionDetailVos": [ { "drugCode": "DRUG001", "dosage": 0.5, "dosageUnit": "g", "frequency": "每日3次", "administrationRoute": "口服", "duration": 7, "totalQuantity": 24.00, "note": "饭后服用", "drugVo": { "drugCode": "DRUG001", "drugName": "阿莫西林胶囊", "tradeName": "阿莫西林胶囊", "pinyinCode": "amxljn", "specification": "0.5g*24片", "unit": "盒", "unitPrice": 25.50, "manufacturer": "XX制药有限公司", "drugType": 1 } } ] } ] } ``` **响应字段说明**: 同开具处方接口,返回列表形式 --- ## 3.7 检查申请管理 ### 3.7.1 开具检查项目申请单 **接口地址**: `/examinationItemRequest/request` **请求方式**: `POST` **请求参数**: ```json { "visitId": "string", "itemCode": "string", "clinicalDiagnosis": "string", "clinicalManifestation": "string", "applyDoctorCode": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | --------------------- | ------ | ---- | ---------------- | | visitId | String | 是 | 关联的就诊ID | | itemCode | String | 是 | 检查检验项目编码 | | clinicalDiagnosis | String | 否 | 临床诊断 | | clinicalManifestation | String | 否 | 临床表现 | | applyDoctorCode | String | 是 | 申请医生编号 | **响应示例**: ```json { "code": 200, "message": "success", "data": { "visitId": "VISIT001", "itemName": "血常规", "clinicalDiagnosis": "疑似感染", "clinicalManifestation": "发热、咳嗽", "applyDoctorName": "张医生", "applyTime": "2025-01-01 10:00:00" } } ``` **响应字段说明**: | 字段名 | 类型 | 说明 | | --------------------- | ------ | ------------ | | visitId | String | 关联的就诊ID | | itemName | String | 检查项目名称 | | clinicalDiagnosis | String | 临床诊断 | | clinicalManifestation | String | 临床表现 | | applyDoctorName | String | 申请医生姓名 | | applyTime | String | 申请时间 | **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` 或 ```json { "code": 500, "message": "系统出错,请联系维修人员", "data": null } ``` --- ### 3.7.2 根据就诊ID查询检查申请 **接口地址**: `/examinationItemRequest/selectExaminationItemRequestById` **请求方式**: `POST` **请求参数**: ```json { "visitId": "string" } ``` **参数说明**: | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ------ | | visitId | String | 是 | 就诊ID | **响应示例**: ```json { "code": 200, "message": "success", "data": [ { "visitId": "VISIT001", "itemName": "血常规", "clinicalDiagnosis": "疑似感染", "clinicalManifestation": "发热、咳嗽", "applyDoctorName": "张医生", "applyTime": "2025-01-01 10:00:00" } ] } ``` **响应字段说明**: 同开具检查项目申请单接口,返回列表形式 **注意**: 响应数据中只包含 `itemName`(检查项目名称),不包含 `itemCode`(检查项目编码)。 **错误响应**: ```json { "code": 500, "message": "请求参数错误", "data": null } ``` --- ## 3.8 Redis缓存管理 ### 3.8.1 清空Redis缓存 **接口地址**: `/redis/clear` **请求方式**: `POST` **请求参数**: 无 **响应示例**: ```json { "code": 200, "message": "success", "data": null } ``` **接口说明**: - 该接口用于清空Redis中的所有缓存数据 - 主要用于刷新数据时确保获取最新数据 - 清空缓存后,后续查询将从数据库重新加载数据并更新缓存 --- ## 3.9 测试接口 ### 3.9.1 测试接口 **接口地址**: `/demo` **请求方式**: `GET` **请求参数**: 无 **响应示例**: ```html

success

``` --- ## 4. 错误码说明 | 错误码 | 说明 | | ------ | -------- | | 200 | 请求成功 | | 500 | 请求失败 | **常见错误消息**: - `请求格式错误`: 请求参数格式不正确或缺少必填参数 - `医生不存在`: 查询的医生不存在 - `患者不存在`: 查询的患者不存在 - `药品不存在`: 查询的药品不存在 - `项目不存在`: 查询的检查项目不存在 - `添加失败`: 添加操作失败 - `删除失败`: 删除操作失败 - `更新失败`: 更新操作失败 - `查询失败`: 查询操作失败 - `系统错误,请联系维修人员`: 系统内部错误 --- ## 5. 注意事项 1. 所有日期字段在请求时可以使用 `yyyy-MM-dd` 格式或时间戳,响应时统一为 `yyyy-MM-dd` 字符串格式 2. 性别字段值:`M` 表示男性,`F` 表示女性 3. 药品类型:`1` 表示处方药,`2` 表示非处方药 4. 接诊状态:`0` 表示待就诊,`1` 表示已完成,`2` 表示已取消 5. 处方状态:`0` 表示暂存,`1` 表示已开具,`2` 表示已发药,`3` 表示已作废 6. 检查项目可用状态:`isAvailable` 字段,`false` 或 `0` 表示可用,`true` 或 `1` 表示不可用 7. 所有 POST 请求都需要在请求头中设置 `Content-Type: application/json` 8. 所有接口返回的数据都包装在 `Result` 对象中,需要根据 `code` 字段判断请求是否成功 --- ## 6. 更新日志 - **2025-01-01**: 初始版本接口文档 - **2025-01-XX**: 根据后端代码更新API文档 - 添加医生和患者模糊搜索接口 - 添加取消接诊接口 - 添加查询处方和检查申请接口 - 修正检查申请接口字段名称(itemId改为itemCode,响应字段改为itemName) - 更新isAvailable字段说明(false/0表示可用,true/1表示不可用) - **2026-01-XX**: 添加Redis缓存管理接口 - 添加清空Redis缓存接口(`/redis/clear`) - **2026-01-XX**: 根据后端代码全面更新API文档 - 添加医生根据科室模糊查询接口(`/doctor/fuzzyQueryAccordingToTheDepartment`) - 添加患者注册接口(`/patient/register`) - 添加获取患者挂号记录接口(`/patient/getRegistered`) - 添加患者挂号接口(`/patientVisit/registered`) - 添加查询当前医生挂号人数接口(`/patientVisit/checkTheCurrentNumberOfRegisteredDoctors`) - 修正所有接口的错误响应消息(统一为"请求参数错误"或"系统出错,请联系维修人员") - 补充所有接口的错误响应示例 - 修正接口路径说明(标注缺少前导斜杠的接口)