SPD - Service Provider Directory
0.2.0 - draft
SPD - Service Provider Directory, published by TEHIK. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/TEHIK-EE/ig-ee-spd/ and changes regularly. See the Directory of published versions
Käesolev leht kirjeldab SPD FHIR API-ga liidestumise üldiseid reegleid: autoriseerimist, päiseid, otsingu- ja muutmispäringute üldkonventsioone ning versioonihaldust. Konkreetsete ressursside (Organization, Location, HealthcareService, Practitioner, PractitionerRole) päringute ja vastuste täisnäited on toodud lehel FHIR API kirjeldus.
SPD FHIR API on kaitstud OAuth2 kliendile suunatud teenusena TEHIK-u Charon autentimisteenuse kaudu.
Iga päring peab sisaldama kehtivat Authorization: Bearer <token> päist. Token peab kandma päritava
ressursi jaoks nõutud õigust (authority). Peamised õigused ressursside kaupa:
| Ressurss / operatsioon | Nõutud õigus(ed) |
|---|---|
GET /fhir/Organization* |
ORGANIZATION_READ |
GET /fhir/Practitioner* (otsing, id-põhine) |
ORG_PRACTITIONER_READ, PRACTITIONER_READ või PUBLIC_PRACTITIONER_READ (ajalugu ja id-põhine päring lubavad ka PERSONAL_PRACTITIONER_READ) |
PUT /fhir/Practitioner/{id} |
ORG_PRACTITIONER_WRITE või PERSONAL_PRACTITIONER_WRITE |
GET /fhir/PractitionerRole* |
PRACTITIONER_ROLE_READ |
GET /fhir/PractitionerRole/$lookup |
ORG_PRACTITIONER_ROLE_LOOKUP või PRACTITIONER_ROLE_LOOKUP |
PUT /fhir/PractitionerRole/{id} |
ORG_PRACTITIONER_ROLE_WRITE või PERSONAL_PRACTITIONER_ROLE_WRITE |
GET /fhir/HealthcareService* |
HEALTHCARE_SERVICE_READ |
GET /fhir/Location* |
LOCATION_READ |
GET /fhir/metadata, GET /fhir/OperationDefinition* |
avalik, õigust ei nõuta |
ORG_* õigustega kasutajal on ligipääs ainult oma asutuse andmetele ja PERSONAL_* õigustega
kasutajal ainult enda isikuandmetele — vt täpsemalt Kontrollid ja terminoloogia.
Õiguse puudumisel või vale ulatuse korral tagastatakse viga SPD-036 (ainult enda andmed) või
SPD-037 (ainult oma asutuse andmed) — vt Vead.
| Päis | Kirjeldus |
|---|---|
Authorization |
Bearer <token>, kohustuslik kõikidel päringutel. |
X-Road-Id |
Kohustuslik kõikidel andmeid muutvatel (PUT) päringutel. Puudumisel tagastatakse SPD-047. |
Kõik ressursid toetavad standardseid FHIR interaktsioone read (GET [base]/[Resource]/[id]),
vread (GET [base]/[Resource]/[id]/_history/[versionId]) ning search (GET [base]/[Resource]?...).
Ressursi kõigi versioonide nimekirja tagastavat ajaloopäringut (GET [base]/[Resource]/[id]/_history)
hetkel ei toetata.
Otsingul lubamatu või tundmatu parameeter tagastab vea SPD-013. Osa ressursse (nt PractitionerRole,
HealthcareService, Location) nõuavad, et otsingul oleks määratud vähemalt üks kindel
parameetritest — vastasel juhul tagastatakse SPD-002 või SPD-018. Vt täpseid
otsinguparameetreid ressursside kaupa lehtedel Asutuste, tegevuskohtade ja teenuste päring,
Teenuseosutaja isiku päring ja uuendamine ning
Töötaja rolli päring, uuendamine ja genereerimine.
Otsingutulemuste hulka piiratakse parameetritega _count ja _page. Süsteemis on seadistatud
lehe suuruse ülempiir; selle ületamisel tagastatakse viga SPD-048 või SPD-055, vigase
väärtuse korral SPD-049. Bundle'i link elemendid next/previous viitavad järgmisele/eelmisele
lehele.
Kirjutavad päringud (PUT [base]/[Resource]/[id]) on toetatud ressurssidel Practitioner ja
PractitionerRole. Üldised nõuded:
X-Road-Id päist (SPD-047, kui puudub).SPD-010/SPD-011, kui puudub või lubamatu).SPD-016/SPD-036/SPD-037).SPD-038) — muudatust ilma
jälgitavuseta ei tehta. Kui aga muudatuse tulemuse (outcome) audititesse logimine pärast
muudatuse tegemist ebaõnnestub (SPD-039), siis see hetkel päringu õnnestumist ei mõjuta — viga
ainult logitakse.Ressursispetsiifilised muutmisreeglid (nt PractitionerRole erialade ja tegevuskohtade valideerimine) on kirjeldatud lehtedel Teenuseosutaja isiku päring ja uuendamine ja Töötaja rolli päring, uuendamine ja genereerimine.
Kõik veaolukorrad tagastatakse FHIR OperationOutcome ressursina koos SPD veakoodiga. Täielik
veakoodide kataloog on toodud lehel Vead.