Table des matières

Schéma de la base de données thérapeutique de FreeDiams

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.

La base de données thérapeutiques

Nom de fichier pour la base de données thérapeutiques

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 tables de la base de données

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.

La table DRUGS

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.
    • Ex : 2.5mg;6.5mg
  • 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

La table COMPOSITION

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)
    • SA (can be used as default value) : Active substance
    • FT : Tranformed substance
  • LK_NATURE :
    • Link from SA to FT

La table LK_MOL_ATC

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 :

  • MOLECULE_CODE = lien vers COMPOSITION.MOLECULE_CODE
  • ATC_ID = lien vers INTERACTION_DATABASE.ATC.ID (pas CODE)

La table PACKAGING

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)

La table INFORMATIONS

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 :
    • language is a lowercase, two-letter, ISO 639 language code,
    • territory is an uppercase, two-letter, ISO 3166 country code,
    • and codeset and modifier are ignored.
  • 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

La table SEARCH_ENGINES

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

Base de données des interactions

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.

Table INTERACTIONS

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

Table 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)

Informations concernant la base de données

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.

Schéma SQL : Base de données thérapeutique

Schéma SQL : Base de données interactions

2010/09/27 13:56