【智慧医疗】用 SOLO 打造基于腾讯地图 GIS 的社区医院重点人员管理平台
① 摘要
面向社区医院的全科医生和公卫护士,在日常上门随访、重点人群健康管理和签约服务场景下,提供基于腾讯地图 GIS 的重点人员可视化管理和路径规划能力,目前通过完整系统原型(含 6 类重点人员管理、6 种地图可视化图层、驾车/步行路线规划)验证有效。
② 真实场景与需求
目标人群:社区医院的全科医生、公共卫生护士、社区网格员等基层医务人员。
痛点描述:以长沙市岳麓区望月湖社区卫生服务中心为例——
- 重点人员(重病患、签约居民、新生儿、孕产妇、老年人、慢病患者)信息分散在纸质档案和多个系统中,无法直观了解他们在社区内的地理分布
- 家庭医生上门随访时,无法提前规划最优路线,经常走冤枉路,一天最多只能完成 5-6 户随访
- 随访超期、健康指标异常、签约到期等情况缺乏有效预警机制,全靠人工记忆和 Excel 表格跟踪
- 向卫健委汇报时,缺乏直观的数据可视化,统计报表制作耗时耗力
现有做法:目前主要依赖 Excel 表格管理重点人员名单 + 电话/微信群沟通 + 手工绘制社区网格图,存在信息滞后、缺乏空间感知、难以持续跟踪等问题。
③ 作品介绍
本作品是一个基于腾讯地图 JavaScript API GL 的社区医院医疗平台,以 GIS 地图为核心交互界面,实现重点人员的综合展示和日常业务管理。
核心功能:
| 模块 | 功能点 |
|---|---|
| 重点人员管理 | 重病患、签约家庭医生、新生儿、孕产妇、老年人、慢病患者 6 类人员的登记、查询、分类筛选 |
| GIS 地图展示 | 人员标注(6 类 SVG 图标)、点聚合、热力图、蜂窝热力图、社区网格区域图、散点分布图,6 种图层可独立开关 |
| 路径规划 | 驾车路线规划(最短时间策略)和步行路线规划,支持起终点标注、路线绘制、导航步骤展示 |
| 随访管理 | 随访计划制定、逾期/今日/近期随访分类展示、随访记录时间线 |
| 签约管理 | 签约统计、到期预警、续签提醒 |
| 数据统计 | 人员类型分布饼图、网格柱状图、随访完成率、签约履约率 |
| 预警中心 | 随访超期、健康指标异常、签约到期、疫苗接种逾期等多级预警 |
技术栈:腾讯地图 JSAPI GL(v1.exp)+ 可视化库 + 服务类库 + 纯前端 HTML/CSS/JS
④ 用 SOLO 实现的过程
第一步:需求分析 —— 生成系统需求规格说明书(SRS)
首先让 SOLO 生成了完整的《社区医院医疗平台系统需求规格说明书》(docx),涵盖引言、总体描述、功能需求(4 大模块 20+ 功能点)、非功能需求、GIS 地图专项需求、接口需求、数据需求、系统架构设计、项目实施计划共 9 章 + 附录。
关键 Prompt:“需要开发一个社区医院医疗平台,实现重点人员的管理,比如重病患、签约家庭医生、新生儿等的总和管理。技术架构基于腾讯地图的 GIS 地图能力,对上述人群进行综合展示和日常业务管理。请生成系统需求规格说明书。社区以长沙市岳麓区的某社区为例。”
第二步:查阅 API 文档,确保用法正确
调用 tencentmap-jsapi-gl-skill 技能后,并行查阅了 3 组 API 文档和 Demo 代码:
- JS API 文档:点标记(MultiMarker)、点聚合(MarkerCluster)、信息窗体(InfoWindow)、控件(Control)、地图(Map)
- 可视化 API 文档:热力图(Heat)、蜂窝热力图(Hexagon)、区域图(Area)、散点图(Dot)
- Demo 示例代码:20+ 个 HTML 示例文件,提取了数据格式、配置参数和最佳实践
这一步非常关键——确保所有 API 调用严格使用文档中出现的接口和参数格式,避免自造不存在的属性。
第三步:系统界面开发
基于 SRS 和 API 文档,用单个 HTML 文件实现了完整的系统界面:
任务拆解思路:
- 先搭骨架(布局:顶部导航 + 左侧面板 + 中央地图 + 右侧面板)
- 再填数据(20 条模拟人员数据、8 条随访记录、4 个社区网格)
- 然后接地图(初始化 → 标注 → 聚合 → 热力图 → 区域图 → 散点图)
- 最后做交互(点击联动、筛选联动、信息窗体、面板切换)
用到的 SOLO 能力:
- 技能调用(tencentmap-jsapi-gl-skill)获取 API 文档
- 并行子代理(3 个 Explore 代理同时查阅不同文档)
- 文件读写(生成 HTML 文件)
- 本地服务器启动和浏览器预览
第四步:路径规划功能开发
在已有地图基础上,新增驾车/步行路线规划:
- 查阅
TMap.service.Driving和TMap.service.Walking文档 - 用
TMap.MultiPolyline绘制路线(驾车蓝色实线 + 箭头,步行绿色虚线) - 在右侧面板展示路线详情(距离、时间、导航步骤时间线)
- 支持 4 个入口触发导航(随访卡片、人员详情、信息窗体、人员卡片)
踩过的坑
| 坑 | 原因 | 解决方案 |
|---|---|---|
| 地图白屏不显示 | API Key 有域名白名单限制 | 替换为用户自己的 Key |
TMap.VectorBaseMap is not a constructor |
WebGL 不可用时 API 降级,该类不存在 | 改用字符串配置 baseMap: {type:'vector'} |
| 浏览器不支持 WebGL | 腾讯地图 JSAPI GL 依赖 WebGL | 添加 WebGL 预检测 + 友好错误提示 |
| API 未加载完就初始化 | DOMContentLoaded 时 API 可能还没加载完 | 添加轮询等待机制 + callback 方式加载 |
⑤ 成果展示
系统界面
点击上方链接可直接在浏览器中打开系统界面(需使用 Chrome/Edge,需联网加载腾讯地图 API)。
人员信息定位。
人员位置导航。
界面布局
┌──────────────────────────────────────────────────────┐
│ 🏥 社区医院医疗平台 │ 预警 │ 导出 │ 设置 │ 用户 │
├────────┬──────────────────────────────┬──────────────┤
│ 重点人员│ GIS 地图主区域 │ 数据统计 │
│ 随访管理│ 📍 6类人员SVG图标标注 │ 人员详情 │
│ 签约管理│ 🔴 点聚合(缩小时自动聚合) │ 路线规划 │
│ │ 🌡️ 热力图(人员密度分布) │ │
│ 搜索 │ ⬡ 蜂窝热力图(3D网格统计) │ 📊 类型分布 │
│ 筛选 │ ▢ 社区网格区域图(4个网格) │ 📋 随访统计 │
│ 人员卡片│ ● 散点分布图(辐射动画) │ 🗺️ 导航路线 │
│ │ 🚗 驾车/步行路线规划 │ 🔔 预警信息 │
├────────┴──────────────────────────────┴──────────────┤
交付物
| 交付物 | 说明 |
|---|---|
| 系统需求规格说明书 | 完整 SRS 文档,9 章 + 附录,约 11 页 |
| 系统界面(HTML) | 可直接运行的完整系统原型,约 1800 行 |
关键技术指标
- 地图图层:6 种可视化图层(标注 / 聚合 / 热力图 / 蜂窝 / 区域图 / 散点图),可独立开关
- 人员类型:6 类重点人员,每类独立图标和颜色标识
- 路线规划:驾车 + 步行双模式,含导航步骤展示
- 数据面板:饼图、柱状图、进度条、时间线等多种可视化
- API 调用:全部严格遵循腾讯地图 JSAPI GL 官方文档规范
⑥ 验证方式与下一步
验证方式
- API 规范验证:通过 3 个并行子代理对照官方文档逐项验证了所有 API 调用的正确性(构造参数、方法签名、数据格式、事件绑定),仅发现 1 处低严重度问题(gradientColor 类型),已修复
- 功能完整性检查:SRS 中定义的 20+ 功能点全部在界面中实现,包括 6 种地图图层、6 类人员管理、路径规划、预警中心等
- 浏览器兼容性:代码包含 WebGL 检测、API 加载容错、初始化异常捕获等防护机制
下一步计划
- 接入真实数据:与社区医院 HIS 系统对接,导入真实人员数据
- 后端开发:搭建 Spring Boot 后端,实现数据持久化和 RESTful API
- 移动端适配:优化响应式布局,支持平板和手机端使用
- 实地试用:在望月湖社区卫生服务中心进行实际试用,收集医护人员反馈
- 性能优化:针对 1000+ 人员数据场景进行标注聚合和热力图渲染优化



