16
Webservices med maximaldoseringsadvarsler Dokumentation Version 1.0.0

Dokumentation · 2011. 11. 7. · WCF (Workflow Communication Foundation). Der stilles krav om at systemer der tilgår DLI´s webservices understøtter og anvender gzip eller deflate

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Webservices med maximaldoseringsadvarsler

    Dokumentation

    Version 1.0.0

  • 2

    Indhold Indledning ............................................................................................................................... 3

    Kontaktpersoner ................................................................................................................. 3

    Det faglige indhold i en Maximaldoseringsadvarsel ............................................................... 4

    Retningslinjer og anbefalinger for anvendelse ....................................................................... 5

    Tilgang til advarslerne ......................................................................................................... 5 En advarsel består af .......................................................................................................... 5

    Maxdosisværdi og enhed for præparat med 1 virksomt stof ........................................... 6 Maxdosisværdi og enhed for kombinationspræparater .................................................. 7 Tidsinterval ...................................................................................................................... 8

    Teknologi ................................................................................................................................ 9 Struktur og data .................................................................................................................. 9

    Serviceparametre ............................................................................................................ 9 WarningServices ............................................................................................................. 9

    Eksempler på kald: ........................................................................................................ 10

    Returfelter ......................................................................................................................... 10 Status og fejlmeddelelser ..................................................................................................... 13 Appendiks A: Lægemiddelformer ......................................................................................... 14

    Lægemiddelformer, der er med i maxdosis ...................................................................... 14 Lægemiddelformer, der IKKE er med i maxdosis ............................................................. 14

    Appendiks B: Versionshistorik .............................................................................................. 16

  • 3

    Indledning Dette dokument beskriver de webservices fra DLI A/S, som leverer information om

    maxdosis. De web-services, som beskrives her, stiller data til rådighed, som muliggør at

    eksterne partnere kan udvikle beslutningsstøtte integreret i egne systemer og egne

    præsentationslag i systemerne.

    Dokumentet beskriver hvordan maxdosis informationen kan bruges, hvilke data der stilles til

    rådighed, hvordan data tilgås og hvilke anbefalinger Infomatum 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 web-services med præparatinformation 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. Der kan evt.

    udstedes en midlertidig adgang til testsystemet baseret på et userid/password.

    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

    Det faglige indhold i en Maximaldoseringsadvarsel Blandt de registererede medicineringsfejl i Danmark optræder hyppigt ordination af for høj

    dosis, gentagne udleveringer af samme dosis samt for hyppig udlevering af dosis, fx dagligt

    i stedet for ugentligt. Idet der I Danmark anvendes elektronisk medicineringssystem, vil det

    være muligt at fange hovedparten af disse medicineringsfejl ved at anføre max-dosis af et

    givent lægemiddel.

    Formålet med denne webservice er derfor at give et datagrundlag, således at det ude i

    medicinmodulerne er muligt at angive den maksimal dosis (max-dosis) på alle perorale

    lægemidler ved den mest almindelige indikation. Dette er inkl. inhalatorer samt på faste

    doserede lægemidler til rektal brug (fx suppositorier). Webservicen indeholder på

    nuværende tidspunkt altså IKKE maxdosisværdier for samtlige dispenseringsformer. I

    appendiks a er der en liste over hvilke lægemiddelformer der er inkluderet I webservicen,

    og hvilke der ikke er.

    Angivelse af max-dosis kan tjene som støtte ved ordination af et lægemiddel på linie med

    andre oplysninger i Medicin.dk eller indbygges som beslutningsstøtte i de elektroniske

    lægesystemer og EPM.

    I lægesystemer og EPM kan det anvendes således, at hvis der ordineres en dosis, som

    overstiger max-dosis, kan gives advarsel på anden måde fx ved at den givne ordination

    bliver rød, systemet popper op med en advarsel om, at max-dosis er overskredet, og om

    man ønsker at fortsætte.

    De angivne max-doser tager udgangspunkt i doseringsteksterne i Medicin.dk.

    Doseringsteksterner er baseret på SPC samt klinisk vurdering. Derudover checkes

    MicroMedex(Poisindex) og evt FASS.

    Information og advarsler vil blive opdateret i takt med at der kommer nye præparater og

    drugid´s i forbindelse med takstopdateringerne (hver 14. dag)

  • 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 maxdosisadvarslerne, hvad en advarslen

    består af, og forslag til hvordan de kan præsenteres.

    Tilgang til advarslerne For at hente aktuelle maxdosisadvarsler bruges servicen: MaximalDosageWarningService.

    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.

    MaximalDosageWarningService.svc har 2 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.

    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 maxdosis. For de fleste præparater vil maxdosis

    være ens for alle præparatets dispenseringsformer, men der er tilfælde hvor dette ikke er

    gældende. Derfor er maxdosis angivet pr drugid.

    Maxdosis webservicesene returnerer altid samtlige maxdosis på et præparat. Disse er som

    sagt struktureret efter drugid. Derfor skal man altid starte med at finde maxdosis for det

    aktuelle drugid/varenummer i det returnerede XML. For kald via varenummer, findes det

    tilhørende drugid i strukturen .

    I gennemgangen af det returnerede xml, er det meget vigtigt at bemærke, om præparatet er

    et kombinationspræparat eller ej. Da maxdosis er placeret i forskellige tags alt efter om det

    er et kombinationspræparat eller ej. Denne information står i tagen:

    , som har værdien "false" for præparater med 1 virksomt stof. For

    kombinationspræparater er værdien "true".

    For at få en komplet korrekt advarsel er det derfor vigtigt, at de forskellige dele af advarslen

    sættes sammen korrekt. En maxdosis vil altid bestå af tre enheder, nemlig:

    Maxdosisværdien

  • 6

    Enheden for maxdosisen

    Tidsintervalet som maxdosis gælder for

    Enkelt ordinationDrugidentifier eller PackageNumberIde

    ntifierCombination (T/F)

    /

    /

    MaximalDosageIteratio

    nIntervalInHoursText>

    /

    /

    MaximalDosageIteratio

    nIntervalInHoursText>

    Input parameter:

    Brugssituation: Advarsel består af: Kommentarer:Betingelse:

    True

    False

    Tidsangivelsen er foretaget i timer, omregn denne tidsangivelse til den der bruges i det pågældende system fx dage. Den numeriske værdi angives i de to tags:

    og

    MaximalDosageNumberOfDecimalsQu

    antity> under

    Tjek om enhed i system er den samme, ellers foretag en omregning

    Tidsangivelsen er foretaget i timer, omregn denne tidsangivelse til den der bruges i det pågældende system fx dage. Der er også mulighed for at anvende den numeriske værdi i kombination med angivelsen af decimaler

    Tjek om enhed i system er den samme, ellers foretag en omregning

    Den numeriske værdi angives i de to tags:

    og

    MaximalDosageNumberOfDecimalsQu

    antity> under

    Den numeriske værdi angives i de to tags:

    og

    MaximalDosageNumberOfDecimalsQu

    antity> under

    Figur 1: Sammensætning af maxdosis alt efter om præparatet er et kombinationspræparat eller ej.

    På figur 1 er der lavet en grafisk gennemgang af hvilke tags der skal bruges alt efter om

    præparatet er et kombinationspræparat eller ej. I det følgende vil der desuden være en

    gennemgang af hvordan de tre værdier findes. Måden man finder maxdosisværdi og enhed

    på, er som nævnt forskellig alt efter hvilken type præparat det drejer sig om, hvorfor dette

    er adskildt i beskrivelsen.

    Maxdosisværdi og enhed for præparat med 1 virksomt stof Hvis i den returnerede xml står "false" i tagen er præparate et

    præparat med et indholdsstof. I disse tilfælde står maxdisis værdien og enheden i "Tag"-

    strukturen . Hvis der skal findes en maxdosis for

    præparatet "Panodil" og servicen derfor kaldes med drugidet: 28101674394 via metoden

    "GetByDrugIdentifier" vil maxdosisværdi og enhed findes i følgende tags:

  • 7

    -

    Paracetamol

    -

    mg

    400000

    2

    4000,00

    Se desuden den fulde xml her:

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosa

    geWarningService.svc/rest/GetByDrugIdentifier/28101674394/true

    er maxdosisværdi angivelsen, og er I overstående eksempel

    angive markeret med en gul baggrund. Den er angivet med decimaler. Hvis det

    modtagende system ikka kan håndterer decimaler der er adskildt via komma, kan

    værdierne i de to tags og

    anvendes i stedet for. Tagen

    dangiver den numeriske værdi. Derfor er det her

    vigtigt at være opmærksom på hvor mange antal decimaler der er angivet. Denne

    information står i tagen: .

    er maxdosis enheden.Den er markeret med turkis i

    overstående eksempel. Det skal altid tjekkes at denne stemmer overens med den enhed

    der anvendes i det pågældende system. Hvis det ikke stemmer overens er der behov for en

    omregning.

    Maxdosisværdi og enhed for kombinationspræparater I den returnerede xml vil der i taggen stå "true", hvis præparatet

    er et kombinationspræparat. Maxdosis og enhed for et kombinationspræparat er at finde i

    strukturen .

    Hvis der skal findes en maxdosis for præparatet " "DAK"Kodimagnyl" og servicen derfor

    kaldes med drugidet: 28100981278 via metoden "GetByDrugIdentifier" vil der i tagen

    , stå "true". Maxdosisværdi og enhed findes

    derfor i "Tag"-strukturen , og vil se således ud:

    stk

    80

    1 8,0

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByDrugIdentifier/28101674394/truehttp://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByDrugIdentifier/28101674394/truehttp://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByDrugIdentifier/28101674394/truehttp://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByDrugIdentifier/28101674394/true

  • 8

    Se desuden den fulde xml her:

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosa

    geWarningService.svc/rest/GetByDrugIdentifier/28100981278/true

    er maxdosisværdi angivelsen. Den er markeret med gul baggrund i

    det overstående eksempel. Den er angivet med decimaler. Hvis det modtagende system

    ikka kan håndterer decimaler der er adskildt via komma, kan værdierne i de to tags

    og

    anvendes i stedet for. Tagen

    dangiver den numeriske værdi. Derfor er det her

    vigtigt at være opmærksom på hvor mange antal decimaler der er angivet. Denne

    information står i tagen: .

    er maxdosis enheden og er markeret med turkis i det

    overstående eksempel. Det skal altid tjekkes at denne stemmer overens med den enhed

    der anvendes i det pågældende system. Hvis det ikke stemmer overens er der behov for en

    omregning.

    Tidsinterval Tidsintervallet som en maxdosis gælder for vil altid stå i taggen

    . Tidsintervallet er angive i timer. værdien

    indeholder decimaler.

    Hvis et system ikke kan håndtere en værdi med decimaler som er separeret vha komma, er

    det muligt i stedet at anvende værdien i tagen

    . Denne i sig selv er dog ikke

    tilstrækkelig, idet det er den numeriske værdi. Derfor angiver tagen

    hvor mange

    decimaler der skal være. For at få den rigtige værdi skal man derfor gøre følgende:

    _________________________________________________ = Tidsintervallet

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByDrugIdentifier/28100981278/truehttp://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByDrugIdentifier/28100981278/true

  • 9

    Teknologi Webservices, som leverer de generiske beskrivelser, er udviklet i Microsoft .Net 4.0 med

    WCF (Workflow 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.

    De SOAP-baserede produktion-services har følgende adresse:

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosa

    geWarningService.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 "MaximalDosageWarnings".

    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) pameter, som er angivet for

    den konkrete metode, det er : {USRNAME} og {PASSWORD}, altså

    ../{USERNAME}/{PASSWORD}/{PARAMETER1}/{PARAMETER2}/…

    WarningServices Maxdosisadvarslerne er en af DLI´s advarselsservicess og den hører derfor til

    serviceområdet "WarningServices" under navnet "MaximalDosageWarnings".

    MaximalDosageWarnings har følgende metoder/parametre:

    1. Service: MaximalDosageWarningService.svc: Fremfinder Maxdosis information

    på det præparat inputparametren tilhører. Informationen kan hentes på to

    måder: via drugid(DrugIdentifier) eller via

    varenummer(PackageNumberIdentifier).

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svchttp://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svchttp://webservices.medicin.dk/

  • 10

    o Metode: GetByDrugIdentifier

    Parameter: DrugIdentifier (DrugId)

    Parameter: True/false (IncludeImages)

    o Metode: GetByPackageNumberIdentifier

    Parameter: PackageNumberIdentifier (varenummer)

    Parameter: True/false (IncludeImages)

    Eksempler på kald: I det nedenstående er givet et par eksempler på kald ved bruge af forskellige metoder.

    Kald med metoden: GetByDrugIdentifier

    Metoden kaldes med DrugIdentifier = 28100981278 som tilhører præparatet Kodimagnyl

    "DAK" og Ikonet ønskes også returneret. Derfor kommer kaldet til at se således ud:

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosa

    geWarningService.svc/rest/GetByDrugIdentifier/28100981278/true

    Kald med metoden: GetByPackageNumberIdentifier

    Metoden kaldes med PackageNumberIdentifier = 414979 som tilhører præparatet

    Kodimagnyl "DAK" og Ikonet ønskes også returneret. Derfor kommer kaldet til at se

    således ud:

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosa

    geWarningService.svc/rest/GetByPackageNumberIdentifier/414979/true

    For begge

    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

    DLI´s

    egntpræparatnu

    mmer

    Præparatets

    handelsnavn

    Indikation om

    præparatet er et

    kombinationspræ

    parat

    DrugIdent

    ifier

    Numerisk værdi

    for tidsangivelse

    http://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByDrugIdentifier/28100981278/truehttp://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByDrugIdentifier/28100981278/truehttp://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByPackageNumberIdentifier/414979/truehttp://webservices.medicin.dk/V1/WarningServices/MaximalDosageWarnings/MaximalDosageWarningService.svc/rest/GetByPackageNumberIdentifier/414979/true

  • 11

    antal decimaler i

    tidsangivelsen

    Tidsangivelsen

    Maxdosisstruktur

    for

    kombinationspræ

    parater

    enhed

    numerisk

    maxdosisværdi

    antal decimaler i

    maxdosisværdien

    maxdosisværdi

    indholdsstofstruk

    tur

    indholdsstof

    Maxdosisstruktur

    for præparater

    med 1 virksomt

    stof

    (indholdsstof)

    enhed

    numerisk

    maxdosisværdi

    antal decimaler i

    maxdosisværdien

    maxdosisværdi

    DrugIdent

    ifier

    dispenseringsfor

    m

    styrke og enhed

    varenummer

    ekstratekst på

    varenummer

    advarselsikon Imagetyp

    e,

    Imagesize

    og

  • 12

    ImageCo

    ntent

  • 13

    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

  • 14

    Appendiks A: Lægemiddelformer

    Lægemiddelformer, der er med i maxdosis

    Lægemidler til oral, nasal eller rektal brug:

    Tabletter incl. entero-, depot-, dispergible, bruse-, smelte-, suge-

    Kapsler incl. - entero, -depot,

    Resoribletter

    Tyggegummi

    Mikstur

    Syrup

    Oral suspension

    Oral opløsning

    Granulat og pulver til mikstur/oral suspension

    Orale dråber

    Granulat incl. entero-, depot-

    Afdelte pulvere

    Næsepudder

    Næsespray

    Næsedråber

    Inhalationsaerosol, -væske, -pulver

    Kapsler til inhalation

    Inhalationsspray

    Sublingual spray

    Mundhulespray

    Suppositorier

    Rektalvæske incl. tabletter til rektalvæske

    Klysma

    Lægemiddelformer, der IKKE er med i maxdosis

    Lægemidler til brug på huden, i øjnene, ørerne, i vagina eller til iv:

    Cremer, salver, geler, linimenter, shampo etc

    Neglelak

    Plastre

    Øjendråber, -salver

    Øredråber, -salver

    Vagitorier

    Vaginalcreme, -tabletter, -kapsler

    Spiraler

    Lægemidler til iv-brug

    Infusionsvæsker, -koncentrater

    Injektionsvæsker, -koncentrater, -substanser

  • 15

    Implantater

    Opløsninger til injektionsvæsker, infusionsvæsker, priktest

    Fyldte engangspenne

    Dialysevæsker

  • 16

    Appendiks B: Versionshistorik

    Version 1.0.0

    Dokumentets startsversion