Skip to content

stopbye/Medical_ai_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Medical Assistant

一个面向 GitHub 展示的智能医疗导诊全栈项目。项目提供症状初筛、科室推荐、医院匹配、导诊报告、AI 健康问答、健康档案、历史记录和数据统计能力。它的目标是展示完整的前后端工程闭环,而不是替代医生诊断或作为生产级医疗系统上线。

项目核心记忆点:用户完成症状分析后,可以生成一份可复制、可打印、可追溯的“智能导诊报告”。

功能特性

  • 症状分析:基于本地规则引擎识别常见症状,输出风险等级、可能方向、推荐科室和建议。
  • 医院推荐:根据用户位置、推荐科室、医院等级、距离和评分生成推荐列表。
  • 推荐理由:医院卡片展示“匹配科室、医院等级、距离、评分”等说明。
  • 导诊报告:自动汇总症状、风险等级、推荐科室、医院推荐、注意事项和免责声明。
  • AI 医生:可选接入通义千问;未配置 API Key 时给出友好提示,不阻断主流程。
  • 健康档案:保存昵称、年龄、性别、过敏史、慢性病、常用药、紧急联系人。
  • 历史记录:症状分析成功后自动保存,可查看历史详情。
  • 健康统计:展示症状频率、风险等级分布、推荐科室占比。
  • 地图降级:未配置高德地图 Key 时,地图区域显示提示,核心流程仍可使用。

技术栈

模块 技术
前端 React, Vite, React Router, Tailwind CSS, Radix UI, lucide-react
后端 Flask, Flask-CORS, Flask-SQLAlchemy
数据库 SQLite
AI 服务 DashScope / 通义千问,可选配置
地图服务 高德地图 JS API,可选配置

项目截图

截图文件位于 screenshots/。如果你刚克隆项目,可以先本地运行后重新截图。

首页 医院推荐 导诊报告
首页 医院推荐 导诊报告
健康档案 历史记录 健康统计
健康档案 历史记录 健康统计

系统架构

flowchart LR
  User["用户"] --> Frontend["React 前端"]
  Frontend --> Symptoms["症状分析 API"]
  Frontend --> Hospitals["医院推荐 API"]
  Frontend --> Profile["健康档案/历史/统计 API"]
  Frontend --> AI["AI 问答 API"]
  Frontend --> Map["高德地图 JS API"]
  Symptoms --> SQLite["SQLite"]
  Hospitals --> SQLite
  Profile --> SQLite
  AI --> DashScope["DashScope 可选"]
Loading

本地运行

1. 后端

cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python src\main.py

后端默认运行在 http://127.0.0.1:5000

2. 前端

cd frontend
npm install
npm run dev -- --host 127.0.0.1

前端默认运行在 http://127.0.0.1:5173

环境变量

项目可以无 Key 运行,未配置时会自动降级。

后端 backend/.env.example

DASHSCOPE_API_KEY=
WEATHER_API=
FLASK_ENV=development
PORT=5000

前端 frontend/.env.example

VITE_AMAP_JS_API_KEY=

API 摘要

详细接口见 docs/API.md

  • GET /api/config/status
  • POST /api/symptoms/analyze
  • POST /api/hospitals/recommend
  • GET /api/profile
  • POST /api/profile
  • GET /api/analysis/history
  • POST /api/analysis/history
  • GET /api/analysis/stats
  • POST /api/ai/chat
  • 前端路由:/report/:id

项目亮点

  • 前后端分离,覆盖从输入、分析、推荐、保存到统计的完整链路。
  • 分析完成后生成正式导诊报告,可复制、可打印,适合作品集展示。
  • AI 和地图都是可选增强能力,缺少 Key 时不影响核心演示。
  • 使用 SQLite 保存健康档案和历史分析记录,刷新页面后仍可查看。
  • 后端接口统一返回 success/data/messagesuccess/error
  • 医疗类项目保留安全边界:只做辅助建议,不提供确诊和处方。

开发与测试

运行前端构建:

cd frontend
npm run build

运行后端接口烟测:

cd backend
python ..\scripts\smoke_api.py

后续计划

docs/ROADMAP.md

医疗免责声明

本项目仅用于学习、演示和 GitHub 项目展示。页面中所有分析、建议、AI 回复和医院推荐均不能替代专业医生诊断。若出现胸痛、呼吸困难、意识模糊、大量出血、高热不退等紧急情况,请立即拨打 120 或前往急诊。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors