<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Theta Tech Data]]></title><description><![CDATA[Theta Tech Data]]></description><link>https://thetatech.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 10:51:32 GMT</lastBuildDate><atom:link href="https://thetatech.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to Use a Hospital Star Ratings API (CMS Care Compare)]]></title><description><![CDATA[CMS publishes overall hospital star ratings and facility attributes through Care Compare / the Provider Data Catalog. The primary machine-readable source…]]></description><link>https://thetatech.hashnode.dev/how-to-use-a-hospital-star-ratings-api-cms-care-compare</link><guid isPermaLink="true">https://thetatech.hashnode.dev/how-to-use-a-hospital-star-ratings-api-cms-care-compare</guid><category><![CDATA[healthcare]]></category><category><![CDATA[api]]></category><category><![CDATA[open data]]></category><category><![CDATA[Python]]></category><dc:creator><![CDATA[Theta Tech]]></dc:creator><pubDate>Wed, 04 Nov 2026 01:48:32 GMT</pubDate><content:encoded><![CDATA[<h2>What are CMS hospital star ratings?</h2>
<p>CMS publishes <strong>overall hospital star ratings</strong> and facility attributes through Care Compare / the Provider Data Catalog. The primary machine-readable source for facility-level general information (including overall rating) is the <strong>Hospital General Information</strong> dataset on <a href="https://data.cms.gov/provider-data/">data.cms.gov/provider-data</a> (dataset id <code>xubh-q36u</code>).</p>
<p>There is no separate “secret” star-ratings product — the stars are fields on the public Provider Data Catalog tables.</p>
<h2>Official API pattern (high level)</h2>
<ol>
<li>Call the Provider Data Catalog datastore query endpoint for <code>xubh-q36u</code>.</li>
<li>Filter with conditions such as <code>state</code>, <code>citytown</code>, <code>hospital_type</code>, or <code>hospital_ownership</code>.</li>
<li>Read <code>hospital_overall_rating</code> (and related facility fields) from each result row.</li>
<li>Optionally filter client-side for minimum rating or emergency-services flags when the catalog does not support that operator server-side.</li>
</ol>
<h2>Ready-made JSON options</h2>
<ul>
<li><strong>Apify Actor (free):</strong> <a href="https://apify.com/thetatech-data/cms-hospital-quality-scraper">CMS Hospital Quality / Care Compare Scraper</a></li>
<li><strong>HTTP API:</strong> <a href="https://zylalabs.com/api-marketplace/health+%26+fitness/cms+healthcare+data+api/14713">CMS Healthcare Data API on Zyla</a> — <code>GET /v1/hospital-quality</code></li>
</ul>
<h3>Example Apify input</h3>
<pre><code class="language-json">{
  "state": "RI",
  "minOverallRating": 3,
  "emergencyServicesOnly": true,
  "maxItems": 50
}
</code></pre>
<h3>Example Zyla-style query</h3>
<pre><code>GET /v1/hospital-quality?state=RI&amp;minOverallRating=3&amp;limit=25
</code></pre>
<h2>What you get back</h2>
<p>Typical cleaned fields include CCN / facility id, facility name, address, city, state, hospital type, ownership, emergency services flag, and overall star rating.</p>
<h2>Use cases</h2>
<ul>
<li>Payer network adequacy and quality dashboards</li>
<li>Journalists comparing hospitals by state</li>
<li>PE / diligence screening of acute-care facilities</li>
<li>AI agents that need structured Care Compare JSON</li>
</ul>
<h2>Related</h2>
<ul>
<li>Nursing homes have a separate Care Compare provider-info table — see <a href="https://apify.com/thetatech-data/cms-nursing-home-scraper">CMS Nursing Home Care Compare Scraper</a>.</li>
<li>Physician payments: <a href="https://apify.com/thetatech-data/cms-open-payments-scraper">CMS Open Payments Scraper</a>.</li>
</ul>
<h2>Disclaimer</h2>
<p>Public CMS data only. Ratings methodologies change; always cite the CMS release you used. Not medical or legal advice.</p>
]]></content:encoded></item><item><title><![CDATA[How to Query the CMS Open Payments API (Without Downloading Multi-GB CSVs)]]></title><description><![CDATA[CMS Open Payments (the Sunshine Act transparency program) publishes payments and transfers of value from drug and device manufacturers to physicians…]]></description><link>https://thetatech.hashnode.dev/how-to-query-the-cms-open-payments-api-without-downloading-multi-gb-csvs</link><guid isPermaLink="true">https://thetatech.hashnode.dev/how-to-query-the-cms-open-payments-api-without-downloading-multi-gb-csvs</guid><category><![CDATA[healthcare]]></category><category><![CDATA[api]]></category><category><![CDATA[open data]]></category><category><![CDATA[Python]]></category><dc:creator><![CDATA[Theta Tech]]></dc:creator><pubDate>Wed, 04 Nov 2026 01:47:27 GMT</pubDate><content:encoded><![CDATA[<h2>What is CMS Open Payments?</h2>
<p>CMS Open Payments (the Sunshine Act transparency program) publishes payments and transfers of value from drug and device manufacturers to physicians, non-physician practitioners, and teaching hospitals. Data is released as large public files and also exposed through the <strong>official Open Payments datastore query API</strong> on <a href="https://openpaymentsdata.cms.gov/">openpaymentsdata.cms.gov</a>.</p>
<p>If you only need filtered rows — for example consulting fees in one state, or payments tied to a specific manufacturer — you usually do <strong>not</strong> need to download the entire yearly CSV.</p>
<h2>Official API pattern (high level)</h2>
<ol>
<li>Resolve the dataset UUID for the program year and payment type (<code>general</code>, <code>research</code>, or <code>ownership</code>).</li>
<li>POST (or GET) to the datastore query endpoint for that dataset with <code>limit</code>, <code>offset</code>, and <code>conditions</code> (state, NPI, nature of payment, etc.).</li>
<li>Map the returned rows into the fields your pipeline needs.</li>
</ol>
<p>CMS documents the metastore and datastore query interfaces on the Open Payments site. Always prefer the federal source of truth for schema changes.</p>
<h2>Faster path: ready-made JSON Actors / APIs</h2>
<p>If you want filtered JSON without writing the client yourself:</p>
<ul>
<li><strong>Apify Actor (free):</strong> <a href="https://apify.com/thetatech-data/cms-open-payments-scraper">CMS Open Payments Scraper</a> — wraps the official API; filter by state, NPI, manufacturer, nature, amount; export JSON/CSV.</li>
<li><strong>HTTP API:</strong> <a href="https://zylalabs.com/api-marketplace/health+%26+fitness/cms+healthcare+data+api/14713">CMS Healthcare Data API on Zyla</a> — <code>GET /v1/open-payments</code> with plan key.</li>
</ul>
<h3>Example Apify input</h3>
<pre><code class="language-json">{
  "paymentType": "general",
  "year": 2024,
  "recipientState": "RI",
  "natureOfPayment": "Consulting Fee",
  "maxItems": 100
}
</code></pre>
<h3>Example Zyla-style query</h3>
<pre><code>GET /v1/open-payments?recipientState=RI&amp;year=2024&amp;natureOfPayment=Consulting%20Fee&amp;limit=25
</code></pre>
<h2>Common pitfalls</h2>
<ul>
<li><strong>Unfiltered dumps</strong> of a full program year are huge. Always pass at least one selective filter (state, NPI, manufacturer, or nature).</li>
<li>Payment amounts are often stored as text in the source files; normalize to numbers in your client.</li>
<li>Research and ownership files share many columns with general payments but not all filters apply equally.</li>
</ul>
<h2>Related datasets</h2>
<ul>
<li><a href="https://apify.com/thetatech-data/cms-hospital-quality-scraper">CMS Hospital Quality / Care Compare Scraper</a></li>
<li><a href="https://apify.com/thetatech-data/cms-medicare-physician-scraper">CMS Medicare Physician Scraper</a></li>
</ul>
<h2>Disclaimer</h2>
<p>This article describes public federal open data. It is not legal advice. Review CMS terms and applicable privacy law for your use case.</p>
]]></content:encoded></item></channel></rss>