User Tools

Site Tools


fmk:generel:extensions_til_services

Extensions til FMK services

:!: Bemærk: Denne side har til formål at beskrive konceptet med extensions til FMK snitflader. Indholdet på denne side er fiktiv og har kun til formål at illustrere hvad extensions er og hvordan de udvider eksisterende snitflader. For oversigten over faktiske extensions se Oversigt over extensions

FMK har i dag (2015-12-01) 4 snitflader i produktion, FMK 1.2.6, 1.4.0, 1.4.2 og 1.4.4. Desuden arbejdes der i øjeblikket på FMK 1.4.6. Behovet for at kunne udvikle FMK er imidlertid større end behovet for at integrere nye FMK versioner i alle systemer. Der har været drøftet forskellige forslag til, hvordan denne udfordring kan løses. Et af disse forslag omhandler ”extensions”, der muliggør at implementere ny funktionalitet i ældre snitflader, således at specifikke features af nye snitflader, kan implementeres i ældre, allerede frigivne snitflader. Det vil ikke kun være FMK snitfladen, der kan udvides med extensions, men også snitfladerne for POR, EO, TAS og DDV.

I det følgende beskrives det hvorledes extensions virker og hvad der kan forventes af extensions. Bemærk dette er en beskrivelse af extension, og det nævnte indhold i beskrivelsen har kun til formål at beskrive konceptet og ikke de extensions der faktuelt er eller bliver implementeret.

Versionering af extensions

FMK snitfladerne er versionerede med et versionsnummer f.eks. 1.4.2. Dette versionsnummer er ikke teknisk implementeret noget sted, men versionen er associeret med en eller flere specifikke SOAPActions. Det kaldende system angiver i SOAPAction headeren, hvilken FMK version der anvendes. Sammenhængen mellem den tekniske SOAPAction og den logiske FMK version beskrives i snitfladen på http://wiki.fmk.netic.dk/doku.php?id=fmk:generel:versionering_af_services. Pt. ser oversigten for 1.4.x versionerne således ud:

Med extensions kunne ovesigten se således ud:

Som det fremgår af ovenstående tabel, er det ikke alle extensions, der implementeres i alle snitflader. En extension, f.eks. E2 indeholder et bestemt sæt at features, f.eks. ”dosisdispenserings markering på medicinkort”. Der vil i snitfladebeskrivelserne blive vedligeholdt en oversigt over, hvad hver extension indeholder af features. Oversigten vil være i form af en tabel. Nedenstående tabel er kun for at illustrere, hvordan oversigten kunne se ud. Indholdet af de enkelte extensions er på ingen måde fastlagt på nuværende tidspunkt.

Extension Funktionalitet
E1 Support for eCPR i FMK, EO, POR, TAS og DDV
E2 Dosisdispenderings markering i medicinkort
E3 Datoer og historik i POR

Hvis en snitflade er udvidet med flere extensions, vil senere extensions også indeholde features i tidligere extensions.

Hvis FMK 1.4.2 er blevet udvidet med E1 og E3, vil extension E3 også indeholde features fra E1. Det er således ikke muligt at implementere E3 uden også at implementere E1. I ovennævnte eksempler, vil det på FMK 1.4.2 ikke være muligt at implementere E3, og således få ”datoer og historik i POR”, uden også at implementere eCPR. På FMK 1.4.0 hvor E1 ikke er en mulighed, vil E3 kun indeholde ”datoer og historik i POR”.

Whitelisting af extensions

Klientsystemer godkendes til extensions via whitelisting på samme måde som for standard snitfladerne godkendes. I AdmGUI knyttes hvert systems navn og version, med en bestemt snitflade.

Når der indføres nye features i en allerede frigivet snitflade, sker det ved, at der indføres et fjerde “ciffer” i versionen, således at hvis man vil bruge en ny feature i FMK 1.4.2, skal man implementere FMK 1.4.2.E1, som så er associeret med SOAPAction http://www.dkma.dk/medicinecard/xml.schema/2013/06/01/E1#

Tager man en extention i brug SKAL hele indholdet af denne extention anvendes. Hvis f.eks. FMK 1.4.2.E1 inderholer en udvidelse af HentMedicinkort og HentMedicinkortVersion, skal begge services implementeres, og forsøg på at kalde en af disse services i en FMK 1.4.2 vil fejle.

WSDL og skemaer med extensions

Hver extension får en dedikeret WSDL med tilhørende skemaer. Disse frigives separat, hvor ændringer er indført i de services det er nødvendigt for at understøtte featuren. De services, der ikke er ændret vil også være i WSDL’en, men med den/de oprindelige SOAPActions.

Dokumentation af extensions

Dokumentationen af disse nye features i snitfladen, indføres i snitfladen, med en markering af, at denne feature kun er gældende i en senere version, f.eks. vil siden http://wiki.fmk.netic.dk/doku.php?id=fmk:1.4.2:hent_medicinkort blive ændret således at

bliver til følgende såfremt eCPR er indført i FMK 1.4.2.E1

Certificering af extensions

Certificeringskrav ændrer sig løbende og de krav som var gældende da et FMK 1.4.0 system blev certificeret, er ikke de samme krav, som et system skal certificeres efter i dag. Hvis et system bestemmer sig for at tage en extension i brug, vil certificeringen kun omfatte de krav, der er forbundet med de nye features. Ofte bør det være muligt, at leverandøren gennemfører en automatisk certificeringstest, eventuelt suppleret med screenshots. Når en feature, som eCPR, bliver implementeret som en extension (f.eks. som E1) i tidligere versioner, skal der følge et tillæg til de oprindelige godkendelseskriterier og testark, der kun omfatter krav til denne extension. Samtidig skal der til automatisk certificeringstests implementeres et testsæt, der tester den/de features, her eCPR, der er medtaget i den pågældende extension.

Når certificeringen er godkendt whitelistes systemet på sædvanlig vis til at anvende den pågældende extension, og først der kan den anvendes i produktion.

fmk/generel/extensions_til_services.txt · Last modified: 2016-06-07 22:34 by els