Patsientide üldandmete teenus / Master Patient Index
1.0.0 - ballot
Patsientide üldandmete teenus / Master Patient Index - Local Development build (v1.0.0). See the Directory of published versions
Antud juhend selgitab põhireeglid patsiendi andmete pärimiseks ja sõnumite koostamiseks. Testimiseks laadige alla Postman kollektsiooni näidetega.
Patsiendi andmete pärimiseks saab esitada REST päringu mis tagastab kas üksiku ressurssi või ressursside kollektsiooni (edaspidi Bundle).
Üksik ressurss tagastatakse siis kui andmed päritakse REST päringuga MPI sisemise id (viida) järgi:
GET {MPI}/Patient/1
Accept: application/json
Sõltuvalt Accept päringu väärtuses tuleb vastuseks sõnumi keha JSON või XML vormingus. Näide sektsiooni andmetest minimaalse andmekoosseisuga:
{
"resourceType": "Patient",
"id": "1",
"meta": {
"profile": [
"https://hl7.ee/fhir/StructureDefinition/ee-mpi-patient-verified"
]
},
"identifier": [
{
"system": "https://fhir.ee/sid/pid/est/ni",
"value": "37412251234"
}
],
"active": false,
"name": [
{
"use": "official",
"family": "Tamm",
"given": [
"Tiit",
"Priit"
]
}
],
"gender": "male"
}
Patsiendi otsingu tulemusena tagastatakse Bundle (või teiste sõnadega “ümbrik”), mis võib sisaldada mitu ressurssi (0..n). Järgnevas näites teostatakse otsing Eesti isikukoodi 37412251234 järgi:
GET {MPI}/Patient?identifier=https://fhir.ee/sid/pid/est/ni|37412251234
Enne saatmist peavad kõik erisümbolid olema encode-itud:
GET {MPI}/Patient?identifier=https%3A%2F%2Ffhir.ee%2Fsid%2Fpid%2Fest%2Fni%7C37412251234
Vastusena tuleb (searchset) Bundle mis tagastab metainformatsiooni päringu kohta ja kollektsiooni kahest ressursist (kust eemaldatud patsiendi ressursi sisuline osa):
{
"resourceType": "Bundle",
"type": "searchset",
"total": 2,
"link": [
{
"relation": "self",
"url": "{MPI}/Patient?identifier=https%3A%2F%2Ffhir.ee%2Fsid%2Fpid%2Fest%2Fni%7C37412251234&_page=1"
},
{
"relation": "first",
"url": "{MPI}/Patient?identifier=https%3A%2F%2Ffhir.ee%2Fsid%2Fpid%2Fest%2Fni%7C37412251234&_page=1"
},
{
"relation": "last",
"url": "{MPI}/Patient?identifier=https%3A%2F%2Ffhir.ee%2Fsid%2Fpid%2Fest%2Fni%7C37412251234&_page=1"
}
],
"entry": [
{
"fullUrl": "Patient/1",
"resource": {
"resourceType": "Patient",
"id": "1",
...
}
},
{
"fullUrl": "Patient/2",
"resource": {
"resourceType": "Patient",
"id": "2",
...
}
}
]
}
MPI toetab otsinguid identifikaatori järgi.
Vaata toetavate operatsioonide nimekirja.
Iga FHIR ressurssi muutmine loob ressursist uue versiooni. Varasemate versioonide nimekirja saamiseks kasutada päringut:
GET {MPI}/Patient/1/_history
Ühe kindla versiooni saab kätte päringuga:
GET {MPI}/Patient/1/_history/2
, kus 2 on versiooni number.
MPI pakub võimaluse pärida nimekirja muudetud patsientidest alates kindlast ajahetkest:
GET {MPI}/Patient/_history?_since=2023-03-31&_count=10
Patsiendi andmete saatmiseks PEAB iga FHIR-i ressurss sisaldama ressursi tüüpi (“resourceType”) ja profiili (“meta.profile”). Uue kirje loomisel saab anda kaasa oma infosüsteemi sisemise identifikaatori (“meta.source”).
"resourceType": "Patient",
"meta": {
"profile": [
"https://fhir.ee/StructureDefinition/ee-mpi-patient-verified"
],
"source": "https://my.his.ee/Patient/92837-fdsvsd-3f4gfew-2342dwd"
},
"id": "1"
Profiil on reeglite kogum, mis seotud kindla kasutusjuhuga. MPI toetab tuvastatud ja tundmatu patsiendi registreerimist. Tulevikus võivad lisanduda vastsündinu- ja surnultsündinu- registreerimine. Iga patsiendi lisamisel või muutmisel tuleb määrata vastav profiil.
Patsiendi loomisel/muutmisel tuleb saata päring FHIR-i endpointile, näiteks arenduskeskkonnas aadressile: https://tis.dev.tehik.ee/mpi/fhir/Patient. Päringus tuleb määrata REST päringu päises (Header-is) mitmed tunnused:
Eduka vastuse korral tagastab FHIR server HTTP koodi 20X. Näiteks uue patsiendi loomisel tagastatakse HTTP-kood = “201 Created”. Vastuse päis “Location” sisaldab lingi loodud ressursile.
Location: {MPI}/fhir/Patient/3
Vaikimisi loodud ressursi kehat ei tagastata. Vajadusel saate muuta vaikekäitumist määrates päises “Prefer”. Loogilise vea puhul tuleb koodiga 40X viga. Juhul kui teenus ei ole kättesaadav, tuleb 50X viga. Vead tagastatakse OperationOutcome vormingus. Väli “code” sisaldab tüüpiliselt ühte loogilistest koodidest.