This page is up-to-date.
Cette section est essentiellement rédigée pour les développeurs. FreeDiams est programmé pour gérer plusieurs bases de données thérapeutiques. Pour ajouter une source de données, il vous suffit de créer une base de données répondant aux critères ci-dessous décrits sous SQLite.
Toutes les bases de données thérapeutiques doivent utiliser le schéma suivant pour leur nom de fichier :
Pas de suffixe préfixé
Nom de fichier 'drugs' interdit
Extension obligatoire : db
Exemple : drugs-france.db
Les base de données doivent comporter plusieurs tables liées entre elles par le biais de clés primaires.
Il existe pour chaque médicament un numéro d'identifiant unique (UID). Ce numéro d'identifiant unique peut posséder une dénomination particulière (CIS pour la France, PZN en Allemagne…). Cette dénomination peut être renseignée dans le table INFORMATIONS (cf infra).
Les différentes tables sont :
DRUGS : contient l'UID, le nom commercial du médicament et des informations concernant sa commercialisation ;
COMPOSITION : contient le descriptif des différentes molécules composant le médicament
PACKAGING : contient le mode de présentation du traitement (la boîte)
LK_MOL_ATC : contient les liens entre les codes des molécules et les codes ATC (ids)
Jusqu'à présent, FreeDiams ne prend pas en compte la table PACKAGING.
Schéma :
UID : Identifiant unique des médicaments : le CIS en France (AFSSAPS)
NAME : nom commercial du médicament
FORM : forme du médicament (gélule, comprimé, gél…)
ROUTE : voie d'administration
ATC : code ATC du médicament
GLOBAL_STRENGTH : contient le dosage global du médicament. N'est utilisé que pour construire le nom du médicament pour certaines bases de données. Voir aussi INFORMATIONS.DRUGS_NAME_CONSTRUCTOR.
TYPE_MP (optionnel) : type d'AMM , schedule in CA
AUTHORIZATION (optionnal) : type d'autorisation d'AMM
MARKETED : commercialisé : Booléen :: Oui = 1 ; Non = 0
LINK_SPC (optionnel) : lien internet vers le
RPC
L'UID doit être unique et persistant dans le temps. Pour s'assurer de son unicité, utilisez la commande :
SELECT count(*), uid, name FROM drugs GROUP BY uid HAVING count(*) > 1 ORDER BY name ASC
Un médicament peut contenir plusieurs molécules. Certaines molécules sont présentes sous une forme et métabolisées
en une autre (voir NATURE, LK_NATURE).
Schéma:
UID : Identifiant unique des médicaments : CIS en France
MOLECULE_FORM : forme de la molécule (comprimé, gél…)
MOLECULE_CODE : unique identifiant de la molécule
MOLECULE_NAME : nom de la molécule
DOSAGE : dosage de la molécule (ex : 10 mg)
DOSAGE_REF : référence pour le dosage (ex : 1 cp == 10 mg par cp)
LK_NATURE :
Cette table est indispensable pour le calcul des interactions médicamenteuses.
Le moteur de recherche d'interaction utilise la composition moléculaire des médicaments. Chaque molécule doit être liée à un code ATC (par le biais de son identifiant dans la base iam). Les interactions sont calculés sur la base des codes ATC.
Schéma :
Cette table est actuellement optionnelle.
Schéma :
UID : UID du médicament (le CIS en France)
PACKAGE_UID : Code principal (en France correspond au CIP court)
LABEL : intitulé de la présentation
STATUS
Présentation active → A
Présentation abrogée → B
MARKETING
Déclaration d'arrêt de commercialisation → A
Déclaration de commercialisation non communiquée → N
Déclaration de commercialisation → C
Déclaration de suspension de commercialisation → S
DATE : most recent commercial update
OPTIONAL_CODE: Code optionnel (en France correspond au CIP long)
Schema :
VERSION : Version of the db (
please be read the page). See this as a primary key. FreeDiams will read the first selected row of the database as database informations.
NAME : Name of the database to display to the user. Translations are supported using syntax 'two-character
ISO language code=name', unquoted, without any egal sign in the name and with line breaks delimiting multiple languages (see below).
fr=French name
en=English name
sp=Spanish
de=Deutsch
xx=All other languages
IDENTIFIANT : unique identifiant for FreeDiams.
This identifiant must be unique for all drugs databases provided for FreeDiams
French AFFSSAPS database = “FR_AFSSAPS”
FDA database = “USA_FDA”;
Canadian database = “CANADIAN”;
COMPAT_VERSION : FreeDiams application version dependency
PROVIDER : Provider of the datas (eg FDA)
WEBLINK : Web site of the provider
COMPLEMENTARY_WEBSITE : Web site of additionnal informations on the database
AUTHOR : Author of the database (eg Me)
LICENSE :
DATE : Date of release; format MUST BE formatted : yyyy-MM-dd
DRUG_UID_NAME : Name to use for the drug UID
PACK_MAIN_CODE_NAME : Name to for the packaging main code
ATC : boolean ; ATC is available for each drugs in the database
INTERACTIONS : boolean : manages interactions
AUTHOR_COMMENTS : place to hold your comment
LANGUAGE_COUNTRY : language and country specificity. Format = language_country where :
DRUGS_NAME_CONSTRUCTOR : string to use for the drug name construction. Some tokens will be replaced by their values. You can use these tokens :
NULL value is replaced by “NAME” only
“NAME” : for the name of the drug ( == DRUGS.NAME)
“FORM” : for the name of the drug ( == DRUGS.FORM)
“ROUTE” : for the name of the drug ( == DRUGS.ROUTE)
“GLOBAL_STRENGTH” : for the name of the drug ( == DRUGS.GLOBAL_STRENGTH)
Eg : NAME, FORM (GLOBAL_STRENGTH) == AMOXICILLINE, TABLETS (1g)
Eg : NAME, FORM, ROUTE - * GLOBAL_STRENGTH == AMOXICILLINE, TABLETS, ORAL - * 1g
Cette table permet d'ajouter des moteurs de recherche pour l'utilisateur. Ces moteurs de recherche seront présentés dans la fenêtre des protocoles sous le bouton Information et aide.
Etiquettes disponibles :
[[ONE_ATC_CODE]] –> un lien par ATC connu
[[DRUG_ATC]] –> Libellé de l'ATC du médicament s'il est connu (DRUGS.ATC)
[[ATC_CODES]] –> Tous les codes ATC connus (médicament et molécules)
[[ATC_LABELS]] –> Tous les libellés ATC connus (médicaments et molécules)
[[DRUG_NAME]] –> Valeur exacte de DRUGS.NAME
[[CONSTRUCTED_DRUG_NAME]] –> Le nom de médicament construit selon les règles de la base de données (INFORMATIONS.DRUGS_NAME_CONSTRUCTOR)
[[DRUG_UID]] –> L'UID du médicament
Les interactions sont calculées depuis les codes ATC des composants de chaque médicaments.
Certaines molécules sont regroupées au sein de “classes d'interactions” qui figurent dans la classification ATC aux codes \e ZXX.
Toute base de données thérapeutiques qui peut lier les composants de médicaments aux codes ATC connues donne accès au calcul des interactions médicamenteuses.
Is mainly a link table.
ID : unique identifier of the interaction
ATC_ID1 : link to ATC.ID of the first interacting molecule or class
ATC_ID2 : link to ATC.ID of the second interacting molecule or class
INTERACTION_KNOWLEDGE_ID : link to the INTERACTION_KNOWLEDGE
This table contains the content of the interaction.
ID : unique identifier
TYPE : type of interaction (encoded string)
I : Information
P = Precaution
T = Take in account
D = Inadvisable
C = Contraindication
RISK_FR : risk content in french
MANAGEMENT_FR : management of the interaction in french
RISK_EN : risk content in english
MANAGEMENT_EN : management of the interaction in english
XML :
XML encoded (future use)
Les base de données sont présentes dans le répertoire /Resources/databases/drugs.
N'importe quel nom de fichier peut êetre utilisé. Il faut toutefois qu'il se termine obligatoirement par .db. La table INFORMATIONS sera examinée systématiquement. Si elle ne contient pas d'erreur la base de données sera considérée comme utilisable par FreeDiams.