FreeDiams est pensé comme un “module” externe. Ce “module” peut étre utilisé par un grand nombre de logiciel propriétaires ou non. A l'heure actuel, MedinTux et GNUMed sont configurables pour utiliser ce logiciel comme prescripteur.
Pour interfacer un logiciel avec FreeDiams, il suffit de renseigner les paramètres de la ligne de commande et d'utiliser les fichiers d'échange.
Dans la plupart des cas, il est recommandé de transmettre les données à FreeDiams en utilisant le fichier d'échange entrant plutôt que d'utiliser la ligne de commande (cf infra).
Vous pouvez à tous moment vérifier les paramètres transmis (par la ligne de commande ou par le fichier entrant) grâce au dialogue À propos/Application/Ligne de commande.
freediams --exchange-in="/home/me/exchange-in.xml"
freediams.exe --exchange-in="c:\Files\exchangein.xml"
FreeDiams.app/Contents/MacOs/FreeDiams --exchange-in="/Users/me/exchange-in.xml"
Tous les fichiers sont encodés en UTF-8.
Il est préférable d'utiliser les fichiers d'échanges à la ligne de commande pour renseigner les différents paramètres à utiliser dans FreeDiams.
Lorsqu'un fichier d'échange entrant est spécifié les données qu'ils incluent remplacent les données passés en ligne de commande. Une utilisation mixte est toujours possible : une partie des données sont transmises par la ligne de commande, l'autre par le fichier d'échange entrant.
La structure de ce fichier doit répondre aux exigences ci-dessous.
<FreeDiams_In version="0.5.0"> <ConfigFile value="/absolute/file/specification/to/the/required/configFile.ini"/> <ExchangeOut value="/absolute/file/specification/to/the/required/exchange_File.txt" format="xml html html_xml"/> <DrugsDatabase uid="FREEDIAMS_DRUGS_DATABASE_UID"/> <EMR name="NameWillBeShownInTheMainWindowTitle" uid="SessionUIDWillBeReturnedInOutputFile"/> <Patient> <Identity lastnames="Family or equivalent name e.g. Kirk" firstnames="James Tiberius" uid="EMR Patient's UID" dob="yyyy/MM/dd" gender="M or F or H"/> <Creatinine value="12" unit="mg/l or mmol/l"/> <Weight value="70" unit="kg or lbs" /> <Height value="170" unit="cm or "/> <InnAllergies value="inn1;inn2;inn3"/> <ATCAllergies value="ATC1;ATC2;ATC3"/> <DrugsUidAllergies value="7655668;876769;656789"/> <InnIntolerances value="inn1;inn2;inn3"/> <ATCIntolerances value="ATC1;ATC2;ATC3"/> <DrugsUidIntolerances value="7655668;876769;656789"/> <ICD10 value="J11.0;A22;Z23"/> </Patient> <Ui editmode="select-only or prescriber" blockPatientDatas="0/1"/> </FreeDiams_In>
The relative path are calculated from the application's binary. They should be different for each OS:
It is recommended to use absolute full path inside the XML exhange-in file, so that the calls to FreeDiams will be fully multi-OS.
Lorsqu'un fichier d'échange est notifié, FreeDiams essaie de lire le contenu de ce fichier et d'y récupérer les données de la prescription.
A la fermeture de l'application, la prescription est sauvegardée dans le d'échange sous format XML, sans intervention de l'utilisateur (inutile de sauvegarder avant de quitter l'application).
Lorsque le paramètre –medintux est notifié dans la ligne de commande, le format du fichier d'échange est spécifique à MedinTux.
Le contenu du fichier d'échange de sortie est un mélange d'HTML et de XML.
Jusqu'à la version v0.4.0, le fichier est structuré de la sorte.
<html> ... <body> <a href="FreeDiamsEncodedPrescription:base64FreeDiamsXmlencoded"> ... (full HTML prescription) </a> </body> </html>
Pour les versions à partir de la 0.4.0 :
<html> ... <meta name="FreeDiams" content="FreeDiamsEncodedPrescription:base64FreeDiamsXmlencoded"/> <body> ... (full HTML prescription) </body> </html>
Le code XML correspond à celui décrit dans le chapitre suivant.