Worked analysis reference Scope: global method; website edition; worked case numbers are UNVERIFIED examples, not live evidence Revision SHA-256: 6fd8b9faf6af21389134171f1960c05b3e43e09f691c37d268b30da1ab805807 # Getting the numbers right The deep reference behind SKILL.md. SKILL.md carries the rulings; this carries the reasoning and the cases that produced them, so you can apply them to a situation the rulings do not name. Written so you can run it yourself rather than hand it off. Where it names a coverage-intelligence analysis, follow its page on the Coverage Intelligence website. The reasoning here stands without it; see coverage-website.md for live links. ## 1. Find out what exists before spending a call Three states, and the difference between the second and third is worth more than most answers: - **shipped** : bytes are here, a named tool reads them. Measurable now. - **available** : exists upstream at a named vintage, not carried here. **A fetch, not a wall.** A week of work. Price it. - **absent** : never fetched, reason recorded, usually a licence or DUA. A commercial conversation, not an engineering one. A question nobody packed the data for and a question with no answer look identical from outside. The register tells them apart. **Read the register against the tool surface, not instead of it** : a corpus registered `available` with "no tool reads it" turned out to have a tool serving tens of millions of rows from it, and an analyst trusting the register alone would have stopped. The [Coverage Intelligence website](https://coverage-intelligence-web-781472415148.us-central1.run.app/llms.txt) carries this. Follow its Guides directory for the method and confound list, and its evidence search for the register. Keep the same ledger query parameter across the links. ## 2. Keep "where it came from" separate from "what it says" Two documents, and neither does the other's job: - **DATA.md** : one row per dataset: what it feeds, its status, the exact path, the exact cut. **No figures.** It is the provenance ledger. - **the workbook** : the figures. Each cites its DATA.md row. When they merge, provenance rots invisibly, because a figure that looks settled stops being questioned. ## 3. Write the needs list, and send it Before the model is worth building, write the facts it is gated on. One row each, ordered by how much the answer moves the result: | what | what it feeds | kind | who settles it, and how | |---|---|---|---| Worked, for a vendor pitching a service line : note the three parties, and that the kill-switches sit on top regardless of how much arithmetic hangs off them: | what | what it feeds | kind | who settles it | |---|---|---|---| | Can their clinicians bill the monitoring codes at all : clinician type, employment, incident-to | whether the revenue line exists | **kill-switch** | their compliance/billing lead. If no, the line is zero | | Is the programme in scope on cost-avoidance for the surgical cohort, or revenue-only | whether half the model exists | **kill-switch, scope** | named: the service-line chief | | Does remote care replace billable in-person visits or add to them | whether new revenue is net | **kill-switch** | their department head | | Vendor's effect on the outcome, with counts, denominators, comparison group, window | the reduction the model multiplies by | **theirs to supply** | the vendor, with their name on it. *Do not source this* | | Enrolment rate; then share reaching the data threshold each month | the funnel from eligible to billable | **theirs to supply** | the vendor : two numbers, two failure modes, not one | | Annual volume, split surgical and non-surgical | the population the model sizes | **gated**, or sourceable | their service-line report; or the state discharge file if they name facility and procedure set | | Payer mix across the eligible population | which dollars apply to whom | **need**, unless cohort-matched public evidence exists | NYU analytics supplies the actual cohort mix; broader public mix is a labelled proxy | | Contribution margin per avoided case | what an avoided case is worth to them | **gated** | their cost accounting. Public narrowing: fee schedule and their own price-transparency filing | | Fee-schedule rates and code definitions for the billing codes, by rule year | the revenue line | **ours to source** | we pull it, and record the rule version | | Their underwriting rule for vendor claims | the break-even cell | **gated** | their deck or the meeting : cite it | Rules that make the list useful rather than a shrug: **Every row names what would settle it.** Not "we don't have volume" but "annual volume, split surgical and non-surgical : their service-line report, or the state discharge file if they will name the facility and procedure set." A row that does not name its remedy is a complaint. **Say when it is theirs, and then stop.** The counterparty's own effect size, enrolment rate, adherence, or internal cost base is theirs to declare. Mark it `theirs to supply` and write `do not source this` next to it. You price the event; they supply the reduction. Estimating it on their behalf is not helpfulness : it takes their name off the one number they can be held to, and a case nobody can be held to is a case nobody buys. **Ask the yes/no questions first.** Some answers do not tune a line, they delete it. Whether the billing clinician is eligible to bill the code decides whether that revenue exists at all. Whether a cohort is in scope on a cost-avoidance basis decides whether half the model is a different model. These are cheap to ask and expensive to assume, and they belong at the top of the list regardless of how much arithmetic hangs off them. **Decompose a rate into the steps that can each fail.** "How many patients benefit" is not a question anyone can answer. "What share are enrolled" and "what share of those reach the applicable code-year data threshold in a month (the requested 16-day premise must be verified)" are two questions with two owners and two failure modes, and the product of them is the number you wanted. A funnel asked as one number comes back as a guess. **Distinguish the four reasons you lack something**, because each has a different next step and conflating them wastes the call: - *theirs to supply* : ask, and leave the cell empty - *gated* : it exists, but reaches only participants or entitled parties. Name who holds it, what access costs, **and what is public that narrows it** : knowing which readmissions a programme excludes narrows an unknown rate even when the rate stays out of reach - *no public bridge* : the join does not exist and would have to be manufactured. **Do not build it.** A derived, lossy table is a modelling choice, not a pull. Say what grain is joinable and leave the finer grain unclaimed - *partially derivable* : half is in hand. State both halves; "research needed" is an honest entry for the other half and much better than a plausible invention **Some rows are a question for a named person, not a dataset.** Which benchmark they mean by "expected"; which of two contracts applies; whether a cohort is in scope. Write the question with the name attached and leave the dependent cell untouched until it is answered. A definitional fork resolved by your own preference is the kind of thing that surfaces in the meeting rather than before it. **Keep answered rows visible, struck through.** The list is how the reader sees what the model rests on, and a question that was asked and answered is evidence of rigour. Deleting it hides the work. Expect found answers to raise new rows. ## 4. Record the cut, not the file SKILL.md gives the shape of a recorded cut. What follows is why it is not negotiable. A figure in this corpus was lost exactly here: `$25,914, median of 114 facilities` was carried for months, and when someone tried to reproduce it the cut had never been written down and no filter reproduced either the figure or the 114. **It was discarded, not reconciled.** That is the rule: an unreproducible figure is not evidence, however confident the note that carried it. **Re-derive any headline figure from its own stated inputs before anything else.** A claimed "68% saving" against rates that give 61% and 63% is not a rounding question : the figure came from somewhere nobody can name. Do the arithmetic first; it costs seconds and settles most of these before any data is pulled. **Verify the dataset id against a count, don't trust the filename.** A file named for 2023 was the 2022 extract : 1,608 rows where the real 2023 file has 1,615 : and it had been feeding the model silently. Re-run `count(*)` under your cut and check it against the publisher's own count before the number enters a cell. **Put every bucket on one vintage.** If SNF is FY2024 and IRF is FY2023, the comparison between them is partly calendar. Carry the prior vintage in the adjacent column and let the reader flip it, rather than choosing for them. ## 5. Before you believe your own finding ### Three errors in the claim itself Industry gets these wrong constantly, and the reader's own analyst will run the check after you send it if you did not run it before. - **A before-and-after credits the intervention with the mean coming back.** Any cohort selected for being bad : high utilisers, worst-quartile sites, a pilot of the sickest patients : improves on its own next period. **Ask what the cohort would have done untreated**, and net that out before claiming anything. A twelve-patient pre/post at one site measures almost nothing else. - **A per-provider ranking without reliability is sampling error wearing a league table.** On small denominators, 30-60% of the spread is noise. A site "in the worst quartile" may be there by arithmetic. Report the reliability of the measure, not only the rank. - **A savings figure that sums a deferred cost and an avoided one counts the same dollar twice.** Deferred spend arrives later; avoided spend never arrives. They are different claims with different burdens, and a reader who separates them will find the double count. Classify every component as hard or soft, deferred or avoided, before totalling. A fourth, close behind: **a screening or find-the-patient claim is not its sensitivity.** What matters is yield at the real prevalence : how many of the flagged are actually cases. At low prevalence a highly sensitive test still produces mostly false positives. ### The data confounds that killed findings here Each measured, not hypothetical: - **Billing class.** A hospital-vs-payer ratio flipped hard by payer and read as a finding about negotiating posture. It was billing class: one payer's rows were 622/645 institutional, another's 562/662 professional, and the hospital corpus carries no billing-class column so it could not be split to match. **A cross-corpus ratio that tracks a variable the two corpora record differently is not a finding.** - **Replication.** The same filing arrives repeatedly: 8,200,690 rows against 4,270,330 deduplicated, with identical median and p75. **An inflated `n` is not more evidence.** - **Grouper edition.** A code missing at one filer may be undefined in that filer's edition. Absence settles nothing. - **Code vocabulary.** One real code filed under two labels, 5.4x apart on the median. Splitting on the label splits one thing into two. - **Small cells.** 30-60% of small-cell variation is sampling error before anything else is said. - **Payer identity.** 240 payer strings on one side against 7 slugs on the other, with TPAs renting networks among them. **Resolving them is an inference nobody licensed**, and a pitch built on a bad join dies on the first question. Write the confound that came closest to killing your finding into the deliverable. Said first, it is rigour; said by the reader, it is the end of the meeting. ## 6. When numbers fight **Different currencies may not be subtracted.** A CMS target in *standardized* dollars minus a hospital's *actual local* rate (wage index 1.3697, DSH, capital, uncompensated care per case) is a meaningless number, and the reader will say so in the first minute. Do **not** blank the cell : that abandons their question. **Re-anchor on the basis the programme scores in**, and derive the translation factor to local dollars on the sheet beside it, from its components. If the components cannot be sourced, the factor is `provisional` and shaded, and so is anything built on it. Never invent a factor. **Sources disagree ⇒ identify, don't average and don't take the conservative one.** Two payer rates for one DRG at one hospital turned out to be two named network schedules : e.g. a metro HMO schedule and a national PPO schedule : each traceable to the file it came from. **Naming them was the finding.** Picking the lower one would have buried it. Where they cannot be identified, carry both as named columns and label the gap `unreconciled`. `unreconciled` is a note on the rows, not a status on the ladder: each row keeps its own status. **A clean ratio can be an artefact of the pricing method.** Test it: if every schedule is `round base × DRG weight`, then a constant factor between any two schedules is guaranteed by construction. Check whether the ratio holds across *all* the DRGs at exactly the same value : if it does, you have found the pricing method, not an escalation. Divide each rate by its DRG weight and see whether the bases are round numbers. **Check the rate basis before you compare two rates at all.** A published rate may be a fixed fee, a percent of charges, a case rate, or a per-diem; it may be facility-only or include the professional component; it may carve implants in or out. Two numbers on the same code are not comparable until both bases are known, and the basis is the single commonest trap in site-of-care and facility-to-facility comparisons. Put the basis in the unit column, not the note. **Many rates across facilities is a distribution, not a disagreement.** The identify-don't-average rule above is for two figures that claim to describe *the same thing*. Several facilities' rates for one code describe different things, and the right treatment is different: - **Do not drop the low one as an outlier.** A rate at half the others is usually a different basis (above), a different schedule, or a different billing class : and if it is real, it is the comparison your reader will actually make. A case that looks strong against the dear facilities and collapses against the cheap one is a case with a hole, and better found by you. - **Do not take an unweighted mean.** Weight by that reader's own volume at each facility. An unweighted average over a corpus is a number about the corpus, not about their book. No volume data ⇒ you cannot state a baseline; show the range, bound by lowest and highest, and say what volume would settle it. - **Show the per-facility saving, each one, and the bounds.** The spread is the finding. **Confirm from the other side of the transaction.** The strongest check available: the hospital's own filing against the payer's machine-readable file for the same DRG, NPI and month. When they match to the dollar, the figure is as solid as this data gets. When they do not, that gap is itself the finding. ## 7. Whose dollars The first thing a hospital CFO asks and the easiest thing to miss. CMS post-acute costs are **the payer's** dollars. Under fee-for-service DRG payment the hospital captures none of an avoided SNF stay; it captures them only under bundled payment, an ACO or MA contract, or readmission-penalty exposure. **A model that nets payer savings against a hospital's cost without naming the capture mechanism is wrong**, not merely optimistic. Give capture its own input row, or state on the sheet that none is applied. ## 8. What this deliberately does not do Write the omissions down, in the workbook. One model's own line: it does not subtract the hospital's filed Medicare rate from the programme target price, because the two are in different dollars, and it says so on the Readme. An omission you name is a boundary. An omission the reader finds is a hole. Website edition correction: the source guide called eligible-population payer mix unconditionally sourceable. This edition requires cohort correspondence. Historical worked numbers above are user-supplied examples, UNVERIFIED here; they are not current evidence or NYU measurements. Source guide retained in the user skill directory. HTTP bindings for this session: Explicit source-reference bindings: SKILL.md: https://space.hammer.ai/skills/global/building-sourced-excel-models.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba analysis.md: https://space.hammer.ai/skills/global/analysis.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba coverage-website.md: https://space.hammer.ai/skills/global/coverage-website.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba rate_position: https://space.hammer.ai/analysis/rate_position/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba rate_comparison: https://space.hammer.ai/analysis/rate_comparison/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba stack_check: https://space.hammer.ai/analysis/stack_check/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba screening_yield: https://space.hammer.ai/analysis/screening_yield/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba deferred_versus_avoided: https://space.hammer.ai/analysis/deferred_versus_avoided/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba interpretation_requirement: https://space.hammer.ai/analysis/interpretation_requirement/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba cohort_figures: https://space.hammer.ai/analysis/cohort_figures/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba comorbidity_edges: https://space.hammer.ai/analysis/comorbidity_edges/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba fee_components: https://space.hammer.ai/analysis/fee_components/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba filed_charge: https://space.hammer.ai/analysis/filed_charge/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hypertension_evidence: https://space.hammer.ai/analysis/hypertension_evidence/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba prognostic_association: https://space.hammer.ai/analysis/prognostic_association/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba treatment_effect: https://space.hammer.ai/analysis/treatment_effect/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba regression_to_mean_expectation: https://space.hammer.ai/analysis/regression_to_mean_expectation/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba competing_event_coupling: https://space.hammer.ai/analysis/competing_event_coupling/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba withhold_earnback: https://space.hammer.ai/analysis/withhold_earnback/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba tournament_position: https://space.hammer.ai/analysis/tournament_position/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba measure_reliability: https://space.hammer.ai/analysis/measure_reliability/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba declared_inputs: https://space.hammer.ai/analysis/declared_inputs/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba cost_of_care_exposure: https://space.hammer.ai/analysis/cost_of_care_exposure/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba savings_methodology: https://space.hammer.ai/analysis/savings_methodology/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hospital_variance: https://space.hammer.ai/analysis/hospital_variance/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba filer_inventory: https://space.hammer.ai/analysis/filer_inventory/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba candidate_screen: https://space.hammer.ai/analysis/candidate_screen/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba frontier: https://space.hammer.ai/analysis/frontier/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba judgement_check: https://space.hammer.ai/analysis/judgement_check/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba claim_check: https://space.hammer.ai/analysis/claim_check/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba deliver: https://space.hammer.ai/analysis/deliver/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba session_trace: https://space.hammer.ai/analysis/session_trace/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba progress_check: https://space.hammer.ai/analysis/progress_check/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba model_advisory: https://space.hammer.ai/analysis/model_advisory/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba knowledge_navigate: https://space.hammer.ai/analysis/knowledge_navigate/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba simulate: https://space.hammer.ai/analysis/simulate/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba sensitivity: https://space.hammer.ai/analysis/sensitivity/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba interval_check: https://space.hammer.ai/analysis/interval_check/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba decision_navigate: https://space.hammer.ai/analysis/decision_navigate/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba network_infer: https://space.hammer.ai/analysis/network_infer/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hello_world: https://space.hammer.ai/analysis/hello_world/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba say_world: https://space.hammer.ai/analysis/say_world/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba Read the companion references here (these replace local file references in the source guide): Build a sourced analysis: https://space.hammer.ai/analysis.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba OData exploration and analytic cuts: https://space.hammer.ai/odata.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba Worked analysis reference: https://space.hammer.ai/skills/global/analysis.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba Building sourced Excel models: https://space.hammer.ai/skills/global/building-sourced-excel-models.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba Coverage website reference: https://space.hammer.ai/skills/global/coverage-website.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba Spine cohort and post-acute analysis: https://space.hammer.ai/skills/spine-analysis.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hammer-building-the-evidence: https://space.hammer.ai/skills/world/hammer-building-the-evidence.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hammer-cost-of-care-case: https://space.hammer.ai/skills/world/hammer-cost-of-care-case.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hammer-coverage-navigate: https://space.hammer.ai/skills/world/hammer-coverage-navigate.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hammer-provider-contracting: https://space.hammer.ai/skills/world/hammer-provider-contracting.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hammer-provider-quality: https://space.hammer.ai/skills/world/hammer-provider-quality.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hammer-savings-classification: https://space.hammer.ai/skills/world/hammer-savings-classification.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hammer-vendor-evidence: https://space.hammer.ai/skills/world/hammer-vendor-evidence.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba hammer-writing-the-deliverable: https://space.hammer.ai/skills/world/hammer-writing-the-deliverable.skill.txt?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba Data: https://space.hammer.ai/data/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba Transcript: https://space.hammer.ai/session/?ledger=49ec6090f32b112cd7fc2d39a72e0974&snapshot=7a53af6a9beb58928d4a64dc92db09c9db65433f9909f1a10d16e302adaf86ba