User Tools

Site Tools


fmk:dosageai:1.0:dosageai

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fmk:dosageai:1.0:dosageai [2022-05-16 12:26] hmmfmk:dosageai:1.0:dosageai [2026-03-06 08:53] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Dosage AI service ======+====== OrdinationsAI service ======
  
 ''OBS! Under udvikling'' ''OBS! Under udvikling''
  
-DosageAI 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.+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".** **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".**
  
-DosageAI 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.+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 DosageAI servicen, og får efterfølgende vist de tilsvarende data på en struktureret form i klient-applikationen (der bliver returneret i samme kald). +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 DosageAI servicen sammen med den oprindelige fritekst, som blev indtastet til at begynde med. Dette kald til DosageAI 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.+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.
  
-DosageAI 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. +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 DosageAI 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, da man regner med at have et så præcist og fuldendt datagrundlag som muligt, og for at sikre konsistens i svarene fra AI algoritmen.+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. Selve lægemiddelordinationen oprettes efterfølgende i klient-applikationen i et nyt kald, og er derfor ikke en del af denne struktureringsproces.
  
-DosageAI 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.+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. 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 DosageAI servicen.+Der sendes ingen personhenførbare data via OrdinationsAI servicen.
  
 ===== Snitfladebeskrivelser ===== ===== Snitfladebeskrivelser =====
  
-DosageAI snitfladen, som er tilgængelig for klient-applikationer, stiller to klient-forespørgsler til rådighed. +OrdinationsAI snitfladen, som er tilgængelig for klient-applikationer, stiller to klient-forespørgsler til rådighed. 
  
 ==== Foreslå en struktureret ordination ud fra fritekst ==== ==== 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 DosageAI 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.+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 den korrekte ordination 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.+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å ordinationer.+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. 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 ==== ==== Send korrigeret struktureret data retur ====
  
-Den anden forespørgsel, der stilles til rådighed af DosageAI servicen, anvendes til at sende den (eventuelt) korrigerede ordination retur til DosageAI 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. +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. 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 kalde til DosageAI servicen gik godt eller ej. Hvis kaldet gik godt returneres blot et tomt svar.+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 DosageAI servicen =====+===== Eksempel XML for brugen af OrdinationsAI-servicen =====
  
-Nedenunder ses et eksempel XML dokument på at sende en fritekst til DosageAI 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 DosageAI servicen, hvis muligt. Hvis ikke det er muligt at returnere en ordination, så returneres en fejl i stedet for. +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. 
  
-<code>+<code xml>
  
-?xml version="1.0" encoding="UTF-8"?>+<?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"> <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> 
-<DrugMedicationText>Simvastatin 20 mg 2 tbl morgen mod forhøjet kolesterol</DrugMedicationText> +   <!--Optional:--> 
-<!--Optional:--> +   <MaxResult>1</MaxResult>
-<MaxResult>1</MaxResult>+
 </ParseDrugMedicationTextRequest> </ParseDrugMedicationTextRequest>
  
 </code> </code>
  
-Nedenunder ses et eksempel XML dokument, der viser et svar fra DosageAI 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.+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. Konfidensværdien af den foreslåede ordination er her i eksemplet 100.
  
  
-<code>+<code xml>
  
 <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
Line 108: Line 109:
  
  
-Nedenstående ses et eksempel XML dokument, der viser et request til DosageAI 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.+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. 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.
  
-<code>+<code xml>
  
 <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
Line 157: Line 158:
  
  
-===== WSDL for DosageAI 1.0 =====+===== WSDL for OrdinationsAI 1.0 =====
  
-DosageAI servicens SOAP snitflade mod klient-applikationer er defineret gennem den tilhørende WSDL, som kan ses og downloades via linket:+OrdinationsAI servicens SOAP snitflade mod klient-applikationer er defineret gennem den tilhørende WSDL, som kan ses og downloades via linket:
  
-[[https://github.com/trifork/FMKResources/blob/master/wsdl/DosageAI_2022_03_01-collection-dist.zip?raw=true] | WSDL og skemaer]]+[[https://github.com/trifork/FMKResources/blob/master/wsdl/OrdinationsAI_2022_03_01-collection.zip?raw=true] | WSDL og skemaer]]
  
-[[https://github.com/trifork/FMKResources/blob/master/wsdl/DosageAI-inline_2022_03_01.wsdl.zip?raw=true] | WSDL og skemaer inline]]+[[https://github.com/trifork/FMKResources/blob/master/wsdl/OrdinationsAI-inline_2022_03_01.wsdl.zip?raw=true] | WSDL og skemaer inline]]
  
  
fmk/dosageai/1.0/dosageai.1652704008.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki