← Health Index

Methodology: show the evidence, preserve the gaps

Snapshot evidence cutoff: 2026-10-15. Capture dates are not price-effective dates. Source periods, geography and inclusion scope travel with every observation.

How to read these numbers in 10 seconds:Official benchmarks with unverified episode equivalence do not establish the cost of the complete procedure. Historical periods do not describe current appointment availability.

Sources and evidence

Collectors read government schedules, public APIs and provider-published price schedules deterministically. Every observation is validated against the episode basket and its literal numerical evidence, capture timestamp, source URL and downloaded-file SHA-256. No language model is in the data path. Exact evidence and locators are retained in the open exports.

Verification levels

L1: estimates, excluded from the index. L2: public source with literal evidence, locator and file hash; this is the only level in the current schema and snapshot. L3: direct clinic quote, a planned reviewed tier; none is present in this snapshot. Verification of a source does not prove that its episode is equivalent to the basket definition.

Aggregation and comparability

We group item × country × kind, then keep payer context, currency/unit, source, source period, region, component, procedure code, episode comparability, statistic and population separate. Public tariffs, self-pay cash, published packages and clinic quotes never enter the same statistic. We never add professional and hospital components to invent a complete episode price.

Price min, p25, median, p75 and max use sorted observed values and linear interpolation at position (n − 1) × p. n counts eligible observed tariff cells, not patients, providers or a representative national sample. USD n may be lower than original-currency n when FX is unavailable. A distribution of administrative tariffs is not a national patient-price distribution.

National waiting-time statistics remain exactly as reported: median, mean or p90 in days or weeks, with waiting/completed population. NFZ values are provider-reported means for completed patients: we first take a median within each NFZ provider code when multiple sites are present (name and location are the fallback only when no identifier is available), then an unweighted median across providers in the same stratum. This is a median of provider means, not a patient-level national median; provider count and observation n are both shown. No patient weighting is inferred.

Exclusions, retained and counted

Zero waits are treated as ambiguous and excluded, not as immediate availability. Durations greater than 3,650 days (10 years, using 7 days per week) are excluded as an editorial anomaly rule, not a clinical maximum. Shares within 18 weeks are not durations and are excluded from time summaries. Zero prices are excluded. Prices exceeding the basket’s broad episode USD ceiling are excluded only when a dated conversion is available; no minimum episode threshold is imposed on professional components. These rules can exclude real outliers; the original values remain downloadable with exclusion reasons.

Repeated captures of the same source cell, period, value, payer context and geography contribute once; later identical captures remain downloadable as duplicate_source_cell. Changed values remain separate observations. Counts for this snapshot: {"zero_wait":2}. Invalid schema/evidence stops loading rather than silently dropping rows.

Foreign exchange

We use ECB reference rates via Frankfurter, through the shared server FX module. The requested date is the UTC observation capture date, not the historical source period. The actual rate date can precede it on bank holidays and is shown alongside the rate and source. USD-to-USD is identity, not an ECB quote. Conversion is for orientation, not a purchasable exchange rate.

Rates are fetched once per currency/capture date at startup, with a timeout. A failure or unsupported currency yields no USD value, never an invented rate. Rendering and API requests use the same in-memory snapshot and make no FX request. Original currency remains available. Restarting refreshes the snapshot. No value is adjusted for inflation or purchasing power.

Licences and attribution

Creative Commons Attribution 4.0 International applies to CareFare’s compilation and aggregates. CC BY 4.0 covers CareFare compilation and aggregates. Original source material, evidence and third-party code systems retain their own rights; no sublicence of those rights is granted. Cite “CareFare Global Health Index”, link the episode or hub, include the cutoff, link original sources and retain source periods. Contains public sector information licensed under the Open Government Licence v3.0 (NHS England). Ministry of Health, Spain: source cited above; CareFare has reformatted and grouped the observations. Source-specific terms are linked above; public accessibility does not imply a universal CC licence.

What we do not do

We do not extrapolate, fill missing cells, infer procedure waits from specialty counts, promise current availability, infer patient savings, rank clinical quality or accept payment for positions or index medians. Country order is alphabetical by ISO code. Pages with no eligible L2 observations are available for transparency but marked noindex and omitted from the sitemap.

Corrections policy

Send the episode, source URL, period, observation ID and evidence for a correction to hello@carefareglobal.com. We check the original official source, preserve the append-only evidence, and publish a new corrected observation or an explicit exclusion with its reason. Corrections appear in a subsequent dated snapshot; no provider payment changes a result.

Open exports

All normalized observations (JSON) · CSV · Aggregates (JSON). CSV repeats licence and attribution on every record; nested fields are JSON strings. Excluded observations remain in both observation exports.