Upload
duongminh
View
215
Download
0
Embed Size (px)
Citation preview
Patientsikkerhedsadvarsler webservices
Dokumentation
Version 1.0.0
2
Indhold Indledning ............................................................................................................................... 3
Kontantpersoner ................................................................................................................. 3
Retningslinjer og anbefalinger for anvendelse ....................................................................... 5
Tilgang til advarslerne ......................................................................................................... 5
En advarsel består af .......................................................................................................... 5 Eksempler på anvendelse .................................................................................................. 6
Passiv advarsler i form af ikon ved lægemiddelnavnet ................................................... 6 Aktiv beslutningsstøtte i form af advarsler enten blokerende eller som pop op-advarsler
........................................................................................................................................ 8
Teknologi ................................................................................................................................ 9 Struktur og data .................................................................................................................. 9
Serviceparametre ............................................................................................................ 9 Warningservices ................................................................................................................. 9
Eksempler på kald: ........................................................................................................ 10
Returfelter ......................................................................................................................... 11 Advarselsikoner: ............................................................................................................ 12
Status og fejlmeddelelser ..................................................................................................... 14
Appendiks D: Versionshistorik .............................................................................................. 15
3
Indledning Dette dokument beskriver de web-services, som stiller et faglig grundlag vedrørende
Patientsikkerhedsadvarsler til rådighed for eksterne partnere. Den returnerede XML
muliggør, at eksterne partnere kan udvikle egne præsentationslag af advarslerne, enten
som information til de relevante præparater eller som beslutningsstøtte i forbindelse med
ordinationer eller administration/udlevering af de pågældende lægemidler. Hvordan det
faglige grundlag anvendes og implementeres er op til de enkelte regioner/hospitaler,
praktiserende læger og apoteker.
DLIs web-services med patientsikkerhedsadvarsler er baseret på adgangsstyring via
kendte IP-adresser. I forbindelse med den kontrakt, der indgås, skal der derfor oplyses
den/de (evt. interval af) IP-adresse(r), som vil blive anvendt ved kald af DLIs web-services.
Hvilke web-services/forespørgsler (metoder) en konkret IP-adresse giver adgang til, er
bestemt ud fra den kontrakt, der er indgået med DLI om dette.
Der kan evt. udstedes en midlertidig adgang til testsystemet baseret på et
userid/password.
Dette dokumentet beskriver, hvilke data der stilles til rådighed, hvordan data tilgås, og
hvilke anbefalinger DLI stiller til anvendelse og præsentation af disse data. Eventuelle krav
fra DLI A/S´s side til præsentation af data vil fremgå af kontrakten.
DLIs webservices er udarbejdet i overensstemmelse med data og telestyrelsens
anbefalinger (OIO-NDR version 3.2) og derudover er det forsøgt at anvende samme
navngivning som i Det Fælles Medicinkort (FMK), de steder, hvor det er relevant.
Der stilles krav om at systemer der tilgår DLI´s webservices understøtter og anvender gzip
eller deflate encoding.
Kontaktpersoner
Navn: tlf: email:
Anette Petersen Udviklingschef 39 15 09 63 [email protected]
Randi Jørgensen Projektleder 39 15 09 90 [email protected]
Peter Madsen Softwarearkitekt 39 15 09 97 [email protected]
Jørgen Nielsen Direktør
Produktinformation
39 15 09 83 [email protected]
4
Risikolægemidler og fejlmedicinering
Informationerne og advarslerne er udarbejdet for de indholdsstoffer, hvor der hyppigst
bliver begået alvorlige medicineringsfejl i Danmark. De lægemidler der hyppigst er
involveret i alvorlige medicineringsfejl betegnes her som risikolægemidler.
Formålet er igennem information og advarsler, at oplyse om de mest alvorlige
medicineringsfejl i Danmark og medvirke til at forebygge mod de gentager sig. Ved
alvorlige fejl forstås fejl som er livstruende, medfører død, alvorligt funktionstab eller akut
indlæggelse (Sac score 3).
I udarbejdelsen af informationen er der taget udgangspunkt i Sundhedsstyrelsens
TemaRapport 2007 om risikomedicin (www.sst.dk) og fokuseret på de præparater, som har
været involverede i faktuelle SAC 3 hændelser (hændelser, som medfører død, alvorligt
funktionstab eller akut indlæggelse).
Andre anvendte kilder er Sundhedsvæsenets Patientklagenævn (www.pkn.dk) og de sager,
hvor de pågældende lægemidler har været involveret i en fejlmedicinering med alvorlige
konsekvenser.
Kun relevante advarsler for hvert enkelt præparat er medtaget. Dvs. at findes et præparat
kun i en enkelt dispenseringsform (fx som plastre), medtages advarsler vedrørende
fejlberegninger af injektionsvæsker (med samme indholdsstof) ikke.
Da information og advarsler om lægemidler er et dynamisk felt i konstant udvikling, holder
vi os løbende orienteret om nye og kommende faktuelle medicineringsfejl gennem
nyhedsbreve fra Sundhedsstyrelsens Patientsikkerhedsdatabase, årsrapporter,
patientklagenævnet og det redigerede www.trygpatient.dk (nu www.sikkerpatient.dk).
Arbejdet med patientsikkerhed fortsætter både i Medicin.dk-regi, men også med eksterne
samarbejdspartnere. Vi sidder med i arbejdsgruppen under Lægemiddelstyrelsen, som
udarbejder en større national liste over risikolægemidler. Den vil være bredere i sit sigte
end information og advarsler vedr. risikolægemidler og fejlmedicinering fra Medicin.dk, idet
den også vil indeholde lægemidler med særlig problemfyldt farmakokinetik og compliance.
Information og advarsler vil blive opdateret i takt med, at nye hændelser offentliggøres.
De hyppigste kategorier af medicineringsfejl fra sygehuse registreret i Dansk
Patientsikkerheds Database er:
forkert dosis
forkert præparat
ingen medicin
forkert patient
forkert tidspunkt
medicin trods allergi
forkert administrationsvej
Det mest almindelige resultat for patienten ved rapporterede medicineringsfejl er
overdosering.
5
Retningslinjer og anbefalinger for anvendelse DLI stiller med denne webservice et faglig grundlag til rådighed, der enten kan anvendes
som information til de relevante præparater eller som beslutningsstøtte i forbindelse med
ordinationer eller administration/udlevering af de pågældende lægemidler. Nedenfor vil der
være en gennemgang af hvordan man tilgår patientsikkerhedsadvarslerne, hvad en
advarslen består af, og forslag til hvordan de kan præsenteres.
Tilgang til advarslerne For at hente aktuelle patientsikkerhedsadvarsler bruges servicesene: PatientSafetyService.
Dette sker ved onlinekald. Tilgængelig data opdateres så vidt muligt i overensstemmelse
med takstopdateringerne. Dvs hver 14. dag. Det er derfor altid aktuel data og de aktuelle
drugid/varenumre der er tilgængelig.
PatientSafetyService.svc har 3 metoder til at hente data via forskellige inputparametre.
Det drejer sig om følgende:
Varenummerniveau(PackageNumberIdentifier) returnerer samtlige advarsler på
præparatet som det pågældende varenummer tilhører. Advarslerne er sorteret efter
drugid.
Drugidniveau(DrugIdentifier) returnerer samtlige advarsler på præparatet som det
pågældende drugid tilhører. Advarslerne er sorteret efter drugid.
Drugidniveau(DrugIdentifier) kombineret med en fejltype. Denne metode returnerer
kun advarsler der tilhører den givne drugid og som har den oplyste fejltype.
Oplysninger, om hvilke varenumre(PackageNumberIdentifier)/drugid´s(DrugIdentifier), der
hører til hvilket præparat, gives i taksten og varenumrene(PackageNumberIdentifier) er
desuden at finde på medicinpriser.dk
En advarsel består af
Hver præparat har tilknyttet en til flere advarsler. Advarslerne er knyttet op på drugidniveau.
Dvs. der kan være koblet et til flere drugid´s til hver advarsel alt efter hvor mange af
præparatets drugid´s advarslen hører til. Dette muliggøre følgende senarie:
Et præparat med tre drugid´s har sammenlagt koblet tre advarsler op. To af advarslerne
gælder for alle tre drugid´s, og de er derfor alle tre tilkoblet advarslerne. Derimod gælder
den sidste advarsel kun to af drugidentifierne, hvorfor der kun er koblet to drugid´s til
advarslen. Alt efter om det ønskes at vise patientsikkerhedsadvarsler på præparatniveau,
drugidniveau eller varenummerniveau, er det derfor vigtigt at sortere i det returnerede
resultat alt efter hvad der ønskes.
For at få en komplet korrekt advarsel er det derfor vigtigt, at de forskellige dele af advarslen
sættes sammen korrekt. En advarsel består af følgende:
<PatientRiskTypeText> er en kort beskrivelse af hvilken risikotype advarslen har. Det kan
fx være "Fejldosering"
<PatientErrorTypeIndicator> er et tal mellem 1 og 4, som indikerer de forskellige
fejltyper. Se de forskellige fejltyper i tabel 1:
6
<PatientErrorTypeText> er en kort beskrivelse af hvilken fejltype, den aktuelle
patientsikkerhedsadvarsel. Det kan fx være "Ordinationsfejl". På denne måde kan man
fra/tilvælge de advarsler, som er aktuelle i den givne situation. Ordinationsfejl vil fx ikke
være aktuelle i adminiatrationsøjeblikket, dvs på sygeplejerskens brugergrænseflade. Se
de forskellige fejltypetekster i tabel 1.
Fejltype <PatientErrorTypeIndicator> svarer til <PatientErrorTypeText>:
1 Ordinationsfejl
2 Administrations/dispenseringsfejl
3 Administrationsfejl/Compliance
4 Dokumentationsfejl
Tabel 1: Liste over de 4 fejltyper
<PatientErrorDescriptionShortText> er en kort advarselstekst, som beskriver hvad
patientsikkerhedsadvarslen går ud på. Denne tekst er beregnet til at kunne bruges til alt
tekster eller lignende.
<PatientErrorDescriptionText> er en fuld advarselstekst. Som beskrive hvad den givne
patientsikkerhedsadvarsel går ud på.
<PatientConsequenceText> er en beskrivelse af hvad de observerede konsekvenser har
været for den handling som patientsikkerhedsadvarslen går ud på.
<UsedReferencesIdentifiers> informerer om hvilke referencer der er anvendt til
den enkelte advarsel.
<ReferenceTitleText>, <ReferenceAuthorName>, <ReferenceSourceText>,
<ReferenceYearText>, <ReferenceVolumeNumberText> og <ReferencePagesText> giver
tilsammen en reference. Det er dog ikke altid at alle enhederne indeholder data. Der kan
være 1 til flere referencer på en advarsel. Det er valgfrit om man ønsker, at inkludere
referencerne i en Patientsikkerhedsadvarsel.
Eksempler på anvendelse Hvordan det faglige grundlag anvendes og implementeres er op til de enkelte
regioner/hospitaler, praktiserende læger og apoteker. Dog er der i nedenstående nogle
retningslinjer og eksempler på, hvorledes patientsikkerhedsadvarslerne kan anvendes.
Passiv advarsler i form af ikon ved lægemiddelnavnet En passiv advarsel kunne fx være, at der placeres et advarselsikonet ved siden af
lægemiddelnavnet i forbindelse med en ordination eller ved
administrationen/dispenseringen. Disse lister kunne være sorteret således at det kun er
Der desuden lavet et ikon som kan kobles på risikolægemiddeladvarslerne.
Billedikonet i servicen er en binær billedfil). Ikonet hentes både i 32x32 eller
64x64.
7
advarsler med bestemte fejltype som vises i forbindelse med ordinationen, og advarsler
med andre fejltyper der vises i forbindelse med administrationen..
Følgende eksempel tager udgangspunkt i præparatet Digoxin "DAK", dvs. det returnerede
data til metoden GetByDrugIdentifier når der kaldes ind med et af Digoxin "DAK"´s
drugid´s: 28100709776 og 28100709876. For Digoxin "DAK" kunne en advarselstekst i
ordinationsvinduet se ud som på figur 1.
Digoxin ”DAK” tabl. 62,5 mikg 183400
Digoxin ”DAK” tabl. 250 mikrogram 183434
Præparatnavn Dispform & Styrke Varenummer Ikoner
Fejlagtig fortsat med mætningsdosis
Overset prøvesvar
Overset seponering
Figur 1: Eksempel på passiv advarsel i ord øjeblikket incl. mouseover tekst der fortæller om advarslens indhold
Bemærk at der faktisk er 4 advarsler på hvert af Digoxin "Dak"´s drugid´s, men at der kun
vises tre advarsler. Dette skyldes, at 1 af dem har fejltypen: Administration/compliance. Så
vil denne kun være forstyrrende i ordinationsvinduet.
Idet mouseover teksten kun er en kort beskrivelse af advarslen vil et tryk på ikonet lede
frem til en fuld advarselsbeskrivelse. Se figur 2.
Figur 2: En fuld fejlbeskrivelse
8
Ved denne visning kan det vælges om der kun skal vises de advarsler der er knyttet til det
valgte drugid/varenunmer, eller om det skal være en visning af samtlige advarsler på
præparatet.
Aktiv beslutningsstøtte i form af advarsler enten blokerende eller som pop
op-advarsler
Det faglige informationsgrundlag er bygget op således, at den korte advarselstekst er
adskilt fra den uddybende information advarslen. Samtidig er advarslerne typeinddelt i form
af <PatientErrorTypeIndicator>. Dette giver mulighed for kun at anvende eksempelvis de
advarsler, der har med en given situation at gøre fx. administrations-/dispenseringsfejl.
Advarslerne kan så anvendes så de enten blokerer en administration med en pop-up, og
administrationen kan først godkendes efter at der er trykket "ok" til advarslen. Tanken er at
advarslerne kun fremkommer i de brugssituationer hvor advarslen er relevant og i tilfælde
af advarslen ikke gælder alle præparatets drugid´s skal den kun komme på de relevante.
Det er i den forbindelse dog vigtigt at overveje, om patientsikkerhedsadvarslerne i alle
situationer er velegnede til at fungerer som pop-op advarsler eller blokerende advarsler.
Denne overvejelse er især vigtig på de lægemidler som er hyppigt anvendt, da for mange
pop-op´s kan give anledning til alarmtræthed. Specielt set i sammenhæng med den
mængde advarsler, som systemerne i øvrigt kan genere.
9
Teknologi Webservicesene, som leverer Patientsikkerhedsadvarslerne, er udviklet i Microsoft .Net 4.0
med WCF (Windows Communication Foundation).
Der stilles krav om at systemer der tilgår DLI´s webservices understøtter og anvender gzip
eller deflate encoding.
Struktur og data Alle services kan tilgås via 2 interfaces: Et SOAP-baseret interface og et REST-baseret
(http GET) interface.
Den SOAP-baserede produktion-service har følgende adresse:
http://webservices.medicin.dk/V1/WarningServices/PatientSafetyWarnings/PatientSafetySe
rvice.svc/
Test-udgaverne af de samme serviceadresser (som kan autoriseres vha
username/password) har “Test/” efter servicenavnet, før metodenavnet.
Serviceparametre Service-parametrene er opdelt på følgende måde (vist som en REST http-Get Url):
Domæneadresse/version/WarningServices/serviceområde/(Test)/servi
ce/interface/metode/parameter(/parameter/…)
Hvor
Domæne er http://webservices.medicin.dk
Version er pt. ”v1” for alle services, dvs. version 1. Over tid vil flere services komme i nye
versioner.
ServiceOmråde er ” PatientSafetyWarnings”
Interface kan være ”soap” eller ”rest”.
Test: Anvendes hvis man ønsker at anvende test-services, hvor der kan anvendes
username/password til autorisation. Ellers udelades denne del af serviceadressen.
Service, metode og parameter – Her følger en oversigt over hvilke services og tilhørende
metode med deres parametre, som eksisterer i version 1. For alle beskrivelser gælder, at
hvis man anvender test-services har de 2 parametre før de(n) parameter, som er angivet
for den konkrete metode, det er : {USRNAME} og {PASSWORD}, altså
../{USERNAME}/{PASSWORD}/{PARAMETER1}/{PARAMETER2}/…
Warningservices Patientsikkerhedsadvarsler er en af DLI´s advarselsservices og den hører derfor til
serviceområdet ”WarningServices” under navnet ”PatientSafetyWarnings”.
”PatientSafetyWarnings” har følgende metoder/parametre:
1. Service: PatientSafetyService.svc: Fremfinder en patientsikkerhedsadvarsel.
Advarslen kan hentes på tre måder: via drugid eller via varenummer.
o Metode: GetByDrugIdentifier
Parameter: DrugIdentifier (DrugId)
Parameter: True/False (include images)
10
o Metode: GetByPackageNumberIdentifier
Parameter: PackageNumberIdentifier (Varenummer)
Parameter: True/False (include images)
o Metode: GetByDrugIdentifierAndPatientErrorTypeIndicator
Parameter: DrugIdentifier (DrugId)
Parameter: True/False (include images)
Parameter: PatientErrorTypeIndicator(Fejltype)
I forbindelse med den sidste metode skal man kende nummeret på den fejltype man ønkser
at kalde med. Der findes 4 forskellige, og de er vist i tabel 2:
Fejltype <PatientErrorTypeIndicator> svarer til <PatientErrorTypeText>:
1 Ordinationsfejl
2 Administrations/dispenseringsfejl
3 Administrationsfejl/Compliance
4 Dokumentationsfejl
Tabel 2: Liste over de 4 fejltyper
Eksempler på kald: I det nedenstående er givet et par eksempler på kald ved bruge af forskellige metoder.
Samt en kort forklaring af resultatslisten.
Kald med metoden: GetByDrugIdentifierAndPatientErrorTypeIndicator
http://webservices.medicin.dk/V1/WarningServices/PatientSafetyWarnings/PatientSafetySe
rvice.svc/rest/GetByDrugIdentifier/28101656385/true
Som det kan ses Indeholder resultatslisten samtlige advarsler på præparatet (Morfin
"SAD"), også de advarsler som ikke gælder for det kaldte drugid (28101656385). Hvis der
kun skal vises resultater på det pågældende drugid, skal resultatslisten sorteres efter
drugid(AppliesToDrugIdentifier) i efterbearbejdningen.
Kald med metoden: GetByDrugIdentifierAndPatientErrorTypeIndicator
http://webservices.medicin.dk/V1/WarningServices/PatientSafetyWarnings/PatientSafetySe
rvice.svc/rest/GetByDrugIdentifierAndPatientErrorTypeIndicator/28101656385/true/2
Her kaldes med samme drugid som det første eksempel kombineret med
fejltype(PatientErrorTypeIndicator) = 2. Dette kald returnerer ingen advarsler, idet der ikke
er nogle advarsler med fejltype(PatientErrorTypeIndicator) = 2 på dette drugid. Var
metoden derimod blevet kaldt med drugidet (28101656885) ville der returneres to advarsler
hvor fejltypen = 2.
11
Returfelter I den nedenstående tabel vil der være en beskrivelse af de enkelte returfelter i XMLén:
Tag-navn Indhold Atributter Parent-tag
<DLIDrugDescripti
onIdentifier>
DLI´s
egntpræpar
atnummer
<DrugName> Præparatet
s
handelsnav
n
<CombinationIndic
ator>
Indikation
om
præparatet
er et
kombination
spræparat
<PatientSafetyWar
ningStructure>
<PatientSafetyWarningStructures>
<PatientRiskType
Indicator>
<PatientSafetyWarningStructure>
<PatientRiskTypeT
ext>
<PatientSafetyWarningStructure>
<PatientErrorTypeI
ndicator>
<PatientSafetyWarningStructure>
<PatientErrorTypeT
ext>
<PatientSafetyWarningStructure>
<PatientErrorDescr
iptionShortText>
<PatientSafetyWarningStructure>
<PatientErrorDescr
iptionText>
<PatientSafetyWarningStructure>
<PatientConsequen
ceText>
<PatientSafetyWarningStructure>
<UsedReferencesId
entifier>
<PatientSafetyWarningStructure>/<U
sedReferencesIdentifiers>
<AppliesToDrugIde
ntifier>
<PatientSafetyWarningStructure>/<A
ppliesToDrugIdentifierStructure>
<ReferenceStructu
re>
ReferenceI
dentifier
<ReferenceStructures>
<ReferenceAuthor
Name>
Forfatter(e) <ReferenceStructure>
<ReferenceTitleTex
t>
Titel på
reference
<ReferenceStructure>
<ReferenceSource Kilde <ReferenceStructure>
12
Text>
<ReferenceYearTex
t>
år <ReferenceStructure>
<ReferenceVolume
NumberText>
volumenr <ReferenceStructure>
<ReferencePagesT
ext>
sidehenvisn
ing
<ReferenceStructure>
<ActiveSubstanceS
tructure>
<ActiveSubstanceStructures>
<ActiveSubstanceT
ext>
Præparatet
s
indholdsstof
(fer)
<ActiveSubstanceStructure>
<AppliesToDrugIde
ntifier>
<ActiveSubstanceStructure>/<Applie
sToDrugIdentifiers>
<CompanyName> Producente
ns navn
(Firmanavn)
<ATCCode> Produktets
ATC-koder/
ATC-kode
<ATCCodes>
<DrugFormStructu
re>
Produktets
DrugID/Dru
gIDs
DrugIdentifi
er
<DrugFormStructures>
<DrugFormText> Dispenserin
gsform
<DrugFormStructure>
<DrugStrengthAnd
UnitText>
styrke og
enhed
<DrugFormStructure>
<PackageStructure
>
<PackageStructures>
<PackageNumberI
dentifier>
Varenumm
er
<PackageStructure>
<DliPackageInfor
mationText>
Tekst
forbundet
med en
pakning
<PackageStructure>
<WarningImage> Image incl
info om info
type. Er kun
fyldt ud hvis
det vælges
at få
returneret
image
(True/false)
ImageType,
Imagesize
og
ImageCont
ent
<WarningImages>
Advarselsikoner: Advarselsikonerne leveres som gif-images og er base64-encodede i den returnerede xml.
13
14
Status og fejlmeddelelser Input-parametre bliver valideret og der kastes en exception, hvis der er fejl i input.
Ligeledes kastes en exception, hvis man kalder en service/metode, som man ikke er
autoriseret til.
Hvis man anvender SOAP-interfacet kastes SOAP-exceptions, hvis man anvender REST-
interfacet får en en http-status code tilbage, ”500” (UnAuthorized)hvis man ikke er
autoriseret og ellers en ”400” (Bad Request). Når man får en ”400” tilbage stå der en
uddybende information i headeren svarende til nedenstående tabel over mulige fejlkoder:
Fejlkode Betydning
500 UnAuthorized
600 InvalidDliDrugIdentifier
602 InvalidDrugIdentifier
604 InvalidPackageNumberIdentifier
606 InvalidMediaIdentifier
700 EntityNotFound
702 InputParameterMissing
704 InvalidDate
706 InputLengthLimitExceeded
708 InvalidBoolean
802 InvalidInteger
803 IntegerNotWithValidRange
900 ServiceNotAvailable
910 ServiceDownForMaintenance
999 InternalSystemError
15
Appendiks D: Versionshistorik
Version 1.0.0
Dokumentets startsversion