LOG · 日志
压疮仿真-v3.0
压疮形成仿真教学系统 v3.0
给护理教师与临床培训者演示压力性损伤形成过程的教学仿真系统:调节压力、温湿度与体位参数,三维人体模型实时呈现骶尾、足跟等高风险部位的损伤累积,配合风险评分、翻身建议与仿真记录回放。
状态:归档(v3.0 前后端分离版,代码完整可运行;不再维护);入口:pnpm dev(前端 :5173、后端 :3001);仓库:本地归档,无远程 Git
本质
把压疮生物力学累积模型、三维体位可视化与可回放的教学仿真记录收敛为前后端分离的教学演示系统。
选型
基于 pnpm workspace 的前后端分离单仓,前端 React 19 + shadcn/ui,后端 Express + SQLite,实时状态通过 WebSocket 推送。
- 运行时
- Node 20+ / pnpm
- 前端
- React 19
- Vite 7
- Tailwind CSS + shadcn/ui
- Three.js(三维人体模型)
- ECharts(伤害曲线)
- React 19
- 后端
- Express
- TypeScript
- ws(WebSocket)
- Express
- 数据
- SQLite(单文件)
- 部署
- Docker Compose + Nginx
功能
- 参数化风险模型:身高、体重、界面压力、温度、湿度五维输入,输出 0–10 综合风险系数与分项贡献。
- 三维体位可视化:标注骶尾部、左右足跟、左右股骨大转子五个高发部位,按损伤程度渐变着色。
- 时间加速仿真:初始、进展、恢复三阶段,支持加速倍率、翻身操作、暂停/继续/重置。
- 临界时间预测:根据压力与风险水平估算压疮形成时间与建议翻身间隔。
- 多会话与实时推送:后端仿真引擎按会话隔离,WebSocket 广播状态,支持教师大屏与学生端同步观看。
- 记录与回放:仿真参数、过程事件与结果落 SQLite,可保存、查看、删除历史记录。
- 未完成:多租户账号体系;真实临床数据接入。
启动流程
pnpm install
pnpm dev # 前端 :5173 + 后端 :3001
pnpm test # 后端仿真引擎测试
pnpm build # 构建 shared / frontend / backend
pnpm db:init # 初始化 SQLite 数据库
前置:Node 20+ 与 pnpm;后端默认端口 3001,前端通过 Vite 代理访问 /api/v1 与 /ws;生产用 docker compose -f docker-compose.prod.yml up -d。
边界与已知问题
- 结构假设:SQLite 单文件写入,生产建议单实例运行,不支持多副本并发写。
- 教学边界:模型为教学演示用的简化生物力学模型,不能用于临床诊断或个体化预测。
- 状态恢复:WebSocket 断线后前端需重新拉取会话快照,断线期间的事件不补发。
- 文档漂移:根 README 仍以 v3.0 重构说明为主,API 细节以
docs/API.md为准。
文档索引
- docs/ARCHITECTURE.md — 系统架构与分层
- docs/API.md — REST 与 WebSocket 接口
- docs/3D_MODEL_SOLUTION.md — 三维人体模型方案
- docs/LOW_SPEC_DEPLOY.md — 低配机器部署
- docs/ROADMAP.md — 历史路线图