# API de date medicale

> Unde fiecare tip de date medicale se găsește în API-ul Anpheros, cum este codificat și cum să îl scrieți, filtrați, urmăriți, corectați și ștergeți — cu exemple funcționale.

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

**Un API de date medicale oferă software-ului acces structurat la conținutul fișelor pacienților: creați un pacient, înregistrați o valoare a tensiunii arteriale, listați medicamentele active, atașați un raport de laborator, urmăriți cine a scris ce.** Această pagină descrie operațiunile de date ale API-ului Anpheros — unde se găsește fiecare tip de date medicale, cum este codificat și cum să îl citiți — cu exemple care funcționează împotriva sandbox-ului.

Aplicațiile folosesc aceste operațiuni pentru a trata Anpheros ca baza de date medicală a produsului lor: fișele pacienților locuiesc în stocul HL7 FHIR R4 al platformei, iar aplicația le citește și le scrie prin API în loc să își păstreze propriile tabele de date medicale.

Pentru o imagine de ansamblu mai largă (autentificare, consimțământ, evenimente), consultați [API-ul de Sănătate](https://developers.anpheros.com/ro/guides/healthcare-api).

## Unde ajunge fiecare tip de date medicale

| Date medicale | REST v1 | Resursă FHIR | Codificare |
|---|---|---|---|
| Persoana | `POST /v1/patients` | `Patient` | nume, data nașterii, gen, identificatori |
| Semne vitale, rezultate de laborator, simptome, activitate, sondaje | `/v1/patients/{id}/observations` | `Observation` | LOINC (simptome: capitolul ICD-10 R); unități UCUM |
| Diagnostice și probleme | `/v1/patients/{id}/conditions` | `Condition` | ICD-10 |
| Medicamente | `/v1/patients/{id}/medications` | `MedicationStatement` | ATC, numele produsului păstrat ca text |
| Documente (PDF, imagini) | `/v1/patients/{id}/documents` | `DocumentReference` | tipuri de documente LOINC |
| Un raport de laborator complet | `POST /v1/patients/{id}/labs/import` | `Observation` (laboratory) | LOINC unde este cunoscut, altfel codul propriu al laboratorului |
| Doze administrate sau omise, vaccinări, alergii, proceduri, rapoarte, planuri de îngrijire, obiective, trimiteri, vizite, programări, echipe de îngrijire, istoric familial, chestionare | `/fhir/R4/{type}` | `MedicationAdministration`, `Immunization`, `AllergyIntolerance`, `Procedure`, `DiagnosticReport`, `CarePlan`, `Goal`, `ServiceRequest`, `Encounter`, `Appointment`, `CareTeam`, `FamilyMemberHistory`, `QuestionnaireResponse` | conform [sistemelor de codificare FHIR](https://developers.anpheros.com/ro/guides/fhir-code-systems) |

Obiectele REST v1 și resursele FHIR sunt aceleași înregistrări cu aceleași ID-uri; fiecare obiect v1 poartă referința sa `fhir`.

## Scriere de date medicale

```bash
# a lab result with its reference range, linked to the report it came from
curl -X POST https://platform.anpheros.com/v1/patients/$PID/observations \
     -H "Authorization: Bearer $KEY" -H 'content-type: application/json' -H "Idempotency-Key: $(uuidgen)" -d '{
  "code": "4548-4", "display": "Hemoglobin A1c", "category": "laboratory",
  "value": 6.4, "unit": "%", "effective_at": "2026-09-01T08:00:00Z",
  "reference_range": {"low": 4.0, "high": 5.6},
  "derived_from": ["DocumentReference/'$DOC'"], "author_type": "import"
}'
```

- **Categorii de observații:** `vital-signs`, `laboratory`, `symptom`, `activity`, `survey`, `exam`, `imaging`, `social-history`.
- **Măsurători compozite**, cum ar fi tensiunea arterială, utilizează `components` (sistolică `8480-6`, diastolică `8462-4` în cadrul panel-ului `85354-9`).
- **Tipuri de autori:** `patient`, `practitioner`, `device`, `import`, `ai`. Fără unul, platforma înregistrează `import`.
- **Coduri pe care nu le știi pe de rost:** `GET /v1/terminology/loinc?q=hba1c` caută subsetul LOINC inclus și `GET /v1/search?q=metformin` catalogul de simptome, afecțiuni și medicamente; o observație scrisă fără un nume de afișare primește automat numele LOINC.

## Citirea datelor medicale

```bash
curl "https://platform.anpheros.com/v1/patients/$PID/observations?category=laboratory&code=4548-4&from=2026-01-01" -H "Authorization: Bearer $KEY"
curl "https://platform.anpheros.com/v1/patients/$PID/conditions?clinical_status=active" -H "Authorization: Bearer $KEY"
curl "https://platform.anpheros.com/v1/patients/$PID/medications?status=active" -H "Authorization: Bearer $KEY"
curl "https://platform.anpheros.com/v1/patients/$PID/timeline?from=2026-06-01" -H "Authorization: Bearer $KEY"
```

| Endpoint | Filtre |
|---|---|
| observations | `category`, `code`, `from`, `to` |
| conditions | `clinical_status` |
| medications | `status` |
| documents | `kind` |
| timeline | `from`, `to`, `types` |

Listele sunt paginate cu `limit` și `cursor`. **timeline** combină observații, condiții, medicații, documente, vizite, programări, vaccinări și episoade de îngrijire într-o singură listă cronologică — intrarea naturală pentru un ecran de istoric al pacientului.

Pentru orice nu este acoperit de filtrele REST, utilizați căutarea FHIR: `GET /fhir/R4/Observation?patient=$PID&code=http://loinc.org|4548-4&_sort=-date` ([platforma FHIR](https://developers.anpheros.com/ro/guides/fhir)).

## Urmărirea și corectarea datelor

- **Cine a scris-o:** `GET /v1/patients/{id}/provenance/{type}/{resourceId}` — o intrare per versiune, cu tipul autorului, proiectul, organizația și sistemul sursă.
- **Fiecare versiune:** `GET /fhir/R4/{type}/{id}/_history`; actualizați cu `If-Match` pentru a evita suprascrierea modificărilor altcuiva.
- **Proprietate:** cu consimțământ, puteți citi ce au scris alte organizații, dar modificați sau ștergeți doar ceea ce a scris proiectul dvs. (altfel `403`).
- **Ștergere:** `DELETE /v1/{observations|conditions|medications}/{id}`; ștergerea unui `Patient` șterge întregul înregistrare.

## Documente

Creați documentul (obțineți o țintă de încărcare), încărcați octeții prin platformă sau direct în stocare, apoi finalizați. După finalizare, originalul este imutabil; SHA-256 și dimensiunea sa sunt înregistrate. Până la 25 MiB per fișier.

## Conexe

- [Cum să normalizați datele medicale](https://developers.anpheros.com/ro/guides/normalize-medical-data): coduri, unități, date, duplicate, validare
- [Proveniența datelor medicale explicată](https://developers.anpheros.com/ro/guides/medical-data-provenance): cine a scris ce și cum să o înregistrați
- [API pentru Sănătate](https://developers.anpheros.com/ro/guides/healthcare-api)
- [Fișa medicală a pacientului](https://developers.anpheros.com/ro/guides/patient-medical-record)
- [Construiți o aplicație pentru Sănătate](https://developers.anpheros.com/ro/guides/build-a-healthcare-app)
- [Referință API (OpenAPI)](https://developers.anpheros.com/docs) · [Introducere](https://developers.anpheros.com/ro/guides/getting-started)
