# Sisteme de coduri FHIR

> Ce sisteme de coduri folosește fiecare tip de resursă FHIR: LOINC pentru măsurători și rezultate de laborator, ICD-10 pentru afecțiuni, ATC pentru medicamente, UCUM pentru unități și SNOMED CT în spatele unui indicator de licență.

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

Ce stochează platforma și ce scrie Anpheros Daily (aplicația pacientului) prin API. Aplicațiile pot folosi orice sistem de coduri permis de FHIR; această pagină indică ce recunoaște platforma (căutare afișare, verificări IPS, motor de context) și ce folosește Anpheros însuși. Ultima actualizare 22 septembrie 2026.

| Resursă | Element | Sisteme de coduri | Note |
|---|---|---|---|
| Observation (vital-signs) | `code` | LOINC (`http://loinc.org`) | 8867-4 puls, 85354-9 grup de tensiune arterială (8480-6 / 8462-4 componente), 8310-5 temperatură corporală, 2339-0 glucoză, 29463-7 greutate corporală, 39156-5 IMC, 59408-5 SpO₂, 8302-2 înălțime |
| Observation (laboratory) | `code` | LOINC; local `urn:anpheros:lab` când nu este cunoscut LOINC | mapat de Anpheros Daily; interval de referință în `referenceRange`, document în `derivedFrom` |
| Observation (symptom) | `code`, `category` | ICD-10 (`http://hl7.org/fhir/sid/icd-10`) capitol R; categorie `urn:anpheros:observation-category\|symptom`; SNOMED CT în spatele unui indicator | text liber rămâne în `code.text`; intensitate 1–10 în `valueQuantity` (`{score}`). Resursele scrise înainte de 13 octombrie 2026 pot purta sistemul HL7 `observation-category` cu codul `symptom`; filtrare după cod (`category=symptom`), nu după sistem. Se scriu doar simptomele pe care pacientul le raportează ca fiind prezente, despre sine |
| Observation (survey, wellbeing) | `code`, `component` | `urn:anpheros:wellbeing` (dimensiune: emoțională / mentală / fizică) | intensitate ca componentă `valueQuantity` `{score}`; notă în `note` |
| Observation (activity, daily watch summaries) | `code` | LOINC: 40443-4 puls în repaus, 8867-4 puls (componente min/med/max), 80404-7 HRV (RMSSD), 59408-5 SpO₂, 41950-7 pași, 41981-2 energie, 93832-4 durata somnului, 93831-6 / 93830-8 stadii de somn | `effectivePeriod` acoperă ziua; categorie `activity` |
| Condition | `code`, `severity`, `clinicalStatus` | ICD-10; severitate SNOMED CT (24484000 sever, 6736007 moderat, 255604002 ușor); `condition-clinical` | categorie `problem-list-item` |
| MedicationStatement | `medicationCodeableConcept` | ATC (`http://www.whocc.no/atc`); `code.text` = nume produs | extensie `daily-medication` pentru câmpuri specifice aplicației |
| MedicationAdministration | `medicationCodeableConcept`, `supportingInformation` | ATC; planul de tratament ca `MedicationStatement/{id}` în `supportingInformation` (parametru de căutare `statement`) | o resursă per doză luată sau omisă (`status` completată / nereușită) |
| Immunization | `vaccineCode` | ATC J07 (`http://www.whocc.no/atc`) sau nomenclatorul național; `vaccineCode.text` păstrat întotdeauna | `occurrenceDateTime` necesar pentru secțiunea IPS; `protocolApplied.doseNumberPositiveInt` pentru doză |
| AllergyIntolerance | `code`, `reaction.manifestation`, `criticality` | SNOMED CT (în spatele unui indicator) sau doar `code.text`; ATC pentru alergiile la medicamente | categorie alimentară / medicamente / mediu / biologic |
| DocumentReference | `type` | tipuri de documente LOINC (`DOC_KIND_LOINC` în `/v1`) | |
| Encounter | `class`, `type` | clasa v3-ActCode; SNOMED CT tip când este cunoscut | `episodeOfCare` → EpisodulDeÎngrijire al unei sarcini / boli pe termen lung / tratament |
| EpisodeOfCare | `type`, `diagnosis.condition` | `urn:anpheros:episode-type` (boală / tratament / sarcină / altele); `diagnosis.condition` → Afecțiunea | unul per afecțiune Anpheros Daily ("dosar", 25 septembrie 2026); `period` = debut → sfârșit. Resursele legate indică Afecțiunea: `Observation.focus`, `MedicationStatement.reasonReference`, `DocumentReference.context.related`, `Appointment.reasonReference` (căutare: `focus`, `reason-reference`, `related`, `condition`) |
| Appointment | `serviceType` | sistem de coduri `service-type` | |
| RelatedPerson | `relationship` | v3-RoleCode (MTH, FTH, CHILD, SPS, …) | |
| QuestionnaireResponse | `questionnaire` | URL-uri canonice sub `https://anpheros.com/fhir/Questionnaire/` | |
| Basic | `code` | `urn:anpheros:basic` | cale de scăpare; fiecare cod documentat aici înainte de utilizare |
| Provenance | `agent.type` | `provenance-participant-type` | |

## Identificatori și extensii

- Identificatori locali ai rândurilor Anpheros Daily: `urn:anpheros:daily:{vital|medication|condition|episode|lab|symptom|document|weight|wellbeing|intake|immunization|allergy|health-day}`.
- Extensia pentru condiție `daily-condition` (25 Sep 2026): `kind` (boală / tratament / sarcină / altele), `color` (cheie paletă aplicație), `source`, `due_date` (sarcină). O sarcină fără un cod scris poartă ICD-10 `Z33`.
- Extensiile se găsesc sub `https://anpheros.com/fhir/StructureDefinition/daily-*` (`daily-medication`, `daily-symptom`, `daily-condition`, …).
- Unitățile sunt UCUM (`http://unitsofmeasure.org`) oriunde este scrisă o cantitate.

## Concepte de simptome (versiunea 2026.10.2, 16 octombrie 2026)

`GET /v1/terminology/symptoms?q=&icd10=&kind=symptom|finding|all&lang=&limit=&offset=` și
`GET /v1/terminology/symptoms/{concept_id}` servesc conceptele de simptome Anpheros: un identificator stabil
(`SYM-0001`…, niciodată reutilizat; sistem `https://anpheros.com/fhir/CodeSystem/symptom`), maparea ICD-10 cu echivalența sa (`equivalent`, sau `broader` când codul ICD-10 acoperă mai mult decât conceptul), etichetele și termenii de potrivire utilizați pentru a găsi conceptul în text liber.

- 86 de concepte: 70 de simptome și 16 de constatări (R70–R94). Simptomele folosesc ICD-10 R00–R69 și, acolo unde OMS clasifică
  simptomul în altă parte, codul OMS: G47 probleme de somn, H53.2 vedere dublă, H53.8 vedere încețoșată (mai largă), H93.1
  tinitus, K59.0 constipație, L29.9 mâncărime, M25.5 dureri articulare, M54 dureri de spate.
- Fiecare cod și titlu în limba engleză a fost verificat în raport cu browserul WHO ICD-10 Versiunea 2019 la data de 15 octombrie 2026, inclusiv
  notele sale de includere și excludere; `icd10.display` este titlul OMS.
- Fiecare concept se mapează, de asemenea, la **ICD-11 MMS 2025-01** (`icd11`: cod, titlu OMS, echivalență `equivalent | wider |
  narrower | inexact`) and to a **body system** (`body_system`: the ICD-11 chapter 21 block of that code, e.g. `nervous`,
  `digestive`). Codul de simptom din capitolul 21 este utilizat în locul unui cod de boală (dureri de cap → MB4D, nu 8A8Z); fiecare
  abatere de la tabelul de mapare WHO ICD-10 → ICD-11 este listată în `release.json` (`icd11_departures`). Filtrați cu
  `?icd11=MB4D` sau `?body_system=digestive`.
- Etichetele au un statut `review`: `source` (titlul oficial în limba engleză al OMS), `in_use` (etichetele și termenii de potrivire în limba română pe care Anpheros Daily îi folosește) sau `ai_reviewed` (etichete laice în 19 limbi: traduceri automate revizuite termen cu termen
  în raport cu titlurile OMS cu asistență AI, **nu** de către un clinician sau un traducător medical profesionist). `display`
  este eticheta preferată în `lang`, altfel eticheta laică, altfel în limba engleză; `display_lang` indică care.
- Semne de avertizare: 32 de elemente pentru 14 concepte, citate cuvânt cu cuvânt din paginile din domeniul public ale CDC și NIDDK, fiecare cu sursa sa,
  `review: source_verified` și o notă de tipul "nu este un diagnostic". Fără cauze sau asocieri de afecțiuni. Fiecare concept poartă
  `clinical_review: false` până când un clinician calificat revizuiește versiunea.
- Datele se află în `app/terminology/symptoms/` (`concepts.csv`, `labels.csv`, `release.json` cu surse); o modificare
  este un commit revizuit și un nou număr de versiune.
- Anpheros Daily adaugă conceptul ca o a doua codificare alături de ICD-10 pe observațiile de simptome.
- Ghid pas cu pas cu cereri și răspunsuri: [API date simptome](https://developers.anpheros.com/ro/guides/symptom-data-api).

### Aceleași concepte ca terminologia FHIR (15 octombrie 2026)

Numai pentru citire, din aceeași versiune, cu aceeași regulă de publicare (doar etichete revizuite):

| Resource | Read | Notes |
|---|---|---|
| CodeSystem | `GET /fhir/R4/CodeSystem/anpheros-symptom`, `GET /fhir/R4/CodeSystem?url=https://anpheros.com/fhir/CodeSystem/symptom` | `content: complete`, `status: draft` până la revizuirea clinică; proprietăți `kind`, `status`, `icd10`, `icd11`, `body_system`; etichete în limba română, termeni de potrivire și etichete laice ca denumiri |
| CodeSystem/$lookup | `GET /fhir/R4/CodeSystem/$lookup?system=https://anpheros.com/fhir/CodeSystem/symptom&code=SYM-0047&displayLanguage=ro` | `Parameters` cu afișaj, denumiri și proprietăți |
| ValueSet | `GET /fhir/R4/ValueSet/anpheros-symptoms`, `GET /fhir/R4/ValueSet/$expand?url=https://anpheros.com/fhir/ValueSet/anpheros-symptoms&filter=&displayLanguage=&count=&offset=` | simptome active (constatări excluse) |
| ConceptMap | `GET /fhir/R4/ConceptMap/anpheros-symptom-to-icd10` | `equivalent`, sau `wider` când codul ICD-10 acoperă mai mult decât conceptul (H53.8) |
| ConceptMap | `GET /fhir/R4/ConceptMap/anpheros-symptom-to-icd11` | ICD-11 MMS 2025-01 (`http://id.who.int/icd/release/11/mms`), cu `equivalent`, `wider`, `narrower` sau `inexact` |

**Profil `anpheros-symptom`** (`POST /fhir/R4/Observation/$validate?profile=anpheros-symptom`, canonic
`https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`): categorie
`urn:anpheros:observation-category|symptom` (codul HL7 `observation-category` este respins), cuvintele persoanei în
`code.text`, conceptul Anpheros consistent cu codul ICD-10, subiect = Patient, stare finală / modificată /
corectată / introdusă-cu-eroare, effective[x] cu `effectivePeriod.end` nu înainte de `start`, intensitate ca UCUM `{score}`
0–10. Ca și celelalte profiluri, raportează probleme și nu respinge scrierile.

## Licențe

LOINC, ATC (WHO), ICD-10 (WHO) și UCUM sunt utilizate sub licențele lor publice. SNOMED CT necesită o
licență națională sau afiliată: tabelele de mapare sunt livrate împreună cu codul, dar codurile SNOMED sunt scrise doar când `TERMINOLOGY_SNOMED_ENABLED` este activat (în așteptarea licenței pentru România).

Cum să mapați date din diferite surse către aceste sisteme de codificare, cu unități, date și validare: [Cum să normalizați datele medicale](https://developers.anpheros.com/ro/guides/normalize-medical-data).

Unde să căutați aceste sisteme de codificare și ce acoperă subsetul inclus: [API terminologie medicală](https://developers.anpheros.com/ro/guides/medical-terminology-api).
