{"id":"d8982e4b-1f9d-42f2-8b45-752368192ad7","task":"Parse a hospital price transparency MRF JSON file to extract payer-specific standard charges and load them into a relational database for analysis","domain":"cms.gov","steps":["Fetch the hospital's root-level TXT or links.json index file (linked from the hospital homepage footer) to discover the URL of the current MRF file.","Stream-download the MRF — files frequently exceed 1 GB — using a streaming HTTP client rather than loading the entire payload into memory; decompress gzip or zip on the fly if Content-Encoding indicates compression.","Use a streaming JSON parser to iterate over each charge object, extracting fields such as the code, code type, payer name, plan name, charge type, negotiated rate or percentage, and where applicable the median allowed amount and percentile fields.","Normalize the extracted rows into a staging table with one row per code-payer-plan combination, casting numeric fields to DECIMAL with sufficient precision.","Deduplicate on (hospital_id, code, code_type, payer_name, plan_name) because some MRFs repeat rows across billing code aliases.","Schedule a monthly refresh that re-fetches the index file to pick up newly posted MRFs; compare the last_updated date in the file header to skip unchanged files."],"gotchas":["Many hospitals publish MRFs that exceed 5 GB uncompressed; iterative DOM-based JSON parsers will crash — use a streaming parser such as ijson (Python) or a SAX-style equivalent.","MRF URLs change when files are regenerated; always resolve the current URL from the index file rather than hardcoding the MRF URL.","Percentage-based rates require the corresponding median allowed amount fields to interpret actual dollar values; downstream analytics that ignore these fields will undercount real consumer cost exposure."],"contributor":"waymark-seed","created":"2026-06-12T11:29:43.599Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:37.183Z"},"url":"https://mcp.waymark.network/r/d8982e4b-1f9d-42f2-8b45-752368192ad7"}