okech-michael/Afyalink-Smart-Health-infromation

GitHub: okech-michael/Afyalink-Smart-Health-infromation

AfyaLink 是一个基于 Django 的医疗运营与物流平台,整合临床工作流、药品库存管理和无人机配送,为医疗机构网络提供一站式管理。

Stars: 0 | Forks: 0

# AfyaLink — 临床与物流平台 AfyaLink 是一个基于 Django 的医疗机构运营与物流平台。它提供基于角色的 dashboard、面向患者的流程、临床工作流、库存与供应管理,以及物流功能(包括基于无人机的配送跟踪)。该项目旨在为医疗机构网络、供应商和血库提供支持。 核心功能 - 基于角色的 dashboard:患者、接待、护士、医生、实验室、药房、账单、主管、供应商、血库和管理员。 - 临床工作流:就诊登记、分诊、问诊、处方、化验结果和账单。 - 库存管理:药品库存跟踪、交付、配药记录和短缺预警。 - 物流:无人机编队和无人机配送请求(药品/血液/物资),支持跟踪和分配。 - 通知:应用内消息以及 SMS/推送 Hook(可配置的集成)。 - 管理:为所有 model 提供 Django 管理端集成。 近期新增内容 - 无人机配送功能:`Drone` 和 `DroneDelivery` model,供应商/血库 dashboard,配送请求和跟踪视图、表单和模板,以及管理端注册。 - 注册更新:注册和重定向中已包含 `supplier` 和 `blood_bank` 员工角色。 代码结构(重要文件) - `config/` — Django 项目设置和 WSGI/ASGI 入口。 - `core/` — 包含 model、form、view、url、admin 和 migration 的主应用。 - `core/models.py` — 领域 model(Facility、Profile、Visit、DrugStock、Drone、DroneDelivery 等)。 - `core/forms.py` — 包含 `DroneDeliveryForm` 在内的表单。 - `core/views.py` — 角色 dashboard 和无人机配送视图。 - `core/urls.py` — dashboard 和 API 的路由。 - `core/admin.py` — Drone 和 DroneDelivery 的管理端注册。 - `templates/` — 用于各个角色和无人机页面的 Jinja 风格 Django 模板(`templates/drone/`、`templates/supplier/`、`templates/blood_bank/`)。 数据库与 migration - 该应用使用 Django ORM(为 Python 3.11、Django 5.x 设计)。在更改 model 后运行: ``` python -m venv .venv source .venv/Scripts/activate # Windows: .venv\\Scripts\\activate pip install -r requirements.txt python manage.py migrate ``` - 已为无人机配送 model 创建了一个 migration:`core/migrations/0003_drone_alter_profile_role_dronedelivery_and_more.py`。 环境与配置 - 使用环境变量来管理密钥和生产环境设置。将 `.env.example` 复制到 `.env` 进行本地开发并设置相应值。 - 重要的环境变量: - `DJANGO_SECRET_KEY` - `DJANGO_DEBUG`(在生产环境中设置为 `False`) - `DATABASE_URL`(生产环境推荐使用 Postgres) - `ALLOWED_HOSTS` / `DJANGO_ALLOWED_HOSTS` - 根据集成需要使用的第三方密钥(AfricasTalking、Firebase 等) 本地运行 ``` python manage.py runserver # 创建 superuser 以访问 admin: python manage.py createsuperuser ``` 部署(Railway) - 该仓库已准备好在 Railway 上部署:包含 `Procfile`、`requirements.txt` 和 `runtime.txt`。设置会读取环境变量并支持 `DATABASE_URL`。 - 典型的 Railway 步骤: 1. 在 Railway 中连接该仓库并设置环境变量。 2. 确保 `DATABASE_URL` 指向受管的 Postgres 数据库。 3. 在首次部署时运行 `python manage.py migrate` 和 `python manage.py collectstatic --noinput`(Railway 会运行发布命令,或者你可以通过控制台运行它们)。 测试与检查 - 运行 Django 检查: ``` python manage.py check ``` - 使用自动化测试(如果已添加): ``` python manage.py test ``` 演示的注意事项与后续步骤 - 无人机配送功能包含 model、form、view 和模板,但可能需要连接到实时的遥测数据源(无人机 GPS 反馈)以实现实时跟踪。对于演示,你可以通过配送详情 UI 手动更新配送坐标。 - 如果你需要实时地图,请添加一个轻量级的 JS 地图(Leaflet/Mapbox),并在 API endpoint 中暴露 `DroneDelivery.tracking_coordinates`。 - 为了在演示中展示完整的端到端流程,请为供应商、血库、医疗机构以及一个无人机配送请求创建种子数据。 如果你愿意,我可以: - 添加一个简单的管理命令来生成演示种子数据, - 添加一个返回 JSON 配送坐标的 API endpoint, - 将一个小型 Leaflet 地图集成到 `templates/drone/delivery_detail.html` 中进行现场演示。 更新于 2026-06-05。
标签:Django, 供应链管理, 医疗信息化, 医疗物联网, 后端开发, 测试用例, 物流管理, 疾病监测, 逆向工具