# checkapp **Repository Path**: klhaddress/checkapp ## Basic Information - **Project Name**: checkapp - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: feature-复查时间统计 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-11 - **Last Updated**: 2026-05-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 健康档案管理系统 v1.0

Nest Logo

## 项目概述 健康档案管理系统是基于NestJS框架开发的综合性健康管理平台,主要服务于多家医院的健康管理业务。系统整合了客户健康档案管理、医疗服务订单管理、健康建议生成、随访记录管理、体检数据管理等核心功能,并支持微信小程序数据接入和AI智能建议生成。 ## 项目状态说明 ### 当前版本状态 - **版本**: v1.0 (重构版本) - **项目阶段**: 重构开发阶段 - **市场状态**: 前版本未能成功推向市场,当前正在基于现有代码库进行重构改造 ### 重要提醒 ⚠️ **数据同步服务状态**: - 项目中的多医院数据同步功能(`DataSyncModule`等)已独立为单独服务 - Excel导入客户功能(`ExcelImportModule`)将继续保留并在v1.0中优化 - 当前系统内的多医院数据同步代码属于废弃状态,仅保留作为参考 - 新版本v1.0将移除废弃的数据同步模块,但保留Excel导入功能 ⚠️ **代码状态**: - 部分功能模块可能包含未完成或待重构的代码 - 建议在使用前仔细评估各模块的完成度和稳定性 ### 技术架构 - **后端框架**: NestJS + TypeScript - **数据库**: MySQL 8.0+ (UTF8MB4编码) - **前端视图**: EJS模板引擎 - **API文档**: Swagger/OpenAPI 3.0 - **数据传输**: ExcelJS支持批量数据导入导出 - **AI集成**: OpenAI API集成,支持智能健康建议生成 - **微信集成**: 微信小程序数据解密和运动数据接入 ## 核心功能模块 ### 1. 用户管理与权限控制 #### 功能特性 - **多角色用户系统**: 支持系统管理员、总检医生、健管师、健康管家等多种角色 - **分级权限管理**: 基于职位(Position)的权限控制,不同角色访问不同功能模块 - **医院级别权限隔离**: 支持多医院共用系统,确保数据安全隔离 - **会话管理**: 基于Express Session的用户状态管理 #### 主要模块 - **AuthModule**: 用户认证与登录 - **UserModule**: 用户信息管理 - **PositionModule**: 职位管理 - **GroupsModule**: 医疗集团管理 - **CampusModule**: 院区管理 - **DepartmentModule**: 科室管理 - **HospitalModule**: 医院信息管理 ### 2. 客户健康档案管理 #### 功能特性 - **完整客户档案**: 包括基本信息、联系方式、健康状况等 - **多维度客户分类**: 支持按医院、科室、管理师等维度分类管理 - **客户编辑历史**: 记录所有客户信息修改历史,支持审计追踪 - **客户分配机制**: 支持跨医院的客户分配管理 #### 数据管理 - **Customer**: 客户基本信息 - **Customer_Phone**: 客户联系方式(支持多个电话号码) - **Medical_History**: 既往病史记录 - **Medication**: 用药信息管理 - **Lifestyle**: 生活方式评估 ### 3. 健康建议智能生成系统 #### 功能特性 - **AI智能生成**: 集成OpenAI API,根据客户健康数据自动生成个性化建议 - **模块化建议**: 支持BMI管理、血脂管理、围绝经期管理、卵巢管理等多个专业模块 - **建议分类**: 健康建议、饮食建议、运动建议等多种类型 - **审核工作流**: 支持建议内容的审核流程,确保专业性和准确性 - **编辑历史**: 完整记录建议的编辑历史和版本变更 #### 核心组件 - **AdviceModule**: 建议内容管理 - **AdviceTypeModule**: 建议类型管理 - **AdviceModuleModule**: 建议模块管理 - **AdviceGeneratorModule**: AI建议生成引擎 - **AdviceEditLogModule**: 建议编辑日志 - **PromptModule**: AI提示词管理 ### 4. 订单与体检管理 #### 功能特性 - **订单全生命周期管理**: 从订单创建到完成的全流程管理 - **体检套餐管理**: 支持基础套餐、高级套餐、尊享套餐、定制套餐等 - **体检项目管理**: 血液检查、影像检查、功能检查、专科检查等 - **体检数据管理**: 体检结果录入、查询、统计分析 - **报告管理**: 电子报告生成、审核、分发 #### 相关模块 - **OrderModule**: 订单管理 - **ExamModule**: 体检项目管理 - **PhysicalExamModule**: 体检记录管理 - **ReviewModule**: 报告审核 - **SummaryModule**: 总检小结 - **ReviewSummaryModule**: 报告总结 ### 5. 健康打卡与随访系统 #### 功能特性 - **多类型打卡**: 支持血压、血糖、体重、用药等多种健康指标打卡 - **打卡目标管理**: 个性化打卡目标设置和进度跟踪 - **随访任务管理**: 电话随访、企业微信随访、门诊随访等多种方式 - **随访记录**: 完整的随访过程记录和状态跟踪 - **随访提醒**: 自动化随访提醒和任务分配 #### 技术组件 - **CheckinGoalModule**: 打卡目标管理 - **CheckinRecordModule**: 打卡记录管理 - **CheckinTypeModule**: 打卡类型管理 - **CheckinUnitModule**: 打卡单位管理 - **CheckinIntervalModule**: 打卡间隔管理 - **FollowupModule**: 随访管理 ### 6. 数据导入与同步系统 #### Excel导入功能 (保留) - **批量客户导入**: Excel文件批量导入客户基本信息和体检数据 - **数据格式校验**: 支持导入数据的格式检查和错误提示 - **冲突处理机制**: 自动检测重复数据并提供处理选项 - **导入结果统计**: 详细的导入成功/失败统计报告 #### 数据同步功能 (⚠️ 已废弃) > **重要说明**: 多医院数据同步功能已独立为单独服务,v1.0版本将移除 - ~~**多医院数据同步**: 支持从多个医院系统同步数据~~ (已独立服务) - ~~**增量同步**: 支持增量数据同步,避免重复处理~~ (已独立服务) #### 系统模块 - **ExcelImportModule**: Excel导入服务(V1)✅ 保留 - **ExcelImportV2Module**: Excel导入服务(V2增强版)✅ 保留 - **DataSyncModule**: 多医院数据同步服务 ⚠️ 已废弃 - **DataSourceModule**: 数据源管理 ⚠️ 已废弃 ### 7. 微信小程序集成 #### 功能特性 - **微信登录**: 支持微信小程序一键登录 - **运动数据同步**: 自动获取微信运动数据 - **数据加密解密**: 安全的微信数据加密解密处理 - **会话管理**: 微信小程序会话状态管理 #### 技术实现 - **WechatSessionModule**: 微信会话管理 - **WechatMotionModule**: 微信运动数据 - **WXBizDataCryptModule**: 微信数据加密解密 ### 8. 统计分析与报表 #### 功能特性 - **多维度统计**: 按医院、科室、时间等维度进行数据统计 - **健康指标分析**: 客户健康指标趋势分析 - **打卡数据报表**: 详细的打卡数据统计和图表展示 - **性别分布分析**: 客户性别分布统计 - **活跃度分析**: 用户活跃度和参与度分析 #### 报表类型 - **客户统计报表**: 总参与管理数、活跃用户数等 - **打卡报表**: 日活跃用户、打卡完成率等 - **健康趋势报表**: 各项健康指标的趋势分析 - **医院业绩报表**: 各医院业务数据统计 ### 9. 基础数据管理 #### 功能特性 - **通用字典管理**: 统一的字典数据管理,支持多业务场景 - **身体信息管理**: 标准的身体指标数据管理 - **饮食信息管理**: 饮食类型和营养数据管理 - **健康摘要**: 客户健康状况摘要生成 #### 支撑模块 - **DictionaryModule**: 字典数据管理 - **BodyInfoModule**: 身体信息管理 - **DietModule**: 饮食管理 - **HealthSummaryModule**: 健康摘要 ## 系统特色功能 ### AI智能健康建议 - 集成OpenAI GPT模型,根据客户体检数据和健康状况自动生成个性化健康建议 - 支持自定义提示词模板,适应不同专科的建议生成需求 - 建议内容支持医生审核机制,确保医学专业性 ### 多医院数据隔离 - 实现了完善的多医院权限控制系统 - 确保不同医院的数据完全隔离,保护客户隐私 - 支持跨医院的客户分配和协作管理 ### 微信生态集成 - 无缝对接微信小程序,支持微信登录和数据同步 - 自动获取用户微信运动数据,丰富健康数据来源 - 安全的数据加密传输机制 ### 强大的数据处理能力 - **Excel文件批量导入**: 支持客户信息和体检数据的批量导入 - **智能冲突检测**: 自动检测重复数据并提供解决方案 - ~~多医院数据的实时同步和增量更新~~ (已独立为外部服务) - **数据校验机制**: 完整的数据格式校验和错误提示 ## 数据库设计 ### 核心表结构 - **Customer**: 客户基本信息表 - **Orders**: 订单信息表 - **Advice**: 健康建议表 - **Checkin_Record**: 打卡记录表 - **Followup**: 随访记录表 - **User**: 用户信息表 - **Hospital**: 医院信息表 ### 设计特点 - 采用统一的通用字典表设计模式 - 通过category字段区分不同业务类型的字典数据 - 确保数据结构的一致性和可扩展性 - 支持多对多关系的灵活配置 ## 环境配置 ### 系统要求 - Node.js 18.0+ - MySQL 8.0+ - pnpm 或 npm ### 环境变量配置 ```bash # 数据库配置 DB_HOST=localhost DB_PORT=3306 DB_USERNAME=root DB_PASSWORD=your_password DB_DATABASE=check_in_app # 应用配置 NODE_ENV=development PORT=3000 # OpenAI配置(可选) OPENAI_API_KEY=your_openai_api_key # 微信小程序配置 WECHAT_APP_ID=your_wechat_app_id WECHAT_APP_SECRET=your_wechat_app_secret ``` ## 安装与运行 ### 安装依赖 ```bash npm install # 或使用 pnpm pnpm install ``` ### 数据库初始化 ```bash # 运行数据库迁移脚本 mysql -u root -p check_in_app < migrations/init_database.sql ``` ### 启动应用 ```bash # 开发环境 npm run start:dev # 生产环境 npm run build npm run start:prod ``` ## API文档 ### Swagger文档访问 系统已集成Swagger自动生成API文档,启动服务后可通过以下地址访问: ``` http://localhost:3000/swagger ``` ### API文档特性 - **完整的API接口文档**: 所有API接口的详细说明和参数 - **在线测试功能**: 直接在文档页面测试API调用 - **多种认证方式**: 支持Bearer Token、Basic Auth、Cookie认证 - **接口分组**: 按功能模块分组,便于查找和使用 - **实时更新**: 代码更新后文档自动同步 ### 主要API分组 - **auth**: 用户认证相关接口 - **customer**: 客户管理接口 - **order**: 订单管理接口 - **advice**: 健康建议接口 - **checkin**: 打卡管理接口 - **statistics**: 统计分析接口 - **excel-import**: 数据导入接口 - **wechat**: 微信小程序接口 ## 测试 ### 运行测试 ```bash # 单元测试 npm run test # e2e测试 npm run test:e2e # 测试覆盖率 npm run test:cov ``` ## 部署说明 ### 生产环境部署 1. 构建应用 ```bash npm run build ``` 2. 配置生产环境变量 3. 启动应用 ```bash npm run start:prod ``` ### 注意事项 - 确保数据库连接配置正确 - 生产环境建议使用PM2进行进程管理 - 配置适当的反向代理服务器(如Nginx) - 定期备份数据库数据 ## 维护与支持 ### 日志管理 - 应用日志记录在控制台和日志文件中 - 支持不同级别的日志输出(error, warn, log, debug, verbose) - 生产环境建议配置日志轮转 ### 监控与性能 - 内置数据库连接池管理 - 支持查询性能监控 - 提供健康检查接口 ### 技术支持 如有问题,请联系技术支持团队或查看项目文档。 --- ## 项目结构 ``` src/ ├── advice/ # 健康建议管理 ├── auth/ # 用户认证 ├── customer/ # 客户管理 ├── order/ # 订单管理 ├── checkin-goal/ # 打卡目标 ├── checkin-record/ # 打卡记录 ├── data-sync/ # 多医院数据同步 (⚠️ 已废弃) ├── excel-import/ # Excel导入客户功能 ├── statistics/ # 统计分析 ├── wechat-session/ # 微信会话 ├── config/ # 配置文件 └── migrations/ # 数据库迁移 ``` ## v1.0 重构计划 ### 重构目标 - 移除废弃的多医院数据同步模块 - 优化并保留Excel导入客户功能 - 提升系统架构性能和稳定性 - 完善核心业务功能,确保产品市场竞争力 - 建立更清晰的模块边界和依赖关系 ### 主要改进方向 1. **架构优化**: 简化系统架构,移除冗余的同步模块 2. **功能聚焦**: 专注核心健康管理功能 3. **Excel导入优化**: 改进导入性能和用户体验 4. **性能提升**: 优化数据库查询和业务逻辑 5. **用户体验**: 改进前端界面和交互流程 6. **稳定性增强**: 完善错误处理和异常监控 ### 开发注意事项 - 避免依赖已废弃的多医院数据同步模块 - Excel导入功能继续维护和优化 - 重构时保持向后兼容性,确保现有数据不丢失 - 新功能开发应遵循v1.0的架构设计原则 该系统v1.0版本将为多医院健康管理业务提供更加稳定和高效的技术解决方案。