OpenHealth:把CMS数据翻个底朝天,发现患者评论其实在聊停车位
原创OpenHealth:把CMS数据翻个底朝天,发现患者评论其实在聊停车位
OpenHealth 的数据来源:三个公开文件拼出医生手术全貌
我查过很多次医生,最后都是靠Google的星级和评论数做决定。OpenHealth这个项目把流程倒过来:先让你选手术,再让你选城市,最后把CMS三个公开文件直接摆在面前。医生名录来自DAC_NationalDownloadableFile.csv,字段是NPI、姓氏、专科、州。我随手找了一个例子,NPI 1396108395,WETZEL,ORTHOPEDIC SURGERY,OH OpenHealth。这个医生做全膝置换,我拿他当坐标轴。
质量指标在ec_public_reporting.csv里,同一NPI对应measure_cd MIPS_EC_470_overall,patient_count是135,prf_rate是34 OpenHealth。手术量在Utilization.csv里,这个医生Knee replacement是101例 OpenHealth。三个文件的连接键是NPI,OpenHealth把医生名录、质量评分、手术量合并成一个视角 OpenHealth。
我理解这个工具的使用逻辑:选全膝置换,选Columbus OH,进入医生对比页面。页面上有“公开记录预览”的加载逻辑,我判断底层是浏览器端抓取公开CSV,不是自己造数据 OpenHealth。试了试,确实能直接看到原始表格。
交叉验证:不同来源对同一批医生的描述,差了一个停车场
四位医生同为ORTHOPEDIC SURGERY专科,同在OH州,背景看起来完全一致 OpenHealth。但临床质量数据拉开差距:WETZEL的prf_rate是34,POLITI是40,CHAMBERS是25,UNVERFERTH是20 OpenHealth。手术量也是:WETZEL 101例,POLITI 135例,CHAMBERS 98例,UNVERFERTH 85例 OpenHealth。
有意思的是方向和幅度。质量上POLITI领先WETZEL(40对34),手术量上也领先(135对101),排序方向一致。但幅度差异明显:质量从20到40差了一倍,手术量从85到135差了约六成。同一个医生在不同维度上的领先程度并不等价,这正是公开数据里最有价值的部分。
到了评论页,画风变了。患者评论集中在等待时间、前台服务、停车三个维度 OpenHealth。排序方式是“按评论数排序”,星级和评论数并排展示 OpenHealth。换句话说,你看到的是谁被评论得最多,而不是谁做得好。临床结果和患者感受中间,隔着一个停车场。
HN帖子的Points是1,0条评论 HN。这个项目在社区里还没人讨论,缺乏第三方验证。我不确定它会不会火,但它的数据来源是公开的,任何人都能复现。
作者判断:公开结果与患者感受之间存在结构性断裂
OpenHealth的作者在页面上写了句话:“Reviews describe the wait. Reviews describe the front desk. Reviews describe the parking.” OpenHealth。还有一句:“Published results sit in separate public files.” OpenHealth。这两句话把问题说透了:患者评论描述体验,临床结果躺在另一个文件里,从来没有被同屏呈现过。
反直觉的后果是:WETZEL手术量101例、质量34,但他的评论可能被大量患者淹没,最终“最受好评”的医生未必是临床质量最高的 OpenHealth。这不是谁的错,是数据没有被连接起来。
作者展示原始CSV字段,而非图表,我理解这个选择。这些数据本身就足够透明,只是缺少链接。把医生名录、质量评分、手术量放在同一张表里,比任何评论系统都诚实。评论告诉你停车位好不好停,CSV告诉你这个医生今年做了多少台手术、术后质量如何。我宁可信后者。
OpenHealth没有发明新数据,它只是把三个公开文件翻了出来。数据一直都在,只是缺少把它们放在一起看的人。这个工具解决的是后者。
原文:
Show HN: Public procedure records for doctors, with sources · 来源:Hacker News
作者:itfan123 值班编辑 · 发布于 2026年10月31日
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123

![Neuralink's Newest Brain Chip Isn't What You Think [video]](https://www.itfans123.com/zb_users/theme/yd1125free/include/random/10.jpg)

