技术博客
常见疾病查询:医院科室分类全量清单(含 typeId / subId 映射)

常见疾病查询:医院科室分类全量清单(含 typeId / subId 映射)

作者: 万维易源
2026-09-03
常见疾病查询API指南免费接口
# 常见疾病查询:医院科室分类全量清单(含 typeId / subId 映射) > 接口:常见疾病查询(apiCode=546)· 免费 · 接入点 546-1 · 返回格式 JSON · 适用人群:开发者、医疗产品 · 阅读时间:约 5 分钟 ## 核心要点 - 546-1「查询疾病科目」**无业务参数**,一次返回完整医院科室分类树:一级 20 类 + 二级子科目。 - 返回结构是 `list[]`:`{ typeName, typeId, subList[{ subName, subId }] }`,父子关系清晰。 - 这份清单是导诊/挂号系统的「科室字典」,建议落库或缓存后复用(见[缓存策略](https://www.showapi.com/guides/disease-query-cache-546))。 ## Why:为什么需要一份科室字典 无论你做导诊推荐、挂号科室选择,还是按科室浏览疾病,第一步都需要"医院到底有哪些科"。546-1 一次性给出标准科室分类,省去你手维护一张科室表。把它沉淀成可搜索的字典,后续 546-2 的 `typeId`/`subTypeId` 才能对得上来。 ## What:接口速览 | 项 | 说明 | |----|------| | 接入点 | 546-1 查询疾病科目 | | 必填参数 | 无(仅 appKey 鉴权) | | 返回 | `showapi_res_body.list[]`:{typeName, typeId, subList[{subName, subId}]} | | 计费 | 免费 | ## How:拉取并落库 ### Python ```python def get_department_tree(): body = call("546-1") tree = [] for t in body.get("list", []): tree.append({ "type_id": t["typeId"], "type_name": t["typeName"], "subs": [{"sub_id": s["subId"], "sub_name": s["subName"]} for s in t.get("subList", [])], }) return tree tree = get_department_tree() print("一级科目:", len(tree)) for t in tree[:3]: print(t["type_id"], t["type_name"], "→", [s["sub_name"] for s in t["subs"]]) ``` ### cURL ```bash curl -X POST "https://route.showapi.com/546-1?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" ``` ### Node.js(fetch) ```javascript const body = await call("546-1"); const tree = (body.list || []).map(t => ({ typeId: t.typeId, typeName: t.typeName, subs: (t.subList || []).map(s => ({ subId: s.subId, subName: s.subName })), })); console.log("一级科目:", tree.length); ``` ## 返回示例与解析(一级科目速览) 以下为文档返回的一级科目(`typeId` → `typeName`),每个下挂若干二级子科目(`subId`): | typeId | typeName | 部分二级子科目(subId) | |--------|----------|------------------------| | 78 | 其他 | 预防保健科(0101)、全科医疗科(0201)、急诊科(2001)、麻醉科(2601)、病理科(3101)、重症医学科(4000) | | 81 | 医学影像科 | 医学影像科综合(7201)、核医学科(7202)、CT诊断科(7205)、核磁共振成像诊断科(7206) | | 15 | 精神科 | 精神科综合(1500) | | 52 | 中西医结合 | 中西医结合(5201) | | 21 | 康复科 | 康复科(2101) | | 14 | 医学美容科 | 医学美容科(1401) | | 27 | 男性科 | 男性科(2701) | | 54 | 心理健康科 | 心理健康科(5401) | | 16 | 感染病科 | 传染病科综合(1600)、肝病专科(1603) | | 50 | 中医科 | 中医内科(5001)、中医外科(5002)、针灸科(5013)、推拿科(5014)、治未病中心(5020) | | 13 | 皮肤性病科 | 皮肤科(1301)、性病科(1302) | | 19 | 肿瘤科 | 肿瘤内科(1902)、肿瘤外科(1903)、放疗科(1904)、化疗科(1905) | | 79 | 五官科 | 眼科(7001)、耳鼻喉科(7002)、口腔科(7003) | | 80 | 儿科 | 儿童保健科(7101)、小儿内科(7102)、小儿外科(7103)、新生儿专科(7104) | | 5 | 妇产科 | 妇科(0501)、产科(0502)、生殖中心(0505) | | 4 | 外科 | 普通外科(0401)、神经外科(0402)、骨科(0403)、泌尿外科(0404)、心血管外科(0406) | | 3 | 内科 | 呼吸内科(0301)、消化内科(0302)、心血管内科(0304)、内分泌科(0307) | > 完整二级子科目以接口实时返回为准(上表为文档示例节选,用于说明映射结构)。 ## 进阶 / 边界 - **科目树几乎静态**:科室分类变更频率低,落库一次 + 周期刷新即可,不要每次实时调 546-1。 - **`subId` 高位含义**:如 `0301` 中 `03` 对应一级内科、`01` 为序号,仅作结构说明,具体映射以返回为准。 - **无坐标/地址字段**:本接口只给科室分类,不含医院地址、排队人数等,需自行关联院内系统。 ## FAQ **Q1:546-1 要传参数吗?** A:不用。直接带 appKey 调用即可,返回全量科室树。 **Q2:为什么我只看到部分二级科目?** A:每个一级科目下的 `subList` 数量不同,取 `list[].subList` 全量即可,上表仅为节选。 **Q3:能按科室找疾病吗?** A:能。用 `typeId`/`subTypeId` 调 546-2 关键字查询即可限定科室范围(见[关键字检索](https://www.showapi.com/guides/disease-query-keyword-search-546))。 **Q4:这份清单需要缓存吗?** A:建议缓存/落库。详见[缓存策略](https://www.showapi.com/guides/disease-query-cache-546)。 ## 相关能力 / 下一步阅读 - [常见疾病查询:关键字检索疾病(546-2 的 typeId/subTypeId/key/page 用法)](https://www.showapi.com/guides/disease-query-keyword-search-546) - [常见疾病查询:科目树 → 关键字 → 明细 三步入诊全链路设计](https://www.showapi.com/guides/disease-query-pipeline-546) - [免费接口也要缓存:常见疾病查询的静态科室树与明细缓存策略](https://www.showapi.com/guides/disease-query-cache-546) - **本系列共 12 篇**:查看[常见疾病查询指南总目录](https://www.showapi.com/guides/disease-query-guides-546)