eLab posistemės integracijos dokumentacija
0.3.36 - versija Lithuania flag

eLab posistemės integracijos dokumentacija - Local Development build (v0.3.36) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Transakcijos API

POST /fhir - FHIR Transakcija

Transakcija naudojama norint pateikti kelis resursus vienu metu, užtikrinant atomiškumą: visi resursai išsaugomi kartu arba, įvykus klaidai, nė vienas neišsaugomas.

Atsakymo turinys gali būti valdomas naudojant HTTP antraštę:

  • Prefer: return=representation – grąžinama pilna sukurtų resursų informacija,
  • nenaudojant šios antraštės – grąžinami tik sukurtų resursų identifikatoriai.

Duomenys turi būti pateikiami JSON formatu.

Batch tipo transakcijos nėra palaikomos.

Autentifikacija

Perduodant užklausą serveriui, OAuth autentifikacijos antraštėje privaloma pateikti šiuos laukus:

  1. oauth_signature_method – užklausos pasirašymo algoritmas. Naudojama statinė reikšmė RSA-SHA1;
  2. oauth_timestamp – laiko žyma sekundėmis nuo 1970-01-01 00:00:00 GMT;
  3. oauth_nonce – atsitiktinė unikali tekstinė reikšmė, identifikuojanti užklausą;
  4. oauth_version – statinė reikšmė 1.0;
  5. oauth_body_hash – perduodamos užklausos turinio maiša. Reikšmė turi būti apskaičiuojama prieš užklausos pasirašymą ir įtraukiama į bendrą parašą.

Integracijoje taip pat naudojami šie identifikatoriai:

  1. practitioner_espbi_id - specialisto ESPBI ID,
  2. organization_jar - organizacijos JAR kodas,
  3. organization_id - organizacijos ESPBI ID.

Laiko zonų naudojimas

Visi FHIR resursų laiko laukai turi būti pateikiami su laiko zonos identifikatoriumi pagal FHIR dateTime formato reikalavimus.

Į API pateikiami resursai gali naudoti bet kurią laiko zoną.

Atliekant paiešką, laiko tipo paieškos parametrai be nurodytos laiko zonos interpretuojami kaip UTC laikas. Pavyzdžiui, resursui su laiku 2024-07-23T15:50:12+03:00 galima ieškoti naudojant:

  • 2024-07-23T15:50:12+03:00
  • 2024-07-23T12:50:12

Grąžinant resursus iš FHIR serverio, laiko reikšmės pateikiamos su UTC laiko zona. Laiko konvertavimas į vietinę laiko zoną atliekamas duomenų gavėjo pusėje.

Plačiau apie FHIR dateTime formatą: https://build.fhir.org/datatypes.html#dateTime

Klaidų apdorojimas

Nesėkmingos užklausos metu grąžinama HTTP 4xx arba 5xx klaida su OperationOutcome resursu, kuriame pateikiamas klaidos aprašymas.
Jei pateikta transakcija sėkmingai apdorojama, grąžinamas sėkmingo apdorojimo atsakymas su sukurtais arba atnaujintais resursais.

Klaidos gali būti grąžinamos:

  • dėl užklausoje aptiktų validacijos ar verslo taisyklių pažeidimų; žr. Validacijos taisyklės.
  • dėl klaidų, įvykusių duomenų apdorojimo metu ELAB posistemėje.

Bendri pavyzdžiai

POST /fhir – FHIR transakcijos PUT operacijos

Resursus redaguoti rekomenduojama per POST transakcijos PUT operaciją.
Plačiau žr. Integraciniai scenarijai
Pavyzdžiai: Statusų keitimas / redagavimas
Statusų keitimo schemos: FHIR Resursų statusų keitimas.