【社会服务/社会公益】DHISense — 嵌入全球最大卫生系统的 AI 行动引擎

0. 先和大家打个招呼吧 :waving_hand:

你是谁:

我是一名关注全球健康公平的 AI 开发者,平时关注发展中国家公共卫生基础设施和 AI 技术的交叉领域。

你是怎么用 TRAE 把 Demo 做出来的:

说实话,一开始我并没有明确的目标,只有一个模糊的想法:想做公益相关的东西,但完全没锁定具体场景。是和 TRAE Work 一轮轮聊下来,方向才慢慢变清晰的。

我没有急着拍脑袋选一个领域,而是先让 TRAE 帮我做了一次生态调研:公益组织、落后地区基层政府目前都在用哪些系统平台?各自有什么能力?AI 的渗透率如何? 我想先看清这个领域已经建成了什么样的"基础设施",再决定从哪切入。正是在这次调研里,DHIS2 被筛了出来——WHO 认定的全球公共产品,80个国家、32亿人口的卫生数据都在上面跑,覆盖面断层式领先,但 AI 还几乎没有真正渗进来。

但发现平台只是起点。我接着让 TRAE 帮我调研:真实的县级卫生官员现在到底是怎么用 DHIS2 的?他们的痛点在哪?翻完一圈我才看清那个断裂——数据采集的系统已经建好了,但从数据到行动之间却没有桥梁。那一刻我觉得,就是它了。

确定方向后,才是真正一步步把 Demo "聊"出来的过程。我先和 TRAE 把逻辑理清楚:县级卫生官员每天面对的数据长什么样?他们需要什么样的决策辅助?这才有了"异常检测 → 风险归因 → 趋势预测 → 行动生成"这条四步管线。

逻辑跑通后,我描述了想要的"深空巡天 HUD 风格",TRAE 很快给出了第一版界面——CSS 变量体系 + Orbitron 字体 + 扫描线效果,雏形一下就出来了。但初稿只是起点。之后我几乎全程站在使用者的视角反复打磨:作为一个每天要盯几十条数据流的卫生官员,他第一眼最该看到什么?点哪里最顺手?预警报告怎么排版他才愿意真的转发给上级?每一处交互的调整,都是我先把自己想象成那个基层官员,再和 TRAE 一轮轮改出来的。后来我又觉得以地图作为页面最核心的元素对于用户来说是最直观的,这也是最终呈现的方案。

最让我觉得「原来这么简单」的时刻有两个:一是从"想做公益"这个模糊念头,到锁定 DHIS2 这个具体入口——我没有自己花几天去扒资料,而是把"公益组织、落后地区基层政府在用什么平台、AI 渗透率如何"这个问题丢给 TRAE,一次调研就把 DHIS2 从一堆系统里筛了出来,还顺手理清了用户的真实使用痛点。二是加明暗主题切换,本以为要重写大量样式,TRAE 用 CSS 变量体系一次性解决了——改 data-theme 属性就能全站换色,包括动态渲染的图表和 Canvas。


1. Demo 简介

是什么: 一个交互式 Web Demo,模拟 DHISense —— 嵌入全球最大卫生信息平台 DHIS2 的 AI 行动引擎,展示从数据异常检测到防控行动生成的完整闭环。

面向谁: 发展中国家县级卫生官员、地区卫生管理团队(DHMT)、NGO 卫生项目管理者——管辖几十万人口、只有 2-3 名数据分析员、却要同时监控数十种疾病数据流的人。

核心功能:

Demo 以肯尼亚基利菲县疟疾高发季为演示场景,完整展示从异常发现到行动落地的四步闭环。每个功能背后都对应基层卫生官员的一个真实痛点:

① 异常态势地图 — “我该看哪里?”

痛点:47个卫生站每天上报数据,官员靠人工翻周报发现异常,等看到趋势恶化往往已经晚了一周。

实时标注区域内所有卫生站的异常热度,按严重程度分级。红色 = 已突破阈值,橙色 = 接近阈值,绿色 = 稳定。点击任意站点即展开详情档案,无需翻阅报表。

② 风险归因分析 — “为什么会这样?”

痛点:发现病例增长后,官员需要自己拼凑降雨、蚊帐覆盖、邻区数据来判断原因,全靠经验,缺乏系统分析。

自动拆解异常成因,按贡献度排列风险因素——病例增长率贡献35%、降雨量偏差贡献28%、蚊帐覆盖率偏低贡献22%、邻区传播风险贡献15%。SHAP 式可解释性分析,让官员能向上级解释"为什么需要这笔预算"。

③ 趋势预测 — “接下来会怎样?”

痛点:现有工具只能看到"上周发生了什么",无法回答"下周哪里会出事"。等到病例真正爆发再行动,最佳干预窗口已经错过。

基于历史数据和当前趋势,预测未来4周的病例走向。Demo 中 Malindi 卫生站按当前增速将在4周内突破350例阈值——官员现在就能看到这条预测线,提前部署而不是事后补救。

④ 行动方案生成 — “该做什么?”

痛点:确定要做干预后,行动方案靠手写、物资调配靠打电话,格式不统一、优先级不明确,执行效率低下。

一键生成可执行方案:2000顶蚊帐投放优先区域、12个村庄主动筛查、5000疗程青蒿素药物调拨。每项行动标注优先级、负责人群和执行时限,官员可以直接照着部署。

⑤ 预警报告生成 — “怎么上报?”

痛点:上报是法定程序,不报告 = 失职。但撰写汇报材料耗时数小时,格式不规范、数据引用不准确是常态。不同层级上级需要的报告内容也不同。

自动生成格式规范的预警报告,包含异常摘要、风险归因、行动建议和提交时限——官员可以直接转发给县卫生办公室,从写几个小时变成几分钟。

⑥ 全局时间线 — “整体趋势怎么走?”

痛点:官员需要一个全局视角来判断当前局势是恶化还是缓和,而不是只盯着单个卫生站。但现有工具没有把全县数据按时间轴串起来的可视化。

底部时间线面板展示全县病例数按周变化的完整轨迹——历史观测值与预测值在同一坐标轴上连贯呈现,用播放键可自动回放疫情演变过程,拖拽游标可定位到任意一周查看当时态势。一条线就能回答"现在比上个月严重吗?下周会更严重吗?"

Demo 支持右上角按钮一键切换 中英文 + 明暗主题,方便不同场景演示。


2. Demo 创作思路

灵感来源

我想先看清这个领域已经建成了什么样的"基础设施",于是先让 TRAE 做了一次调研:公益组织、落后地区基层政府都在用哪些系统平台?各自有什么能力?AI 渗透率如何?正是在这次扫描里,DHIS2 脱颖而出 —— WHO 认定的全球公共产品,已在 80个 低中收入国家部署,覆盖约 32亿 人口。疟疾、霍乱、麻疹、结核、HIV、孕产妇健康、儿童免疫……这些疾病和健康指标的数据全部在同一个系统里流转。

这是一个已经建好的全球卫生数据基础设施。但深入研究后发现一个断裂:数据采集的系统有了,数据到行动之间却没有桥梁。

指标 数值 来源
DHIS2 国家级部署 80国 DHIS2 官方
DHIS2 覆盖人口 约32亿 DHIS2 官方
DHIS2 App Hub 应用数 109 个 DHIS2 官方
其中行动闭环类 AI 应用 0 个 DHIS2 官方

一个县级卫生官员管辖50万人口,可能只有 2-3 名数据分析员。他们每天面对数十种疾病数据流,但现有工具只能"查数"和"看图表"——无法回答"哪里要出事、为什么、该怎么做"。这个决策空白,就是 DHISense 的灵感来源。

疟疾只是我们用来演示引擎能力的第一个切片。真正的灵感不是某一种疾病,而是"全球最大卫生系统里,数据到行动的断裂"这个结构性问题。

现有工具缺什么

调研 DHIS2 App Hub 后发现,已有 6 个 AI 相关项目,但全部是单点工具,各自解决查询、预测、录入、数据质量等独立问题:

能力维度 现有 AI 工具 覆盖情况
自然语言查询 AI Insights (IFRC)、Convo (BAO Systems) 有,但不闭环
预测建模 DHIS2 Modeling App / CHAP 实验阶段
数据录入 AI Data Entry (SolidLines) 只管录入端
数据质量 Magic Glasses 2 (US CDC) 只管清洗
审核自动化 Alert Triage (坦桑尼亚) 只管审核
异常发现 → 风险归因 → 行动方案 → 资源分配 → 汇报生成 DHISense 填补

为什么做这个方向

三个判断:

① 通用引擎,不是单病种工具。 DHISense 是一个数据流无关的行动引擎——四步管线(异常检测 → 风险归因 → 趋势预测 → 行动生成)对任意 DHIS2 数据流通用。疟疾只是第一个演示切片:

场景 异常信号 风险归因 行动输出 状态
疟疾爆发 病例3周 +87% 降雨+35% · 蚊帐覆盖率48% · 邻区爆发 蚊帐投放 · 主动筛查 · 药物调拨 已演示
霍乱预警 腹泻病例突增 水质异常 · 洪涝后积水 ORS分发 · 水源消毒 · 隔离区 同一引擎
免疫缺口 接种率骤降 冷链断档 · 库存耗尽 疫苗补种 · 冷链修复 · 入户排查 同一引擎
孕产妇死亡异常 死亡率偏离基线 产检覆盖率 · 转诊延误 产检强化 · 转诊链路优化 同一引擎
营养危机 儿童消瘦率飙升 粮食价格 · 干旱指数 补食干预 · 营养教育 同一引擎

② 接入真实全球基础设施。 DHIS2 标准 Web API = 80国32亿人口的现成渠道。肯尼亚跑通后,坦桑尼亚、尼日利亚、孟加拉的卫生官员都能用。

③ 可解释性是刚需。 县级官员需要拿着分析向上级解释"为什么申请预算"。DHISense 拆解每个因素的贡献度:

风险因素 贡献度 基准对比
病例增长率 +87% 35% 显著高于全县均值 +42%
降雨量偏差 +35% 28% 高于10年历史均值
蚊帐覆盖率 48% 22% 远低于全县均值 65%
邻区传播风险 15% 毗邻 Kwale 县已报告爆发

全球每分钟有一个孩子死于疟疾,而阻止它的数据已经在系统里——只是没有人在对的时间把它变成对的行动。DHISense 就是那个把数据变成行动的引擎。


3. Demo 体验地址

以 HTML 格式文件 Zip 打包上传社区。
DHISense-Demo.html.zip (23.7 KB)

文件: DHISense-Demo.html.zip(内含 DHISense-Demo.html,解压后浏览器直接打开即可)

Demo 特性:

  • 交互式地图 + 卫生站点击展开档案
  • 风险归因分析 + 趋势预测图表
  • 行动方案生成 + 预警报告输出
  • 支持 中英文一键切换 + 明暗主题切换(右上角按钮)

4. TRAE 实践过程

开发流程

全程使用 TRAE Work 创作。整体节奏是:先让 TRAE 出一版能跑的初稿,再全程站在使用者(基层卫生官员)的视角,一轮轮打磨交互和细节。 主要分为以下几个阶段:

阶段一:Demo 界面设计与实现

  • 向 TRAE 描述「深空巡天 HUD 风格」的视觉概念,生成 CSS 变量体系 + Orbitron/JetBrains Mono 字体 + 扫描线效果
  • 交互式 SVG 地图 + 雷达扫描动画 + 卫生站标注
  • 底部档案面板:风险归因分析、Chart.js 趋势图、行动方案列表
  • 拿到初稿后,反复从"官员第一眼该看什么、点哪里最顺手"出发,调整信息层级与交互流

阶段二:中英文国际化

  • 设计 i18n 系统:data-i18n 属性 + t(key) 函数 + applyLang() 全量重渲染
  • 60+ 翻译键值对,覆盖静态文本和动态渲染内容(风险因素名、行动方案、预警报告)

阶段三:明暗主题切换

  • 用 CSS 自定义属性重构所有颜色,[data-theme="light"] 覆盖暗色默认值
  • 动态元素(Chart.js 图表、Canvas 时间线、JS 内联样式)全部改用 cssVar() 读取计算值
  • 解决了 mix-blend-mode: screen 在浅色背景不可见的问题

阶段四:创意提案撰写

  • 与 TRAE 讨论叙事框架,从「疟疾 AI 工具」调整为「通用行动引擎」定位
  • 生成 HTML 版创意提案 + Markdown 版报名帖

开发关键步骤截图

截图 1: 定选题方向

截图 2: demo 页面风格优化

截图 3: 创意提案 HTML 版 — 引擎叙事框架

关键任务对话 Session ID

# 对话内容 Session ID
1 Demo HTML 设计 1294599292462410:a7d237b5c0ffe42645c5ec9cfe65b6ad_6a38d484ee1351e6a387cd96.6a3e777af94c90736f39fcb5.6a3e777af94c90736f39fcb3:TRAE Work CN.0.1.30.no_sid.no_ppe.T(2026/6/26 20:58:34)
2 创意提案重写 — 引擎叙事框架 1294599292462410:e462e0500caafbddb7011a0349dbf6fe_6a38d484ee1351e6a387cd96.6a4f3c2f8f4baf396f931f2d.6a4f3c2f8f4baf396f931f2b:TRAE Work CN.0.1.30.no_sid.no_ppe.T(2026/7/9 14:14:07)
3 选题构思 1294599292462410:0649b16e264c6b6c1b2b41cc8e0dcfb8_6a38d484ee1351e6a387cd96.6a38f8479c864af1e52d5c78.6a38f8479c864af1e52d5c76:TRAE Work CN.0.1.30.no_sid.no_ppe.T(2026/6/22 16:54:31)

5. 对应的报名审核通过的帖子链接


DHIS2 · 80 Countries · 3.2B People · Zero Action-Loop AI Apps