OMMS(Online Medical Management System)是一个面向医疗机构与患者的在线医疗管理系统,涵盖用户/预约/病历/住院/药品库存/支付/检验/统计等核心场景,强调安全、合规与可用性目标。
omms/
├─ docs/ # 项目相关文档
├─ omms_backend/ # 后端 Python (FastAPI) 项目
└─ omms_frontend/ # 前端 Vue 3 项目
- 后端:Python 3.10+/FastAPI 0.109+、SQLAlchemy 2.x、Pydantic 2.x、Alembic、JWT、MySQL 5.5.62
- 前端:Vue 3、Ant Design Vue、Vue Router、Axios、Day.js、ECharts
- 用户管理:角色分配(患者/医生/护士/管理员)、注册登录与权限控制
- 预约管理:医生排班、在线预约、提醒通知、状态跟踪
- 病历管理:病史与处方记录、查询与授权共享
- 药品与库存:药品信息、库存上下限预警、处方开药与发药
- 报表与统计:就诊/收入/药品消耗等指标,支持导出
- 系统安全与日志:数据加密、操作审计、备份与恢复
- 数据分类:PII/医疗敏感/交易数据
- 加密:TLS1.2+、静态字段加密、密码哈希使用 BCrypt
- 认证与授权:JWT(短期访问令牌+刷新令牌)、RBAC + 作用域、行级访问限制
- 审计与合规:关键操作记录,日志脱敏与留存策略(审计 ≥180 天)
- 路径前缀:无(直接访问),统一响应:
{ code, message, data } - 认证:
Authorization: Bearer <jwt>;按角色/作用域校验 - 幂等与重试:预约携带
Idempotency-Key;支付回调签名校验与幂等 - 分页与过滤:
page,size,sort与统一时间范围参数
- 性能与容量:单实例 QPS≥200,P95 < 400ms,并发在线用户约 500
- 可用性与灾备:工作时段 SLA≥99.5%,RTO≤2h,RPO≤24h
- 扩展与可靠:关键接口水平扩展;重试与幂等;关键流程降级与告警
- 预约:选择科室/医生 → 冲突检测 → 时间段锁定 → 确认 → 通知
- 就诊与病历:医生查看预约 → 录入病历与处方 → 患者确认
- 检查/检验:医生申请 → 检验科处理 → 结果上传 → 通知
- 药品库存:处方 → 审核/发药 → 扣减批次 → 低库存/效期预警
- 支付通道:微信/支付宝沙箱;订单创建、回调通知、签名校验
- 对账:每日报表;异常订单处理与告警
- 退款:MVP 支持就诊前全额退款;就诊后/部分退款后续规划
- 环境:
dev/test/prod,MVP 单机(后端+MySQL 5.5.62) - CI/CD:合并触发构建与测试;监控与告警(耗时、错误率等)
- 日志策略:应用日志 ≥30 天;审计日志 ≥180 天;敏感字段脱敏
- 数据库:每日全备保留 7 天;每周合成备份;跨机房/云存储外置备份
- 演练:季度恢复演练;目标 RTO≤2 小时
- 单元测试覆盖率 ≥60%;关键流程 E2E 用例 ≥8 条
- 类型:单元/集成/E2E/UAT;测试数据脱敏与构造规范
- 发布准入:关键缺陷清零;性能基线达标;回归通过
前置环境:
- 后端:
Python 3.10+、MySQL 5.5.62 - 前端:
Node 20.19+ 或 22.12+
后端
- 详见
omms_backend/README.md(包含虚拟环境创建、依赖安装、数据库迁移与启动命令)
前端
- 详见
omms_frontend/README.md(包含安装、开发、构建、测试与 lint 命令)
- 提交消息:遵循
docs/Git 提交消息规范.md - 安全:严禁将密钥、证书、数据库账号等敏感信息提交到仓库
- 项目选题与范围:
docs/选题.md - 项目开发计划:
docs/项目开发计划/项目开发计划.md
注:本 README 基于
docs/选题.md的系统规划进行整理,后续将随着后端 FastAPI 与前端业务功能的落地持续更新。