Page merge and unmerge
TIS võimaldab liita patsiente. Selleks kasutatakse PRPA_IN201102UV01_PatientLivingSubject_Information_Revised_dublikaadid sõnum. Hetkel TIS ei paku lahti sidumise teenust.
Selleks, et tagada sarnast funktsionaalsust upTIS Patsiendi Registris tuleb võta kasutusele FHIR operatsiooni http://hl7.org/fhir/OperationDefinition/Patient-merge. NB! Hetkel operatsioon kuulub R5 komplekti ja peab olema importitud R4 serverisse manuaalselt.
FHIR spetsifikatsiooni merge operaatori kirjeldus ütleb "This is not an idempotent operation", ühtlasi see tähendab et lahti sidumine (unmerge) ei ole võimalik ning unmerge operatsiooni puudumine spetsifikatsiooni kinnitab seda väidet. FHIR spetsifikatsioon ütleb, et merge operatsiooni tulemusena tuleb ülekäia kõik ressuursid kõikides FHIR repositooriumitest ja muuta lingid "source" patsiendist "target" patsiendi peake, kus "target" on "surviving patient resource". Selline lähenemine ei ole võimalik hajutatud keskkonnas, kus MPI opereerib omaette moodulina ilma teiste (tihti peale veel mitte eksisteerivate) repositooriumite teadmata. Sama moodi "hard" linkimine, kus ühe patsiendi andmed "kaovad" ära võib tekkitada probleemi TTO-dele kes on liidestanud ennast upTIS-iga ning võivad mitte teada kliinilise informatsiooni liitmisest (s.t. et päring kliiniliste andmete vastu täna ja homme võib anda erinevad tulemused).
Vastupudi vaikimisi FHIR implementatsioonile planeeritavas Patsiendiregistris operatsioon $merge saab olema idempotentne, ning tekkib ka võimalus $unmerge ehk lahti sidumiseks. Patsiendi sidumise algoritm kirjeldatud spetsifikatsioonis
Merge
Structure definition URI: http://hl7.org/fhir/OperationDefinition/Patient-merge
URL in FHIR: [base]/Patient/$merge
Täpne kirjeldus https://build.fhir.org/patient-operation-merge.html
Merge operatsiooni tulemusena tekkivad uued kirjed tabelis
Unmerge
Unmerge operatsioon puudub FHIR spetsifikatsioonis ja peab olema arendatud custom operatsioonina.
Structure definition URI: http://hl7.org/fhir/OperationDefinition/Patient-unmerge
URL in FHIR: [base]/Patient/$unmerge
In Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
source-patient | 0..1 | Reference(Patient) |
|
|
A direct resource reference to the source patient resource (this may include an identifier) |
source-patient-identifier | 0..* | Identifier |
|
|
The Identifier(s) of the source patient resource; all of these identifiers MUST be present in the located resource (in addition to the one included in the resource reference above - if included) (The purpose of this property is to ensure that the correct source patient resource is selected) |
target-patient | 0..1 | Reference(Patient) |
|
|
A direct resource reference to the target patient resource This is the target for the unmerge. As result target patient become an "active" patient (Patient.active → true) |
target-patient-identifier | 0..* | Identifier |
|
|
The Identifier(s) of the target patient resource; all of these identifiers MUST be present in the located resource (The purpose of this property is to ensure that the correct source patient resource is selected) |
Out Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
return | 1..1 | Bundle |
|
|
A bundle contain a set of Patient records that represent information from requested source(s). Optionally it may also contain an OperationOutcome with further information about the search results (such as warnings or information messages, such as a count of records that were close but eliminated) If the operation was unsuccessful, then an OperationOutcome may be returned along with a BadRequest status Code (e.g. security issue, or insufficient properties in patient fragment - check against profile). |
Linkide kasutamine FHIR serveris
Tüüpiline päring FHIR serveris Observation ressurssi vastu näeb välja nii
, kus 123 ja 789 on patsiendi refererence-id (või teiste sõnadeda patsiendi id MPI-s). Oletame, et esimesel patsiendi on identifikaator UK123 ja teisel on EE789. Siis päring identifikaatori kohta annab samad tulemused.
Peale patsientide sidumist
Esimene patsient muutub mitte aktiivseka ja tal tekkib link teisele patsiendile koos tunnusega, et ta on asendatud
ning teisel patsiendil tekkib link esimesele patsiendile koos tunnusega, et ta on seda asendanud
Antud muudatused ei muuda andmed lähteregistritest, st et päringud id järgi endiselt annavad samu tulemusi
Kuid tänu sidumisele päring identifikaatori järgi leiab mitte ühte patsiendi id vaid kahte. Ning päring nii ühte kui teise identifikaatori järgi tagastab sama andmehulka
Juhul kui sidumine oli tehtud ekslikult ja neid kahte patsiente tuleb lahti ühendada siis kasutatakse unmerge operatsioon
selle tulemusena lingid kahe patsiendi vahel kustutatakse ära ning source patsient (123) muutub uuesti aktiivseks. Ühtlasi Observation päringud identifikaatorite järgi tagastavad uuesti 3 kirjet Patient/123 puhul ja 5 kirjet Patient/789.