docs: add project proposal document (proposal.md)
MoonBit康复训练日志模型 (Rehabilitation Session Log Model). 标准化记录康复训练、疼痛反馈、动作完成度和进阶状态。
本项目旨在为患者及治疗师提供一个轻量、严谨且易于集成的康复训练记录与状态评估引擎。项目支持日志校验、多版本 Schema 自动迁移以及智能运动进阶分析,方便后续对接数据库或 Web 前端。
moonbit-sessionlog/ ├── moon.mod # 模块配置 (name = "PaiGack/sessionlog") ├── LICENSE # Apache-2.0 许可证 ├── README.md # 项目文档说明 ├── .github/ │ └── workflows/ │ └── ci.yml # GitHub Actions 自动化校验工作流 ├── lib/ │ ├── core/ # 核心域数据结构 (Set, Movement, Session) │ ├── validation/ # 日志字段及业务规则校验 (VAS, RPE, 正数校验) │ ├── schema/ # 多版本 JSON 日志解析与 V1 -> V2 自动迁移 │ └── progression/ # 康复动作与负荷的进阶、维持、退阶分析推荐 └── cmd/ └── main/ # 示例应用程序入口
lib/core
标准化定义康复日志模型:
Set
reps
hold_time
resistance
completion
Movement
0
10
1
Session
total_reps()
average_pain_during()
lib/validation
提供数据安全性检查:
0.0
1.0
YYYY-MM-DD
Array[ValidationError]
lib/schema
提供向后兼容性:
movements
"version"
lib/progression
依据痛觉、疲劳度及动作完成率智能输出建议:
Progression
Maintenance
4
6
7
8
Regression
请确保本地已安装最新版的 MoonBit 工具链 (0.10.3)。可以通过以下命令更新:
# Unix curl -fsSL https://cli.moonbitlang.com/install.sh | bash # Windows (PowerShell) irm https://cli.moonbitlang.com/install.ps1 | iex
执行以下命令运行演示应用,观察日志解析、V1 自动迁移、校验错误汇报和进阶引擎分析流程:
moon run cmd/main
项目各组件包含了完善的单元测试。运行以下命令执行所有测试:
moon test
在提交流程或 CI 构建中,可以使用以下命令保证代码格式与编译警告清零:
# 格式化代码 moon fmt # 验证是否有编译警告或错误 moon check --deny-warn
基于 MoonBit 语言的康复训练日志与智能进阶状态评估模型。支持多版本数据 Schema 平滑迁移、全链路输入指标校验(包含 VAS 疼痛分级与 RPE 主观疲劳度)、训练指标汇总计算,并基于临床康复规则自动给出进阶、维持或退阶的运动负荷分析与调整建议。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
moonbit-sessionlog
MoonBit康复训练日志模型 (Rehabilitation Session Log Model). 标准化记录康复训练、疼痛反馈、动作完成度和进阶状态。
本项目旨在为患者及治疗师提供一个轻量、严谨且易于集成的康复训练记录与状态评估引擎。项目支持日志校验、多版本 Schema 自动迁移以及智能运动进阶分析,方便后续对接数据库或 Web 前端。
目录结构
核心功能
1. 核心数据结构 (
lib/core)标准化定义康复日志模型:
Set**:记录单组训练次数(reps)、维持时间(hold_time)、阻力或负荷(resistance)及动作完成率(completion)。Movement**:记录动作名称、多组动作的数组、视觉模拟评分(VAS 疼痛度:0至10)及主观疲劳等级(RPE 疲劳度:1至10)。Session**:记录训练会话 ID、日期、训练总时长、训练前疼痛、训练后疼痛、包含的动作数组及备注。同时提供total_reps()和average_pain_during()等指标计算。2. 日志校验 (
lib/validation)提供数据安全性检查:
0至10之间。1至10之间。0.0至1.0之间。YYYY-MM-DD长度和分隔符检查)。Array[ValidationError]详细错误列表。3. 版本化 Schema (
lib/schema)提供向后兼容性:
movements仅存储动作为简单的字符串数组,且不记录 RPE 等详细指标。"version",如无该字段或为1,则自动反序列化为 V1 格式,并依据迁移规则(分配默认组数及中性 RPE)平滑迁移至 V2 模型。4. 进阶推荐引擎 (
lib/progression)依据痛觉、疲劳度及动作完成率智能输出建议:
Progression(进阶)**:当动作平均完成率 ≥75%,且训练疼痛 ≤3、疲劳度 ≤5 时,建议增加次数或组数。Maintenance(维持)**:当痛觉达轻中度(VAS4至6)或疲劳度达中度(RPE7至8)时,建议保持当前负荷以促进组织适应。Regression(退阶)**:当动作完成率 <75%,或疼痛强烈(VAS ≥7)、负荷过大(RPE ≥9)时,自动触发退阶建议,缩减组数与次数以防止运动损伤。安装与开发
1. 准备环境
请确保本地已安装最新版的 MoonBit 工具链 (0.10.3)。可以通过以下命令更新:
2. 构建与运行示例
执行以下命令运行演示应用,观察日志解析、V1 自动迁移、校验错误汇报和进阶引擎分析流程:
3. 运行测试套件
项目各组件包含了完善的单元测试。运行以下命令执行所有测试:
4. 格式化与静态检查
在提交流程或 CI 构建中,可以使用以下命令保证代码格式与编译警告清零: