1. 项目背景与核心价值
中药房管理系统是传统中医药行业数字化转型的关键基础设施。随着国家对中医药事业支持力度不断加大,各类中医医疗机构数量快速增长,传统人工管理方式已难以应对以下痛点:
- 药材库存管理混乱:手工记录易出错,效期管理困难
- 处方流转效率低下:从开方到抓药平均耗时30分钟以上
- 质量追溯体系缺失:无法快速定位问题药材批次
- 经营数据分析滞后:依赖月度手工报表,决策滞后
我们开发的这套系统采用SpringBoot+Vue技术栈,实现了以下突破性改进:
- 全流程数字化管理:覆盖从药材采购、入库、处方调配到销售的全生命周期
- 智能预警体系:库存不足、药材近效期、配伍禁忌等自动提醒
- 移动端协同:支持手机端处方审核与进度查询
- 大数据分析:自动生成经营报表和药材使用趋势分析
关键创新点:将传统中药的"十八反十九畏"配伍禁忌规则编码为系统校验算法,在处方录入阶段即可拦截危险组合。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体技术栈选型
code复制前端:Vue3 + Element Plus + ECharts
后端:SpringBoot 2.7 + MyBatis-Plus + Redis
数据库:MySQL 8.0 + 阿里云PolarDB
中间件:RocketMQ + Elasticsearch
部署:Docker + Jenkins
选择SpringBoot作为核心框架主要基于:
- 快速构建特性:中药业务模块多(库存/处方/财务等),需要快速迭代
- 嵌入式Tomcat:简化医疗机构本地化部署
- 健康检查机制:关键药事服务需24小时可用
2.2 核心业务模块设计
java复制// 药材库存领域模型示例
@Entity
public class ChineseHerb {
@Id
private String herbCode; // 药材编码(遵循《中国药典》)
@Column(precision=10, scale=2)
private BigDecimal currentStock; // 当前库存(克)
@Enumerated(EnumType.STRING)
private StorageCondition condition; // 存储条件(阴凉/冷藏等)
@ElementCollection
private Set<String> incompatibles; // 配伍禁忌药材编码集合
}
2.3 关键技术实现
处方智能审核流程:
- OCR识别纸质处方(集成阿里云文字识别)
- 药材配伍禁忌检查(基于预置规则引擎)
- 库存可用性校验
- 药师二次确认(移动端推送)
性能优化方案:
- 药材图片采用OSS存储 + CDN加速
- 高频查询接口添加Redis缓存(TTL=5分钟)
- 批量操作使用RocketMQ异步处理
3. 核心功能实现细节
3.1 智能处方管理系统
业务流程图:
mermaid复制graph TD
A[纸质处方扫描] --> B(OCR识别)
B --> C{配伍检查}
C -->|通过| D[库存预留]
C -->|不通过| E[人工干预]
D --> F[生成调剂任务]
关键代码片段(配伍检查):
java复制public class CompatibilityChecker {
private static final Map<String, Set<String>> INCOMPATIBLE_MAP =
loadFromDatabase(); // 预加载禁忌关系
public CheckResult check(List<String> herbCodes) {
for (String herb1 : herbCodes) {
for (String herb2 : herbCodes) {
if (isIncompatible(herb1, herb2)) {
return CheckResult.fail(herb1 + "与" + herb2 + "存在配伍禁忌");
}
}
}
return CheckResult.success();
}
}
3.2 药材库存动态预警
实现多维度监控:
- 库存量预警:低于安全库存自动生成采购单
- 效期预警:距离失效期3个月标黄提醒
- 质量预警:关联供应商历史合格率数据
sql复制-- 库存预警视图
CREATE VIEW stock_alert_view AS
SELECT h.herb_name, s.current_quantity, s.safety_stock
FROM herb_stock s
JOIN chinese_herb h ON s.herb_code = h.herb_code
WHERE s.current_quantity < s.safety_stock * 1.2;
4. 系统部署与运维
4.1 服务器配置建议
| 组件 | 最低配置 | 推荐配置 | 说明 |
|---|---|---|---|
| 应用服务器 | 2C4G | 4C8G | 每100并发增加1核CPU |
| MySQL | 4C8G | 8C16G | 需SSD存储 |
| Redis | 1C2G | 2C4G | 建议主从部署 |
4.2 高可用方案
-
数据库层:
- 主从复制+读写分离
- 使用PolarDB自动故障转移
-
应用层:
- Nginx负载均衡
- SpringCloud Gateway熔断配置
yaml复制spring: cloud: gateway: routes: - id: prescription-service uri: lb://prescription-service predicates: - Path=/api/prescription/** filters: - name: CircuitBreaker args: name: prescriptionCB fallbackUri: forward:/fallback/prescription
5. 项目成果与扩展
5.1 实际应用效果
在XX中医院试运行3个月后:
- 处方调配效率提升60%
- 药材报损率下降45%
- 患者平均等待时间从35分钟缩短至12分钟
5.2 后续优化方向
- 接入中药煎药设备物联网数据
- 开发药材种植溯源区块链模块
- 增加AI处方辅助生成功能(需NMPA认证)
部署注意事项:首次启动需预加载《中华人民共和国药典》2020版基础数据,约需5-8分钟初始化时间。
