> ## Documentation Index
> Fetch the complete documentation index at: https://docs.textql.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Module 4 · The Terminology Layer

> The terminology crosswalks (ICD-10 → diabetes / heart-failure / risk-category mappings) are already committed in the repo — nothing to load into your warehouse. Ana joins them i… (~20 min)

The terminology crosswalks (ICD-10 → diabetes / heart-failure / risk-category mappings) are **already committed in the repo** — nothing to load into your warehouse. Ana joins them in her Python sandbox at query time (see `ontology/notes/terminology-join-pattern.md`), so the grouper logic works with **zero warehouse writes**.

## 3.1 · Prove the groupers work

```text Prompt theme={null}
Using the ontology's terminology layer, show me which CCSR category my top 10 most frequent diagnosis codes fall into. Explain how you joined the crosswalk without writing to the warehouse.
```

<Check>
  **You'll see:** raw ICD-10 codes resolved to meaningful clinical categories, with the join-in-sandbox pattern explained.
</Check>

## 3.2 · Refresh or extend the reference data — optional

**You don't need this on day one** — the current crosswalks are already committed. Come back when a standards version updates (CCSR/CMS-HCC release annually) or when you need certified VSAC value sets. And you don't run the scripts yourself — Ana does:

```text Prompt theme={null}
The terminology standards have a new release. Run reference/terminology/load_terminology.py in your sandbox to re-download CCSR / CMS-HCC / GEMs and regenerate the CSVs, then open a PR with the refreshed files and a summary of what changed between versions.
```

```text Prompt theme={null}
Using fetch_vsac.py with our UMLS API key [key], hydrate the VSAC value sets registered in value-sets.json. Confirm we're committing only the OIDs, not the licensed codes, per LICENSING.md.
```

<Check>
  **You'll see:** refreshed reference tables arriving as a reviewable PR — same governance motion as everything else.
</Check>

### ✅ Checkpoint

* [ ] A grouper question worked against your data with no warehouse writes
* [ ] You can explain the join-in-sandbox pattern in one sentence
* [ ] You know how terminology refreshes (loader) and how licensed value sets hydrate (UMLS key)
