Excel 365 Power Query调用CMS API查询指定NPI数据方案问询
Excel 365 调用CMS NPI数据集API精准查询方案
该API默认单次最多返回1000条记录,无需拉取全量150万条数据,直接通过API自带的过滤参数即可实现指定NPI的精准匹配:
1 单条NPI查询方法
直接在原有API地址后追加过滤参数,指定NPI字段的匹配值即可,示例URL格式如下:
https://data.cms.gov/data-api/v1/dataset/9138d25a-5d85-4a12-b3c9-070e544486db/data?filter[NPI]=你要查询的NPI号码
比如查询NPI为1669578803的记录,直接在Excel「数据>自网站」中输入如下地址即可,返回结果仅包含匹配的单条记录:https://data.cms.gov/data-api/v1/dataset/9138d25a-5d85-4a12-b3c9-070e544486db/data?filter[NPI]=1669578803
2 批量查询Excel内多个NPI的方法
如果需要批量查询表格中存储的多个NPI,使用Power Query动态构造请求即可:
- 先将待查询的NPI值整理到Excel列中,选中该区域点击「数据>自表格/区域」加载到Power Query编辑器
- 在Power Query编辑器中点击「添加列>自定义列」,输入如下公式(将公式中的
[你的NPI列名]替换为实际的NPI列标题):= Web.Contents("https://data.cms.gov/data-api/v1/dataset/9138d25a-5d85-4a12-b3c9-070e544486db/data?filter[NPI]=" & Text.From([你的NPI列名])) - 右键点击新增的自定义列,选择「解析>JSON」,展开返回的JSON结构即可提取需要的关联字段
- 所有字段配置完成后点击「关闭并上载」,即可把查询结果批量导回Excel表格
3 注意事项
- 该API为公开接口,Power Query提示设置凭据时选择「匿名」访问即可
- 批量查询时建议控制请求频率,避免触发API限流规则
- 若单个NPI可能对应多条记录,可在URL末尾追加
&limit=最大返回条数调整返回上限,比如&limit=20即可最多返回20条匹配结果
内容的提问来源于stack exchange,提问作者Rob
相关产品推荐
相关产品推荐

