For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | dfsnow's commentsregister

Hi, I wrote this article and largely agree with you. 340B is important and without it many hospitals likely wouldn't survive. However, it's pretty evident at this point that 340B has expanded beyond its original intent.

For example, Northwestern University (in the middle of downtown Chicago) got itself reclassified as a rural hospital in order to participate in the program.

Moreover, it's grown extremely rapidly over the past ~5 years, and the gravity of the program is starting to create bizarre second-order effects like the one outlined.

My intent with this article is just to highlight some of those effects, not to advocate for eliminating 340B.

Also, not bankrolled by pharma, just a researcher for Turquoise Health (a healthtech startup). I get to dig around in their data and publish occasionally, but editorial control / opinions are my own.


For example, Northwestern University (in the middle of downtown Chicago) got itself reclassified as a rural hospital in order to participate in the program.

This is also a bit misleading though right? Northwestern was obliged to put 11 other hospitals and something on the order of like 150 to 200 clinic/other locations on its books largely for the purposes of access. So that rural communities across northern Illinois can also have the same access as people in Chicago.

The fact is, they are a rural healthcare system. Because the options that were in those locations previously were unable to make a long term go of it.


I was being a bit glib/imprecise before, but I'm specifically talking about the Northwestern Memorial campus downtown Chicago [0]. That location qualifies for 340B as a Rural Referral Center (RRC), and got itself reclassified by CMS/HRSA as rural to do so, despite being in the middle of downtown. RRCs need to meet a lower threshold of Disproportionate Share Hospital (DSH) adjustment percentage (8% vs the usual 11.75%). Northwestern Memorial needs to be an RRC because it doesn't meet the higher DSH threshold.

AFAIK, the other hospitals/clinics under the Northwestern umbrella don't really factor into whether the downtown Northwestern Memorial campus qualifies for 340B (insofar as they all have their own CCNs and qualify independently). In this case, Northwestern Memorial qualifies because it a) got reclassified as rural b) became an RRC (likely based on its staff specialty mix) c) meets the RRC DSH threshold of >= 8%.

Northwestern Memorial does treat a lot of rural patients, so maybe it does deserve 340B. That said, it seems clear that it's not they type of struggling safety-net/rural hospital 340B was originally intended to subsidize.

[0] https://340bopais.hrsa.gov/CeDetails/78783


AFAIK, the other hospitals/clinics under the Northwestern umbrella don't really factor into whether the downtown Northwestern Memorial campus qualifies for 340B

The money is shared at the system level. The referrals are to/from other hospitals/clinics in the system. Many of the other facilities in the system, exist because of Northwestern Memorial. This is what needs to be done to ensure access.


Thanks for the response, I'll update my post to be clear I was not calling this post an astroturfing attempt.


Thanks! Good to see other health policy wonks on HN


I actually tried a couple different engines before landing on OSRM. I started with R5 (since it can also do public transit) then switched to Valhalla.

The main limiting factor was speed. Basically all routing engines except for OSRM are too slow to compute continent-scale travel time matrices. For reference, it took Valhalla around a week to finish 3 billion point-to-point pairs. OSRM did the same calculation in about 2 hours.

I can't speak to Graphhopper since I haven't tried it. Maybe something to test in the future!


Yeah OSRM precomputes routes so if you just need the same mode of transportation and not dynamic params (like avoid tolls on this route, etc) it's gonna be a lot faster. Valhalla was designed for flexible/dynamic routing


It precomputes partial routes that are combined at run time. :)


Makes sense! Heads up that Graphhopper’s matrix algorithm isn’t open sourced so probably won’t work for this use case. I’ve had good experiences with it otherwise.


These are great suggestions, thank you!

I played around with a single static colormap for all scales but couldn't find one that worked well/looked good. Perhaps I'll add a slider that lets you manually select the values of the legend.

The second suggestion is a no-brainer. I'll definitely get that added.


Maybe it sticks to whatever colors are initially shown, and there's a button to "reset colors"?


Thanks! I hadn't seen anyone do it this way before with a very large, partitioned dataset, but it works shockingly well as long as you're not trying to `SELECT *` the entire table. Props to the DuckDB folks.

Eventually I plan to add some thin R and Python wrapper packages around the DuckDB calls just to make it easier for researchers.


I blogged a few more notes here: https://simonwillison.net/2025/Mar/17/opentimes/


Nice! I know a couple of projects that have been using this pattern.

- https://bsky.app/profile/jakthom.bsky.social/post/3lbarcvzrc...

- https://bsky.app/profile/jakthom.bsky.social/post/3lb4y65z24...

- https://skyfirehose.com

Love this distribution pattern. Users can go to the Parquet files or attach to your "curated views" on a small DuckDB database file.


Good point, will do!


It's just using OpenStreetMap tags for routing, so if a bridge is impassible by foot/bike according to OSM, then it won't be able to route there. See the Verrazano-Narrows Bridge in New York as an example.


Ah okay, so it doesn't take into account automobile travel? While the bridge is certainly walkable with a heavy asterisk, the route between towns is highly inadvisable on foot (though doable on bicyclists, there's another discussion), with the rural highway sometimes not having a shoulder.


In the next year or so maybe. The biggest obstacles to adding public transit are:

- Collecting all the necessary scheduling data (e.g. GTFS feeds) for every transit system in the county. Not insurmountable since there are services that do this currently.

- Finding a routing engine that can compute nation-scale travel time matrices quickly. Currently, the two fastest open-source engines I've tried (OSRM and Valhalla) don't support public transit for matrix calculations and the engines that do support public transit (R5, OpenTripPlanner, etc.) are too slow.


Can you just compute the travel times from each bus/train/tram stop and publish the individual or merged travel times? I guess the merging would be the hard part


I would imagine actual nation scale public transit would be relatively difficult since even in the Northeast transit networks are often not contiguous


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You