# FHIR code systems

> Which code systems each FHIR resource type uses: LOINC for measurements and lab results, ICD-10 for conditions, ATC for medications, UCUM units, and SNOMED CT behind a licence flag.

Source: https://developers.anpheros.com/guides/fhir-code-systems

What the platform stores and what Anpheros Daily (the patient app) writes through the API. Applications may use any
code system FHIR allows; this page says which ones the platform recognises (display lookup,
IPS checks, context engine) and which ones Anpheros itself uses. Last updated 22 September 2026.

| Resource | Element | Code systems | Notes |
|---|---|---|---|
| Observation (vital-signs) | `code` | LOINC (`http://loinc.org`) | 8867-4 heart rate, 85354-9 blood pressure panel (8480-6 / 8462-4 components), 8310-5 body temperature, 2339-0 glucose, 29463-7 body weight, 39156-5 BMI, 59408-5 SpO₂, 8302-2 height |
| Observation (laboratory) | `code` | LOINC; local `urn:anpheros:lab` when no LOINC is known | mapped by Anpheros Daily; reference range in `referenceRange`, document in `derivedFrom` |
| Observation (symptom) | `code`, `category` | ICD-10 (`http://hl7.org/fhir/sid/icd-10`) chapter R; category `urn:anpheros:observation-category\|symptom`; SNOMED CT behind a flag | free text stays in `code.text`; intensity 1–10 in `valueQuantity` (`{score}`) |
| Observation (survey, wellbeing) | `code`, `component` | `urn:anpheros:wellbeing` (dimension: emotional / mental / physical) | intensity as component `valueQuantity` `{score}`; note in `note` |
| Observation (activity, daily watch summaries) | `code` | LOINC: 40443-4 resting HR, 8867-4 HR (min/avg/max components), 80404-7 HRV (RMSSD), 59408-5 SpO₂, 41950-7 steps, 41981-2 energy, 93832-4 sleep duration, 93831-6 / 93830-8 sleep stages | `effectivePeriod` covers the day; category `activity` |
| Condition | `code`, `severity`, `clinicalStatus` | ICD-10; SNOMED CT severity (24484000 severe, 6736007 moderate, 255604002 mild); `condition-clinical` | category `problem-list-item` |
| MedicationStatement | `medicationCodeableConcept` | ATC (`http://www.whocc.no/atc`); `code.text` = product name | extension `daily-medication` for app-specific fields |
| MedicationAdministration | `medicationCodeableConcept`, `supportingInformation` | ATC; the treatment plan as `MedicationStatement/{id}` in `supportingInformation` (search parameter `statement`) | one resource per dose taken or skipped (`status` completed / not-done) |
| Immunization | `vaccineCode` | ATC J07 (`http://www.whocc.no/atc`) or the national nomenclature; `vaccineCode.text` always kept | `occurrenceDateTime` required for the IPS section; `protocolApplied.doseNumberPositiveInt` for the dose |
| AllergyIntolerance | `code`, `reaction.manifestation`, `criticality` | SNOMED CT (behind a flag) or `code.text` only; ATC for drug allergies | category food / medication / environment / biologic |
| DocumentReference | `type` | LOINC document kinds (`DOC_KIND_LOINC` in `/v1`) | |
| Encounter | `class`, `type` | v3-ActCode class; SNOMED CT type when known | `episodeOfCare` → the EpisodeOfCare of a pregnancy / long-term illness / treatment |
| EpisodeOfCare | `type`, `diagnosis.condition` | `urn:anpheros:episode-type` (illness / treatment / pregnancy / other); `diagnosis.condition` → the Condition | one per Anpheros Daily condition ("dosar", 25 Sep 2026); `period` = onset → end. Linked resources point to the Condition: `Observation.focus`, `MedicationStatement.reasonReference`, `DocumentReference.context.related`, `Appointment.reasonReference` (search: `focus`, `reason-reference`, `related`, `condition`) |
| Appointment | `serviceType` | `service-type` code system | |
| RelatedPerson | `relationship` | v3-RoleCode (MTH, FTH, CHILD, SPS, …) | |
| QuestionnaireResponse | `questionnaire` | canonical URLs under `https://anpheros.com/fhir/Questionnaire/` | |
| Basic | `code` | `urn:anpheros:basic` | escape hatch; every code documented here before use |
| Provenance | `agent.type` | `provenance-participant-type` | |

## Identifiers and extensions

- Local identifiers of Anpheros Daily rows: `urn:anpheros:daily:{vital|medication|condition|episode|lab|symptom|document|weight|wellbeing|intake|immunization|allergy|health-day}`.
- Condition extension `daily-condition` (25 Sep 2026): `kind` (illness / treatment / pregnancy / other), `color` (app palette key), `source`, `due_date` (pregnancy). A pregnancy without a written code carries ICD-10 `Z33`.
- Extensions live under `https://anpheros.com/fhir/StructureDefinition/daily-*` (`daily-medication`, `daily-symptom`, `daily-condition`, …).
- Units are UCUM (`http://unitsofmeasure.org`) everywhere a quantity is written.

## Licences

LOINC, ATC (WHO), ICD-10 (WHO) and UCUM are used under their public licences. SNOMED CT requires a
national or affiliate licence: the mapping tables ship with the code, but SNOMED codes are only written
when `TERMINOLOGY_SNOMED_ENABLED` is on (pending the licence for Romania).
