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
FHIR operatsioon on eritegevus, mida ei ole võimalik või väga raske väljendada standardse FHIR süntaksi kaudu. Tegevuse realiseerimine operatsioonina võib olla tingitud teise osapoole (nt xTee andmekogu) käideldavuse tõttu või erilise ligipääsu reeglite tõttu.
Välised allikad, kust MPI andmeid pärib, ei toeta tavaliselt lehekülgede numeratsiooni päringu parameetrina. Seetõttu tagastavad enamus MPI operatsioonidest andmed “collection” tüübi Bundle-ina, mis ei sisalda informatsiooni ridade arvu ega lehekülgede kohta.
Patsientide sidumise ja lahti sidumise loogika ja operatsioonid on seletatud leheküljel.
Välismaalaste otsimiseks või patsientide otsimiseks ilma identifikaatorita tuleb kasutada operatsiooni Patient/$foreigner. Toetavate parameetrite hulka kuuluvad: identifikaatori väljastanud riik, eesnimi, perekonnanimi, sünnikuupäev, sugu ja kontaktandmed.
GET {MPI}/Patient/$foreign?family=smith&gender=male
Vastusena tuleb (collection) Bundle mis tagastab kollektsiooni leitud ressurssidest (ilma metainformatsioonita):
{
"resourceType": "Bundle",
"type": "collection",
"entry": [
{
"resource": {
"resourceType": "Patient",
"id": "1027",
"meta": {
"profile": [
"https://hl7.ee/fhir/StructureDefinition/EEMPI-Patient-Verified"
]
},
"active": true,
"name": [
{
"family": "SMITH",
"given": [
"JAI"
]
}
],
"gender": "male",
"birthDate": "1930-02-20",
"_birthDate": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/patient-birthTime",
"valueDateTime": "1930-02-20T00:00:00+00:00"
}
]
}
}
}
]
}
Andmed erinevatest infosüsteemidest saab pärida Patient/$lookup operatsiooniga. Toetavate parameetrite hulka kuuluvad: identifikaator ja allikas, kust andmeid päritakse. Hetkel toetatakse päringuna:
GET {MPI}/Patient/$lookup?identifier=https://fhir.ee/sid/pid/est/ni|52007010062&source=https://rahvastikuregister.ee
{
"resourceType": "Bundle",
"type": "collection",
"entry": [
{
"resource": {
"resourceType": "Patient",
"id": "3744",
"meta": {
"profile": [
"https://hl7.ee/fhir/StructureDefinition/EEMPI-Patient-Verified"
]
},
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><div class=\"hapiHeaderText\">CARL <b>PEREA </b></div><table class=\"hapiPropertyTable\"><tbody><tr><td>Identifier</td><td>52007010062</td></tr><tr><td>Date of birth</td><td><span>01 July 2020</span></td></tr></tbody></table></div>"
},
"identifier": [
{
"system": "https://fhir.ee/sid/pid/est/ni",
"value": "52007010062"
}
],
"active": true,
"name": [
{
"family": "PEREA",
"given": [
"CARL"
]
}
],
"gender": "male",
"birthDate": "2020-07-01"
}
}
]
}
Sotsiaalsed tunnused päritakse xTee teenuste kaudu ja tagastatakse Observation ressurssidena. Tüüpiliselt tagastatav Observation ressurss ei sisalda “id” väärtust ja peegeldab hetkeseisu situatsiooni. Sotsiaalsete tunnuste operatsioonid pärivad alati andmed allikregistritest (sõltumatu andmete olemasolust vahemälus).
Andmed päritakse $legal-guardian operatsiooniga, mis saab ühe parameetri - viide patsiendile:
GET {MPI}/Patient/$legal-guardian?patient=Patient/3744
ning saab vastuseks Observationi:
{
"resourceType": "Bundle",
"type": "collection",
"entry": [
{
"resource": {
"resourceType": "Observation",
"meta": {
"profile": [
"https://tehik.ee/StructureDefinition/ee-mpi-social-history-legal-guardian-status"
]
},
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "social-history",
"display": "Social History"
}
]
}
],
"code": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "1193838006",
"display": "Legal guardian status"
}
]
},
"subject": {
"reference": "Patient/3744"
},
"effectivePeriod": {
"start": "2020-09-28T00:00:00+03:00"
},
"issued": "2023-04-27T12:58:38.136+00:00",
"performer": [
{
"reference": "RelatedPerson/3746"
}
],
"valueCodeableConcept": {
"coding": [
{
"system": "https://mpi.tehik.ee/rr/legal-capacity-type",
"display": "FIXME"
}
]
},
"note": [
{
"text": "gfhsgadfjsfgdhjk\n"
}
]
}
},
{
"resource": {
"resourceType": "Observation",
"meta": {
"profile": [
"https://tehik.ee/StructureDefinition/ee-mpi-social-history-legal-guardian-status"
]
},
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "social-history",
"display": "Social History"
}
]
}
],
"code": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "1193838006",
"display": "Legal guardian status"
}
]
},
"subject": {
"reference": "Patient/3744"
},
"effectivePeriod": {
"start": "2020-09-28T00:00:00+03:00"
},
"issued": "2023-04-27T12:58:38.350+00:00",
"performer": [
{
"reference": "RelatedPerson/3747"
}
],
"valueCodeableConcept": {
"coding": [
{
"system": "https://mpi.tehik.ee/rr/legal-capacity-type",
"display": "FIXME"
}
]
},
"note": [
{
"text": "gfhsgadfjsfgdhjk\n"
}
]
}
}
]
}
Andmed päritakse $power-of-attorney operatsiooniga, mis saab ühte parameetri - viidet patsiendile.
GET {MPI}/Patient/$power-of-attorney?patient=Patient/3744
ning saab vastuseks Observationi:
{
"resourceType": "Bundle",
"type": "collection",
"entry": [
{
"resource": {
"resourceType": "Observation",
"meta": {
"profile": [
"https://tehik.ee/StructureDefinition/ee-mpi-social-history-legal-guardian-status"
]
},
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "social-history",
"display": "Social History"
}
]
}
],
"code": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "186063005"
}
]
},
"subject": {
"reference": "Patient/3744"
},
"effectivePeriod": {
"start": "2020-09-28T00:00:00+03:00"
},
"issued": "2023-04-27T13:02:32.726+00:00",
"performer": [
{
"type": "RelatedPerson"
}
],
"valueCodeableConcept": {
"coding": [
{
"system": "https://mpi.tehik.ee/rr/guardian-rights",
"display": "täielik isikuhooldusõigus"
}
]
}
}
},
{
"resource": {
"resourceType": "Observation",
"meta": {
"profile": [
"https://tehik.ee/StructureDefinition/ee-mpi-social-history-legal-guardian-status"
]
},
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "social-history",
"display": "Social History"
}
]
}
],
"code": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "186063005"
}
]
},
"subject": {
"reference": "Patient/3744"
},
"effectivePeriod": {
"start": "2020-09-28T00:00:00+03:00"
},
"issued": "2023-04-27T13:02:32.726+00:00",
"performer": [
{
"type": "RelatedPerson"
}
],
"valueCodeableConcept": {
"coding": [
{
"system": "https://mpi.tehik.ee/rr/guardian-rights",
"display": "täielik varahooldusõigus"
}
]
}
}
},
{
"resource": {
"resourceType": "Observation",
"meta": {
"profile": [
"https://tehik.ee/StructureDefinition/ee-mpi-social-history-legal-guardian-status"
]
},
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "social-history",
"display": "Social History"
}
]
}
],
"code": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "186063005"
}
]
},
"subject": {
"reference": "Patient/3744"
},
"effectivePeriod": {
"start": "2020-09-28T00:00:00+03:00"
},
"issued": "2023-04-27T13:02:32.726+00:00",
"performer": [
{
"type": "RelatedPerson"
}
],
"valueCodeableConcept": {
"coding": [
{
"system": "https://mpi.tehik.ee/rr/guardian-rights",
"display": "täielik isikuhooldusõigus"
}
]
}
}
},
{
"resource": {
"resourceType": "Observation",
"meta": {
"profile": [
"https://tehik.ee/StructureDefinition/ee-mpi-social-history-legal-guardian-status"
]
},
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "social-history",
"display": "Social History"
}
]
}
],
"code": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "186063005"
}
]
},
"subject": {
"reference": "Patient/3744"
},
"effectivePeriod": {
"start": "2020-09-28T00:00:00+03:00"
},
"issued": "2023-04-27T13:02:32.726+00:00",
"performer": [
{
"type": "RelatedPerson"
}
],
"valueCodeableConcept": {
"coding": [
{
"system": "https://mpi.tehik.ee/rr/guardian-rights",
"display": "täielik varahooldusõigus"
}
]
}
}
}
]
}
Andmed päritakse $education operatsiooniga, mis saab ühe parameetri - viide patsiendile:
GET {MPI}/Patient/$education?patient=Patient/3744
ning saab vastuseks Observationi
{
"resourceType": "Bundle",
"type": "collection",
"entry": [
{
"resource": {
"resourceType": "Observation",
"meta": {
"profile": [
"https://tehik.ee/StructureDefinition/ee-mpi-social-history-education-level"
]
},
"status": "final",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/observation-category",
"code": "social-history",
"display": "Social History"
}
]
}
],
"code": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "82589-3",
"display": "Highest level of education"
}
]
},
"subject": {
"reference": "Patient/3744"
},
"issued": "2023-04-27T13:11:56.188+00:00",
"valueCodeableConcept": {
"coding": [
{
"system": "https://mpi.tehik.ee/rr/education-level",
"code": "Hariduseta, alusharidus",
"display": "Hariduseta, alusharidus"
}
]
}
}
}
]
}
Operatsioon tagastab Disability objekti.
MPI operatsioonid teostavad päringu algallikasse (registrisse) ning tagastavad vastuse kasutajale ilma andmeid salvestamata MPI andmebaasi. Iga välise registri eest vastutab omaette mikroteenus, mis säilitab päringu vastuse oma vahemälus konfigureeritud ajaks (tavaliselt ühe päeva jooksul). Päring algallikast värskendab andmed vahemälus.
Iga operatsioon mis toetab vahemälu sisaldab parameetri nocache. nocache parameetri vaikimisi väärtuseks on false, s.t. vaikimisi andmed võetakse vahemälust. xTee päringu käivitamiseks ilmutatud kujul nocache väärtuseks tuleb määrata true.