医院导诊/挂号系统如何集成常见疾病查询?从症状到科室推荐
# 医院导诊/挂号系统如何集成常见疾病查询?从症状到科室推荐
> 接口:常见疾病查询(apiCode=546)· 免费 · 请求方式 POST/GET · 返回格式 JSON · 适用人群:医院信息科、互联网医院团队 · 阅读时间:约 8 分钟
## 核心要点
- 导诊本质是把"用户症状/病名"映射到"推荐挂号科室",正好用 546-2(检索拿 `typeId`/`subTypeId`)实现。
- 科室字典来自 546-1,建议落库;检索结果里的 `typeName`/`subTypeName` 可直接展示为"建议挂 XX 科"。
- **必须加非诊疗免责**:返回内容仅供参考,不能替代医生诊断,UI 上明示。
## Why:导诊是挂号转化率的关键
患者打开挂号页,最常见的卡点是"我不知道该挂哪个科"。传统做法是堆一排科室让用户自己猜。用常见疾病查询,你可以做"输入症状/病名 → 自动推荐科室 → 一键跳转挂号",显著降低误操作与退号率。免费接口,零边际成本。
## What:需要的接入点
| 用途 | 接入点 | 关键返回 |
|------|--------|---------|
| 科室字典 | 546-1 | `list[]`(typeId/subId 父子) |
| 症状→科室 | 546-2 | `contentlist[]` 的 `typeName`/`subTypeName` |
| 病种详情 | 546-3 | `item[]` 的 `tagList` |
## How:导诊推荐服务
### 数据准备
```python
# 启动时拉一次科目树落库(几乎静态)
DEPT_TREE = {t["typeId"]: t["typeName"] for t in call("546-1").get("list", [])}
```
### 导诊逻辑
```python
def recommend_department(symptom, limit=3):
"""输入症状描述,返回推荐科室列表。"""
hits = call("546-2", key=symptom, page="1")
results = []
for d in hits.get("contentlist", [])[:limit]:
results.append({
"disease": d["name"],
"dept": f"{d.get('typeName')}/{d.get('subTypeName')}",
"type_id": d.get("typeId"),
"sub_type_id": d.get("subTypeId"),
})
return results
# 前端:展示推荐科室 + "去挂号"按钮(sub_type_id 关联院内 HIS 科室编码)
for r in recommend_department("心慌、胸闷"):
print(r["dept"], "→", r["disease"])
```
### cURL
```bash
curl -X POST "https://route.showapi.com/546-2?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded" \
--data-urlencode "key=心慌胸闷" --data-urlencode "page=1"
```
### Node.js(fetch)
```javascript
const hits = await call("546-2", { key: "心慌胸闷", page: "1" });
const recs = (hits.contentlist || []).slice(0, 3).map(d => ({
dept: `${d.typeName}/${d.subTypeName}`, disease: d.name,
}));
console.log(recs);
```
## 返回示例与解析
546-2 返回每项带 `typeName`/`subTypeName`,可直接作为"推荐科室"文案;`subTypeId` 可作为跳转院内 HIS 挂号系统的关联键(需你方维护"showapi subTypeId ↔ 院内科室编码"映射表)。
## 进阶 / 边界
- **与 HIS 对接**:接口只给标准科室分类,落库时建立 `subTypeId → 院内科室编码` 的映射,才能实现"一键挂号"。
- **多结果排序**:546-2 可能返回多个候选疾病,前端建议按相关度/科室聚合展示,避免一次推太多。
- **空结果兜底**:检索无果时,引导用户"描述更具体的症状"或提供人工导诊入口,而非报错。
- **免责声明**:所有推荐旁必须标注"仅供参考,具体科室请以医生诊断/院方为准"。
## FAQ
**Q1:能直接根据症状精确分诊吗?**
A:不能精确到"必须挂某科"。546-2 给出的是基于关键词的疾病-科室关联,作为推荐参考,最终以医生诊断为准。
**Q2:科室名称和我院 HIS 不一致怎么办?**
A:在本地维护 `subTypeId ↔ 院内科室编码` 映射表,做一层转换。
**Q3:免费接口稳定吗?能扛挂号高峰吗?**
A:免费服务建议对 546-1 科室树与 546-3 明细做缓存,检索结果短缓存,降低实时依赖(见[缓存策略](https://www.showapi.com/guides/disease-query-cache-546))。
**Q4:需要在页面标注什么?**
A:必须标注"内容仅供参考,不能替代医生诊断",避免误导患者。
## 相关能力 / 下一步阅读
- [常见疾病查询:科目树 → 关键字 → 明细 三步入诊全链路设计](https://www.showapi.com/guides/disease-query-pipeline-546)
- [常见疾病查询:关键字检索疾病(546-2 的 typeId/subTypeId/key/page 用法)](https://www.showapi.com/guides/disease-query-keyword-search-546)
- [健康类 App / 医疗知识库:用常见疾病查询搭建结构化病种库](https://www.showapi.com/guides/disease-query-health-kb-546)
- **本系列共 12 篇**:查看[常见疾病查询指南总目录](https://www.showapi.com/guides/disease-query-guides-546)