# Systemy kodów FHIR

> Które systemy kodów wykorzystuje każdy typ zasobu FHIR: LOINC dla pomiarów i wyników laboratoryjnych, ICD-10 dla schorzeń, ATC dla leków, UCUM dla jednostek, a SNOMED CT za licencją.

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

Co platforma przechowuje i co Anpheros Daily (aplikacja pacjenta) zapisuje za pośrednictwem API. Aplikacje mogą używać dowolnego systemu kodów, na który pozwala FHIR; ta strona określa, które z nich platforma rozpoznaje (wyszukiwanie wyświetlania, kontrole IPS, silnik kontekstu), a które Anpheros sam wykorzystuje. Ostatnia aktualizacja 22 września 2026 r.

| Zasób | Element | Systemy kodów | Uwagi |
|---|---|---|---|
| Observation (vital-signs) | `code` | LOINC (`http://loinc.org`) | 8867-4 tętno, 85354-9 ciśnienie krwi (komponenty 8480-6 / 8462-4), 8310-5 temperatura ciała, 2339-0 glukoza, 29463-7 masa ciała, 39156-5 BMI, 59408-5 SpO₂, 8302-2 wzrost |
| Observation (laboratory) | `code` | LOINC; lokalny `urn:anpheros:lab`, gdy LOINC nie jest znany | mapowane przez Anpheros Daily; zakres referencyjny w `referenceRange`, dokument w `derivedFrom` |
| Observation (symptom) | `code`, `category` | ICD-10 (`http://hl7.org/fhir/sid/icd-10`) rozdział R; kategoria `urn:anpheros:observation-category\|symptom`; SNOMED CT za flagą | tekst swobodny pozostaje w `code.text`; intensywność 1–10 w `valueQuantity` (`{score}`). Zasoby utworzone przed 13 października 2026 r. mogą zawierać system HL7 `observation-category` z kodem `symptom`; filtrowanie według kodu (`category=symptom`), a nie według systemu. Zapisywane są tylko objawy zgłaszane przez pacjenta jako obecne, dotyczące samego siebie |
| Observation (survey, wellbeing) | `code`, `component` | `urn:anpheros:wellbeing` (wymiar: emocjonalny / psychiczny / fizyczny) | intensywność jako komponent `valueQuantity` `{score}`; uwaga w `note` |
| Observation (activity, daily watch summaries) | `code` | LOINC: 40443-4 tętno spoczynkowe, 8867-4 tętno (komponenty min/średnia/max), 80404-7 HRV (RMSSD), 59408-5 SpO₂, 41950-7 kroki, 41981-2 energia, 93832-4 czas trwania snu, 93831-6 / 93830-8 fazy snu | `effectivePeriod` obejmuje dzień; kategoria `activity` |
| Condition | `code`, `severity`, `clinicalStatus` | ICD-10; SNOMED CT nasilenie (24484000 ciężkie, 6736007 umiarkowane, 255604002 łagodne); `condition-clinical` | kategoria `problem-list-item` |
| MedicationStatement | `medicationCodeableConcept` | ATC (`http://www.whocc.no/atc`); `code.text` = nazwa produktu | rozszerzenie `daily-medication` dla pól specyficznych dla aplikacji |
| MedicationAdministration | `medicationCodeableConcept`, `supportingInformation` | ATC; plan leczenia jako `MedicationStatement/{id}` w `supportingInformation` (parametr wyszukiwania `statement`) | jeden zasób na przyjętą lub pominiętą dawkę (`status` ukończono / nie wykonano) |
| Immunization | `vaccineCode` | ATC J07 (`http://www.whocc.no/atc`) lub krajowa nomenklatura; `vaccineCode.text` zawsze zachowane | `occurrenceDateTime` wymagane dla sekcji IPS; `protocolApplied.doseNumberPositiveInt` dla dawki |
| AllergyIntolerance | `code`, `reaction.manifestation`, `criticality` | SNOMED CT (za flagą) lub tylko `code.text`; ATC dla alergii na leki | kategoria żywność / leki / środowisko / biologiczne |
| DocumentReference | `type` | Rodzaje dokumentów LOINC (`DOC_KIND_LOINC` w `/v1`) | |
| Encounter | `class`, `type` | klasa v3-ActCode; SNOMED CT typ, gdy znany | `episodeOfCare` → EpisodeOfCare ciąży / choroby przewlekłej / leczenia |
| EpisodeOfCare | `type`, `diagnosis.condition` | `urn:anpheros:episode-type` (choroba / leczenie / ciąża / inne); `diagnosis.condition` → Condition | jeden na schorzenie Anpheros Daily ("dosar", 25 września 2026); `period` = początek → koniec. Powiązane zasoby wskazują na Condition: `Observation.focus`, `MedicationStatement.reasonReference`, `DocumentReference.context.related`, `Appointment.reasonReference` (wyszukiwanie: `focus`, `reason-reference`, `related`, `condition`) |
| Appointment | `serviceType` | system kodów `service-type` | |
| RelatedPerson | `relationship` | v3-RoleCode (MTH, FTH, CHILD, SPS, …) | |
| QuestionnaireResponse | `questionnaire` | kanoniczne adresy URL pod `https://anpheros.com/fhir/Questionnaire/` | |
| Basic | `code` | `urn:anpheros:basic` | wyjście awaryjne; każdy kod udokumentowany tutaj przed użyciem |
| Provenance | `agent.type` | `provenance-participant-type` | |

## Identyfikatory i rozszerzenia

- Identyfikatory lokalne wierszy Anpheros Daily: `urn:anpheros:daily:{vital|medication|condition|episode|lab|symptom|document|weight|wellbeing|intake|immunization|allergy|health-day}`.
- Rozszerzenie stanu `daily-condition` (25 Sep 2026): `kind` (choroba / leczenie / ciąża / inne), `color` (klucz palety aplikacji), `source`, `due_date` (ciąża). Ciąża bez wpisanego kodu ma ICD-10 `Z33`.
- Rozszerzenia znajdują się pod `https://anpheros.com/fhir/StructureDefinition/daily-*` (`daily-medication`, `daily-symptom`, `daily-condition`, …).
- Jednostki to UCUM (`http://unitsofmeasure.org`) wszędzie tam, gdzie zapisana jest ilość.

## Koncepcje objawów (wydanie 2026.10.2, 16 października 2026)

`GET /v1/terminology/symptoms?q=&icd10=&kind=symptom|finding|all&lang=&limit=&offset=` i `GET /v1/terminology/symptoms/{concept_id}` służą koncepcjom objawów Anpheros: stabilny identyfikator (`SYM-0001`…, nigdy nie używany ponownie; system `https://anpheros.com/fhir/CodeSystem/symptom`), mapowanie ICD-10 z jego równoważnością (`equivalent`, lub `broader`, gdy kod ICD-10 obejmuje więcej niż koncepcję), etykiety i terminy dopasowania używane do wyszukiwania koncepcji w tekście swobodnym.

- 86 koncepcji: 70 objawów i 16 wyników (R70–R94). Objawy używają ICD-10 R00–R69, a tam, gdzie WHO klasyfikuje objaw gdzie indziej, kod WHO: G47 problemy ze snem, H53.2 podwójne widzenie, H53.8 niewyraźne widzenie (szersze), H93.1 szumy uszne, K59.0 zaparcie, L29.9 swędzenie, M25.5 ból stawów, M54 ból pleców.
- Każdy kod i tytuł angielski został sprawdzony w przeglądarce WHO ICD-10 Wersja 2019 w dniu 15 października 2026, w tym jego uwagi dotyczące włączenia i wykluczenia; `icd10.display` to tytuł WHO.
- Każda koncepcja jest również mapowana na **ICD-11 MMS 2025-01** (`icd11`: kod, tytuł WHO, równoważność `equivalent | wider | narrower | inexact`) and to a **body system** (`body_system`: the ICD-11 chapter 21 block of that code, e.g. `nervous`, `digestive`). Używany jest kod objawu z rozdziału 21, a nie kod choroby (ból głowy → MB4D, nie 8A8Z); każde odejście od tabeli mapowania WHO ICD-10 → ICD-11 jest wymienione w `release.json` (`icd11_departures`). Filtruj za pomocą `?icd11=MB4D` lub `?body_system=digestive`.
- Etykiety mają status `review`: `source` (oficjalny tytuł angielski WHO), `in_use` (rumuńskie etykiety i terminy dopasowania używane przez Anpheros Daily) lub `ai_reviewed` (etykiety laickie w 19 językach: tłumaczenia maszynowe sprawdzane termin po terminie w porównaniu z tytułami WHO z pomocą AI, **nie** przez lekarza ani profesjonalnego tłumacza medycznego). `display` jest preferowaną etykietą w `lang`, w przeciwnym razie etykieta laicka, w przeciwnym razie angielski; `display_lang` mówi, która.
- Ostrzeżenia: 32 pozycje dla 14 koncepcji, cytowane słowo w słowo ze stron domeny publicznej CDC i NIDDK, każda ze swoim źródłem, `review: source_verified` i notatką "nie jest diagnozą". Brak przyczyn ani powiązań z chorobami. Każda koncepcja zawiera `clinical_review: false` do czasu przeglądu wydania przez wykwalifikowanego lekarza.
- Dane znajdują się w `app/terminology/symptoms/` (`concepts.csv`, `labels.csv`, `release.json` ze źródłami); zmiana to zatwierdzony commit i nowy numer wydania.
- Anpheros Daily dodaje koncepcję jako drugie kodowanie obok ICD-10 w obserwacjach objawów.
- Przewodnik z żądaniami i odpowiedziami: [API danych objawów](https://developers.anpheros.com/pl/guides/symptom-data-api).

### Te same koncepcje jako terminologia FHIR (15 października 2026)

Tylko do odczytu, z tego samego wydania, z tą samą zasadą publikacji (tylko recenzowane etykiety):

| Zasób | Odczyt | Uwagi |
|---|---|---|
| CodeSystem | `GET /fhir/R4/CodeSystem/anpheros-symptom`, `GET /fhir/R4/CodeSystem?url=https://anpheros.com/fhir/CodeSystem/symptom` | `content: complete`, `status: draft` do czasu przeglądu klinicznego; właściwości `kind`, `status`, `icd10`, `icd11`, `body_system`; rumuńskie etykiety, terminy dopasowania i etykiety laickie jako oznaczenia |
| CodeSystem/$lookup | `GET /fhir/R4/CodeSystem/$lookup?system=https://anpheros.com/fhir/CodeSystem/symptom&code=SYM-0047&displayLanguage=ro` | `Parameters` z wyświetlaniem, oznaczeniami i właściwościami |
| ValueSet | `GET /fhir/R4/ValueSet/anpheros-symptoms`, `GET /fhir/R4/ValueSet/$expand?url=https://anpheros.com/fhir/ValueSet/anpheros-symptoms&filter=&displayLanguage=&count=&offset=` | aktywne objawy (wyniki wykluczone) |
| ConceptMap | `GET /fhir/R4/ConceptMap/anpheros-symptom-to-icd10` | `equivalent`, lub `wider`, gdy kod ICD-10 obejmuje więcej niż koncepcję (H53.8) |
| ConceptMap | `GET /fhir/R4/ConceptMap/anpheros-symptom-to-icd11` | ICD-11 MMS 2025-01 (`http://id.who.int/icd/release/11/mms`), z `equivalent`, `wider`, `narrower` lub `inexact` |

**Profil `anpheros-symptom`** (`POST /fhir/R4/Observation/$validate?profile=anpheros-symptom`, kanoniczny `https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`): kategoria `urn:anpheros:observation-category|symptom` (kod HL7 `observation-category` jest odrzucany), słowa osoby w `code.text`, koncepcja Anpheros zgodna z kodem ICD-10, podmiot = Pacjent, status finalny / zmieniony / poprawiony / wprowadzony-w-błąd, effective[x] z `effectivePeriod.end` nie wcześniej niż `start`, intensywność jako UCUM `{score}` 0–10. Podobnie jak inne profile, zgłasza problemy i nie odrzuca zapisów.

## Licencje

LOINC, ATC (WHO), ICD-10 (WHO) i UCUM są używane na mocy ich publicznych licencji. SNOMED CT wymaga
licencji krajowej lub stowarzyszonej: tabele mapowania są dostarczane z kodem, ale kody SNOMED są zapisywane tylko wtedy, gdy `TERMINOLOGY_SNOMED_ENABLED` jest włączone (w oczekiwaniu na licencję dla Rumunii).

Jak mapować dane z różnych źródeł do tych systemów kodowania, wraz z jednostkami, datami i walidacją: [Jak normalizować dane medyczne](https://developers.anpheros.com/pl/guides/normalize-medical-data).

Gdzie wyszukać te systemy kodowania i co obejmuje dołączony podzbiór: [API terminologii medycznej](https://developers.anpheros.com/pl/guides/medical-terminology-api).
