# Medical terminology API: LOINC, SNOMED, ICD-10, RxNorm

> Where to look up each medical code system for free, how codes appear in FHIR, and what Anpheros includes (a small LOINC/ATC subset and symptom concepts) — honestly scoped.

Source: https://developers.anpheros.com/guides/medical-terminology-api

**A medical terminology API lets software search and look up standard medical codes — LOINC for tests and measurements, SNOMED CT for clinical terms, ICD-10 for diagnoses, RxNorm and ATC for medicines — so data from different sources means the same thing.** Each code system has its own owner, licence and lookup service, and most are free. This page lists where to look up each one, how they appear in FHIR, and what Anpheros includes so your app can store coded data without running a terminology server.

<!-- visual:term-cards -->

## Free lookup services

| Code system | Used for | Lookup service | Access |
|---|---|---|---|
| LOINC | laboratory tests, vital signs, documents | [loinc.org](https://loinc.org/search/), FHIR terminology server `fhir.loinc.org` | free, LOINC account for the FHIR server |
| ICD-10-CM | diagnoses (US) | [NLM Clinical Tables API](https://clinicaltables.nlm.nih.gov/) | free, no key |
| ICD-10 / ICD-11 | diagnoses (WHO, most countries) | [WHO ICD API](https://icd.who.int/icdapi) | free, registration |
| SNOMED CT | clinical findings, procedures, body sites | SNOMED International browser; Snowstorm (open-source server) | free in member countries; licence needed elsewhere |
| RxNorm | US medicines | [NLM RxNav REST API](https://lhncbc.nlm.nih.gov/RxNav/APIs/) | free, no key |
| ATC | medicine classes (WHO) | WHO Collaborating Centre index | free to look up |

A quick ICD-10-CM search, with no key:

```bash
curl "https://clinicaltables.nlm.nih.gov/api/icd10cm/v3/search?terms=asthma&maxList=5"
```

## How codes appear in FHIR

Every coded element in FHIR is a `CodeableConcept`: one or more codings, each with a `system` URI and a `code`, plus the original text.

| Code system | FHIR `system` URI |
|---|---|
| LOINC | `http://loinc.org` |
| SNOMED CT | `http://snomed.info/sct` |
| ICD-10 | `http://hl7.org/fhir/sid/icd-10` |
| ICD-10-CM | `http://hl7.org/fhir/sid/icd-10-cm` |
| RxNorm | `http://www.nlm.nih.gov/research/umls/rxnorm` |
| ATC | `http://www.whocc.no/atc` |
| UCUM units | `http://unitsofmeasure.org` |

## What Anpheros includes

- **A bundled LOINC and ATC subset** for the codes an app uses most (vital signs, common laboratory tests, common medicine classes): `GET /v1/terminology/loinc?q=glucose` and `GET /v1/terminology/atc/{code}`. It is a small subset, not a full terminology server; a code outside it may still be stored.
- **Symptom concepts** with ICD-10 mappings and labels in several languages: `GET /v1/terminology/symptoms?q=headache`.
- **Codes stored as written**: any valid FHIR coding is kept, and the lab connector fills LOINC codes where it recognises the test.
- **A free [FHIR R4 validator](https://developers.anpheros.com/tools/fhir-validator)** that checks structure and the value sets of common elements.

## Frequently asked questions

### Is there a free LOINC API?
Yes. LOINC provides a FHIR terminology server at fhir.loinc.org for registered users (registration is free), and the NLM Clinical Tables API offers a keyless LOINC search.

### Is there a free ICD-10 API?
Yes. The NLM Clinical Tables API searches ICD-10-CM without a key, and the WHO ICD API covers ICD-10 and ICD-11 after free registration.

### Do I need a licence for SNOMED CT?
In SNOMED International member countries (including the US and most of the EU) use is free under the national licence; elsewhere a licence is required. Check your country's National Release Centre.

### Does Anpheros include a full terminology server?
No. It includes a small LOINC and ATC subset and a symptom knowledge base, and stores any valid code. For full lookups, use the official services above.

<!-- visual:cta-term -->

## Related

- [FHIR code systems](https://developers.anpheros.com/guides/fhir-code-systems): which code system each Anpheros resource uses
- [Medication data for apps and AI agents](https://developers.anpheros.com/guides/medication-data-ai-agents): RxNorm and openFDA in practice
- [Symptom data API](https://developers.anpheros.com/guides/symptom-data-api)
- [How to normalize medical data](https://developers.anpheros.com/guides/normalize-medical-data)
