Opslag på medicinkort ældre end to år er ikke tilladt.

Started by Christian S. Carlsen, 2011-10-17 09:40:33

Previous topic - Next topic

Christian S. Carlsen

Hej

Vi har i testsystemet på triforfaellestest en patient (0401010004) en situation hvor medicinkortet er mere end to år gammelt.
Når vi forsøger at synkronisere hans medicinkort så får vi fejlen: Opslag på medicinkort ældre end to år er ikke tilladt.
Det er sådan set fair nok da FMK kun opbevarer data i to år.

Spørgsmålet er så, hvordan finder vi nemmest frem til den medicinkortsversion han havde for to år siden?
Vi kan selvfølgelig hente et medicinkort ud fra en given dato og deraf udlede medicinkortsversionen, det er bare ikke så effektivt.

Kunne man forstille sig at GetMedicinecardVersion metoden blev udvidet så man også kunne sende en dato med?

M.v.h.
Christian


Tom Kückelhahn Nilson

Hej Christian

Vi overvejer at forbedre mulighederne for at hente information omkring oprettelser/ændringer på FMK, se http://www.fmk-teknik.dk/index.php?topic=36.0

Ud over de andre fordele "versionering med events" giver skulle det f.eks. også være muligt at hente det første "opret" eller "opdater" kald siden "i dag minus to år".

Ḿvh Tom

Christian S. Carlsen

Hej Tom

Det er faktisk ikke så ligetil at få hentet det gældende medcinkort for to år siden og frem.
Spørger jeg f.eks. på patientens medcinkort for to år siden så returneres version 8.

Beder jeg så efterfølgende om versionerne 8,9,10 osv. så får jeg fejlen:Opslag på medicinkort ældre end to år er ikke tilladt.
Det kan jeg så håndtere ved at bede om version 9,10 osv. men det er dælme ikke effektivt.

Er der en smartere måde at gøre det på?

M.v.h.
Christian

Tom Kückelhahn Nilson

#3
Hej Christian

I dag burde det kunne gøres på to måder:


  • Ved at hente den aktuelle version og herefter de tidligere versioner enkeltvis. Dvs. hvis "hent aktuelt medicinkort" returnerer version 10 hentes version 9, 8, 7, ... enkeltvis indtil der returneres en version systemet kender i forvejen, eller der spørges på en version ældre end to år.


  • Ved at hente aktuelle medicinkort, herefter at hente medicinkort som det så ud for to år siden (med angivelse af dato i requestet). Herved kender systemet det interval af medicinkort-versionsnumre der kan returneres.
Bemærk dog at de fortløbende versionsnumre med stor sandsynlighed kommer til at blive erstattet af "noget andet". Det skyldes at FKM for at sikre en meget høj oppetid engang i fremtiden vil blive et distriberet system. Herved er der ingen sikker måde at et cluster kan generere "næste nummer", uden at der er en lille risiko for at et andet cluster næsten samtidigt også genererer samme "næste nummer".

Dette "noget andet" vil sandsynligvis blive et ikke fortløbende versionsid, en relation til forrige version, og en "versionering med events". Hvis vi indfører "versionering med events" som beskrevet i dokumentet i linket i min tidligere post, så vil du kunne slå den ældste tilgængelige version op med et request i retningen af:


<EventRequest>
<CPR>1111111118</CPR>
<FromTimestamp>2009-10-17T11:00:00</FromTimestamp>
<ToTimestamp>2999-01-01T00:00:00</ToTimestamp>
<Limit>1</Limit>
</EventRequest>


Der mangler dog en "order by" angivelse, som sikrer at det er det ældste event der returneres, og ikke det seneste, dette element er ikke beskrevet i ideoplægget.

Mvh Tom