User Tools

Site Tools


fmk:dosageai:1.0:dosageai

OrdinationsAI service

OBS! Under udvikling

OrdinationsAI servicen er et selvstændigt FMK modul, der udstiller en snitflade op mod klient-applikationer, med det formål at stille en service til rådighed, der kan foreslå en lægemiddelordination med tilhørende dosering og indikation ud fra en fritekst, som brugeren har skrevet i et felt i klient-applikationen.

I det følgende omtales en lægemiddelordination med tilhørende dosering og indikation, som er angivet i en struktureret form - baseret på kendte FMK typer - som en “ordination”.

OrdinationsAI servicen gør brug af Artificial Intelligence (AI) dvs. machine learning til at udvælge en prædefineret lægemiddelordination m. dosering og indikation på struktureret form ud fra den indtastede tekst i klient-applikationen. Formålet er at lette brugerens arbejdsgang når der skal oprettes en lægemiddelordination.

Arbejdsgangen vil være således at brugeren af klient-applikationen, eksempelvis en læge, indtaster en fritekst, som sendes til OrdinationsAI servicen, og får efterfølgende vist de tilsvarende data på en struktureret form i klient-applikationen (der bliver returneret i samme kald). Lægen kan nu vælge at rette i den foreslåede ordination, hvis det viser sig at den foreslåede ordination ikke stemmer overens med det ønskede. Den eventuelt korrigerede ordination vil efterfølgende blive sendt til OrdinationsAI servicen sammen med den oprindelige fritekst, som blev indtastet til at begynde med. Dette kald til OrdinationsAI servicen har til formål på sigt at forbedre datagrundlaget for AI-algoritmen, således at fremtidige ordinationer dannet ud fra fritekst bliver mere præcise og dermed en bedre hjælp til brugerne af klient-applikationen.

OrdinationsAI servicen kommer til at køre i en periode i pilotdrift med et begrænset antal brugere men med produktionsdata. I denne periode vil datagrundlaget for algoritmen blive gennemgået manuelt. Når OrdinationsAI servicen kører i produktion og er tilgængelig for alle, vil al data blive gemt mht. læring, men selve datagrundlaget for algoritmen vil kun sjældent blive opdateret, og i så fald kun manuelt.

Selve lægemiddelordinationen oprettes efterfølgende i klient-applikationen i et nyt kald, og er derfor ikke en del af denne struktureringsproces.

OrdinationsAI servicen afvikles for sig som et selvstændigt modul, afkoblet fra selve Fælles Medicinkort servicen, men gør dog brug af noget fælles funktionalitet, som anvendes og tilbydes igennem FMK servicen. Fordelen ved at have en selvstændig service er at den kan tilrettes, udvides og deployes uafhængigt af FMK og andre moduler.

Der sendes ingen personhenførbare data via OrdinationsAI servicen.

Snitfladebeskrivelser

OrdinationsAI snitfladen, som er tilgængelig for klient-applikationer, stiller to klient-forespørgsler til rådighed.

Foreslå en struktureret ordination ud fra fritekst

Den ene forespørgsel anvendes til at opbygge en ordination ud fra en fritekst, som brugeren indtaster i klient-applikationen. Denne fritekst sendes i forespørgslen til OrdinationsAI servicen som input. Man kan i dette kald vælge at angive et maksimalt antal svar som forespørgslen skal returnere. Vi anbefaler altid at sætte denne værdi til 1 i kaldet, idet klient-applikationen i dette tilfælde kun vil modtage et enkelt resultat for en ordination, hvilket svarer til den ordination, der har det højeste konfidenstal i forhold til den indtastede tekst. Dvs. det bedst mulige svar fra AI algoritmen.

Svaret, der returneres fra denne forespørgsel, indeholder kendte FMK typer såsom DrugType, DrugDosage og Indication, samt et nyt felt, Confidence, som indikerer hvor stor tillid AI-algoritmen har til at det er det korrekte lægemiddel, der er valgt, med hensyn til den indtastede tekst, der blev givet i forespørgslen. Confidence feltet indeholder en værdi mellem 0 og 100, hvor 100 er det højeste konfidenstal.

Klient-applikationen kan efterfølgende vælge at sortere svar fra på baggrund af en given tærskelværdi for konfidenstallet. Denne tærskelværdi kan i klient-applikationen være parametriseret, således at man i testperioden kan justere denne tærskel alt efter hvor god AI-algoritmen er til at foreslå lægemidler.

Hvis eksempelvis et svar indeholder en lægemiddelordination med dosering og indikation, men hvor Confidence tallet er under en given tærskelværdi, så skal klient-applikationen ikke vise struktureret data men blot tomme felter, og det er meningen at i dette tilfælde skal lægen selv manuelt indtaste det ønskede data for en ordination, eller prøve med at indtaste en ny fritekst og forsøge igen.

Nogle gange kan AI-algoritmen ikke foreslå en dosering eller indikation, hvormed disse to er tomme, og kun lægemiddelnavnet returneres i svaret.

Send korrigeret struktureret data retur

Den anden forespørgsel, der stilles til rådighed af OrdinationsAI-servicen, anvendes til at sende den (eventuelt) korrigerede ordination retur til OrdinationsAI servicen. Denne forespørgsel medtager derfor en struktureret lægemiddelordination med dosering og indikation bygget op omkring de samme FMK typer som svaret i den første forespørgsel. Denne forespørgsel indeholder ydermere den oprindelige fritekst, der blev indtastet. Dermed er det nødvendigt at klient-applikationen gemmer den oprindelige tekst således at det er muligt at indsætte friteksten i dette kald.

Denne forespørgsel returnerer en statuskode mhp. om kaldet til OrdinationsAI-servicen gik godt eller ej. Hvis kaldet gik godt returneres blot et tomt svar. Hvis kaldet fejlede, returneres en fejlkode.

Eksempel XML for brugen af OrdinationsAI-servicen

Nedenunder ses et eksempel XML dokument på at sende en fritekst til OrdinationsAI servicen. Her er værdien på MaxResult sat til 1, dvs. maksimalt 1 svar kan returneres fra OrdinationsAI servicen, hvis muligt. Hvis ikke det er muligt at returnere en ordination, så returneres en fejl i stedet for.

<?xml version="1.0" encoding="UTF-8"?>
<ParseDrugMedicationTextRequest xsi:schemaLocation="http://fmk-teknik.dk/dosageAI/xml.schema/2022/03/01 ParseDrugMedicationTextRequest.xsd" xmlns="http://fmk-teknik.dk/dosageAI/xml.schema/2022/03/01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <DrugMedicationText>Simvastatin 20 mg 2 tbl morgen mod forhøjet kolesterol</DrugMedicationText>
   <!--Optional:-->
   <MaxResult>1</MaxResult>
</ParseDrugMedicationTextRequest>

Nedenunder ses et eksempel XML dokument, der viser et svar fra OrdinationsAI servicen på det ovenstående request. Svaret indeholder kendte FMK typer for en lægemiddelordination, dosering og indikation. Namespaces er udeladt i XML eksemplet for at simplificere typerne. Konfidensværdien af den foreslåede ordination er her i eksemplet 100.

<?xml version="1.0" encoding="UTF-8"?>
<ParseDrugMedicationTextResponse xsi:schemaLocation="http://fmk-teknik.dk/dosageAI/xml.schema/2022/03/01 ParseDrugMedicationTextResponse.xsd" xmlns="http://fmk-teknik.dk/dosageAI/xml.schema/2022/03/01" xmlns="http://www.dkma.dk/medicinecard/xml.schema/2015/01/01" xmlns="http://www.dkma.dk/medicinecard/xml.schema/2015/01/01/E4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ParseDrugMedicationTextResult>
    <Drug>
        <ATC>
            <Code source="Medicinpriser" date="2015-01-06">C10AA01</Code>
            <Text>Simvastatin</Text>
        </ATC>
        <Identifier source="Medicinpriser" date="2014-05-01">28103185500</Identifier>
        <Name>Simvastatin Stada</Name>
    </Drug>
    <Dosage>
        <Structures>
            <UnitTexts>
                <Singular>tablet</Singular>
                <Plural>tabletter</Plural>
            </UnitTexts>
            <Structure>
                <IterationInterval>1</IterationInterval>
                <StartDate>2022-05-01</StartDate>
		<DosageEndingUndetermined/>
                <Day>
                    <Number>1</Number>
                    <Dose>
                        <Quantity>2</Quantity>
                    </Dose>
                </Day>
            </Structure>
        </Structures>
    </Dosage>
    <Indication>
        <Code source="Medicinpriser" date="2014-05-01">79</Code>
        <Text>mod forhøjet kolesterol</Text>
    </Indication>
    <Confidence>100</Confidence>
</ParseDrugMedicationTextResult>
</ParseDrugMedicationTextResponse>

Nedenstående ses et eksempel XML dokument, der viser et request til OrdinationsAI servicen med den korrigerede ordination. Dette request indeholder kendte FMK typer for en lægemiddelordination, dosering og indikation. Namespaces er udeladt i XML eksemplet for at simplificere typerne. Dette request indeholder også den oprindelige fritekst, som lægen har indtastet i klient-applikationen. Denne er angivet som det sidste felt i XML dokumentet.

<?xml version="1.0" encoding="UTF-8"?>
<SendDrugMedicationResultRequest xsi:schemaLocation="http://fmk-teknik.dk/dosageAI/xml.schema/2022/03/01 SendDrugMedicationResultRequest.xsd"
xmlns="http://fmk-teknik.dk/dosageAI/xml.schema/2022/03/01" xmlns="http://www.dkma.dk/medicinecard/xml.schema/2015/01/01" xmlns="http://www.dkma.dk/medicinecard/xml.schema/2015/01/01/E4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ParseDrugMedicationTextResult>
    <Drug>
        <ATC>
            <Code source="Medicinpriser" date="2015-01-06">C10AA01</Code>
            <Text>Simvastatin</Text>
        </ATC>
        <Identifier source="Medicinpriser" date="2014-05-01">28103185500</Identifier>
        <Name>Simvastatin Stada</Name>
    </Drug>
    <Dosage>
        <Structures>
            <UnitTexts>
                <Singular>tablet</Singular>
                <Plural>tabletter</Plural>
            </UnitTexts>
            <Structure>
                <IterationInterval>1</IterationInterval>
                <StartDate>2022-05-01</StartDate>
                <DosageEndingUndetermined/>
                <Day>
                    <Number>1</Number>
                    <Dose>
                        <Quantity>2</Quantity>
                    </Dose>
                </Day>
            </Structure>
        </Structures>
    </Dosage>
    <Indication>
        <Code source="Medicinpriser" date="2014-05-01">79</Code>
        <Text>Mod forhøjet kolesterol</Text>
    </Indication>
</ParseDrugMedicationTextResult>
    <DrugMedicationText>Simvastatin 20 mg 2 tbl morgen mod forhøjet kolesterol</DrugMedicationText>
</SendDrugMedicationResultRequest>

WSDL for OrdinationsAI 1.0

OrdinationsAI servicens SOAP snitflade mod klient-applikationer er defineret gennem den tilhørende WSDL, som kan ses og downloades via linket:

WSDL og skemaer

WSDL og skemaer inline

fmk/dosageai/1.0/dosageai.txt · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki