VetoPartner : logiciel vétérinaire
 
Vous êtes ici: Le logiciel / La base de données > Requêtes SQL

Interroger ma base de données - les requêtes

A qui demander des requêtes ?

Notre rôle n'est pas de concevoir des requêtes pour les milliers d'idées qui peuvent germer chaque jour.

Tout notre temps est consacré à développer le logiciel, nous assurer de la compatibilité avec les 9 versions différentes de Windows que nous rencontrons dans les cliniques, rédiger de l'aide pour la partager et assurer le support si quelque chose dysfonctionne (je ne parle pas de votre matériel informatique, ni de votre réseau, ni de vos analyseurs, ni de vos radios numériques, ni de vos téléphones, etc). Toutes nos semaines sont remplies par cela.

Mais en aucun cas nous ne pouvons en plus répondre à la multitude de demandes d'exploitation de vos données, qui ensuite conduisent malheureusement à commenter les résultats des requêtes et à les interpréter. C'est impossible. Nous n'avons comme vous que 24h par jour à vivre.

Il existe des sociétés qui ne font que cela : extraire les données, les organiser, les interpréter et en tirer des conclusions.

Il faut donc demander à un informaticien de faire ce travail-là (gratuitement si vous avez de la chance), ou en le rémunérant (c'est plus sympa).
C'est un métier à part entière, qui demande un haut niveau de qualification.

Heureusement, la plupart des requêtes sont assez simple à réaliser (croit-on au départ… =) )
Elles ne nécessitent souvent qu'une connaissance basique du langage SQL pour interroger vos données.

Encore une fois, je tiens à préciser que les informaticiens n'ont pas de baguettes magiques. Ils travaillent. C'est tout.
Et pour arriver à un résultat, ils ont souvent consacré beaucoup d'années d'études et beaucoup d'années d'expériences.
Les connaissances à avoir en informatique s’accroissent sans cesse.

En quoi pouvons-nous vous aider ?

Nous ne pouvons vous aider que pour la première étape : décrire comment sont organisées les données qui se trouvent dans votre base, pour pouvoir atteindre l'objectif fixé par la requête. C'est-à-dire donner quelques précisions sur certains champs de quelques tables généralement utilisées pour réaliser les requêtes demandées.

Le niveau de complexité de certaines interrogations de base de données nécessite quelques fois d'imbriquer plusieurs requêtes pour arriver au résultat souhaité.

Les noms des champs sont suffisamment parlants pour ne pas avoir besoin de nous poser de question. Un peu de bon sens, un ou deux essais, et on y arrive tout seul. C'est le meilleur et le seul vrai moyen pour apprendre.

Il existe à cette date (juin 2017) 406 tables dans la base de données de VetoPartner pour accueillir les données saisies dans les différents modules du logiciel. Cela fait notamment réfléchir sur la quantité très importante de fonctionnalités dont les cliniques ont besoin au quotidien.

Nous ne décrirons pas les 406 tables. Cela n'aurait aucune utilité et nous devrions arrêter toute activité pendant quelques mois pour y arriver. Sans compter la maintenance lorsque nous faisons évoluer la structure de la base de données pour de nouvelles fonctionnalités.

Donc : nous ne décrirons que les quelques tables utiles.
Certains champs de ces tables ne seront pas décrits parce qu'ils servent à la gestion interne du logiciel.
La transparence à des limites. Ce sont nos secrets de fabrication !

Voici la liste des tables décrites :

Comment accéder à la base de données de VetoPartner ?

Il faut au minimum connaître quelques rudiments du langage SQL.

Toute vraie base de données s’interroge avec ce langage.
Ce n'est donc pas une particularité de VetoPartner.
D'autant moins que la base de données est au format “FireBird”, qui est “OpenSource”.
C'est un énorme avantage de VetoPartner, que vous ne retrouvez pas dans les autres logiciels.

La base de données peut donc être ouverte par un grand nombre d'outils de gestion de base de données FireBird.


Le plus rapide, pour des requêtes simples, est de passer par VetoPartner : menu “Ventes/Requêtes”.
Il n'y a besoin d'aucun autre logiciel. Juste connaître un peu le langage SQL.

Mais les développeurs SQL préféreront sans doute des outils spécifiques dont voici une liste avec des liens vers des logiciels gratuits :
https://firebird.developpez.com/telecharger/index/categorie/407/Outils-Firebird

Mon préféré est “IBExpert”.
Il existe une version gratuite pour une utilisation personnelle, largement suffisante pour faire des requêtes SELECT.
Nous ne développons la base de données de VetoPartner qu'avec cet outil.

Sinon, prenez “FlameRobin”.
C'est mon deuxième choix. Plus léger, moins complet, mais suffisant.

La seule chose à savoir, lorsque c'est la première fois qu'on ouvre une base FireBird, est que le “login” et “password” de la base sont ceux par défaut de FireBird. Donc “SYSDBA” et “masterkey”. Sauf évidemment si ce couple a été modifié par la clinique. Dans ce cas, ne nous demandez pas ces codes, nous ne les connaissons évidemment pas.

Quelques exemples de requêtes

Il existe plein de requêtes en téléchargement que nous avons mis à disposition au fur et à mesure de leur création.
Cliquer ici pour avoir cette liste.

A présent, c'est à vous de jouer.

L'idéal serait ensuite de partager ces requêtes avec vos confrères en nous les envoyant. Nous les publierons. Allez, chiche ;-)

Les rudiments à connaitre en SQL

TRES IMPORTANT : INTERDICTION DE FAIRE D'AUTRES REQUËTES que des SELECT.
Dit autrement : interdit d'ajouter/modifier/supprimer les données de la base.
Ne faire que des lectures via l'instruction SELECT.

Il faut donc savoir principalement faire :

  • SELECT
  • jointures (LEFT JOIN)
  • GROUP BY
  • HAVING

C'est déjà bien suffisant pour interroger à peu près tout ce qu'on veut.


Démystifions le SQL… Que fait la requête suivante ?

SELECT nom, race, sexe  FROM ANIMAUX where (ESPECE='Chat')

Réponse :

elle nous retourne une liste comprenant 3 colonnes (nom, race et sexe) de tous les chats.

Les types de champs possibles

  • smallint, integer, bigint : entiers
  • stringXXX : chaîne de caractères de longueur XXX
  • memo : blob permettant de recevoir du texte de longueur importante
  • image : blob permettant de recevoir des données binaires
  • date : date
  • timestamp : date et heure
  • numeric(m,d) : nombre à virgule (très rare). “d” est le nombre de décimales possible

Précision importante :

  • format “INT100” : vous trouverez la mention “INT100” dans la description de certains champs qui accueillent des pourcentages ou des montant HT et TTC. Ces champs sont des entiers. Cela veut dire que leur vraie valeur doit être divisée par 100. C'est une petite astuce pour ne jamais stocker des nombres à virgule, afin de supprimer les problèmes d'arrondis.
  • idem pour le format “INT1000” : la valeur est à diviser par 1000.

Description des tables

TABLE FACTURES

revenir à la liste des tables

Cette table contient en réalité toutes les pièces comptable :

  • les factures
  • les prestations
  • les avoirs
  • les devis
  • les bons de livraisons

Les articles de ces pièces se trouvent dans la table ARTICLES.

TABLE FACTURES
Champ Format Précisions Lien avec une autre table
id integer clé primaire
type_facture string1 F=facture
H=prestation
A=avoir
D=devis
L=bon de livraison
num_piece string10 Fxxx, Hxxx, Axxx, Dxxx ou Lxxx
idclient integer lien avec la table des clients :
CLIENT.id=FACTURES.idclient
idveto integer lien avec la table des utilisateurs :
ADMINISTRATION.id=FACTURES.idveto
devise string3
date_facture date
date_echeance date
soldee integer 0=non
1=oui
exportee integer 0=non
1=oui
nomprenom string40
adresse memo
type_arrondi integer 0=pas d'arrondi
1=Arrondi aux 5 cts inférieurs
2=Arrondi aux 5 cts les plus proches
3=Arrondi aux 5 cts supérieurs
4=Arrondi aux 10 cts inférieurs
5=Arrondi aux 10 cts les plus proches
6=Arrondi aux 10 cts supérieurs
7=Arrondi aux 20 cts inférieurs
8=Arrondi aux 20 cts les plus proches
9=Arrondi aux 20 cts supérieurs
10=Arrondi aux 50 cts inférieurs
11=Arrondi aux 50 cts les plus proches
12=Arrondi aux 50 cts supérieurs
13=Arrondi à l'euro inférieur
14=Arrondi à l'euro le plus proche
15=Arrondi à l'euro supérieur
16=Arrondi à 5 euros supérieurs
17=Arrondi à 10 euros supérieurs
isprinted integer 0=non
1=oui
gap_facture_taux_tva integer format INT100
renseigné si le total de la pièce est arrondi
gap_facture_ttc integer format INT100 (en centimes)
renseigné si le total de la pièce est arrondi
gap_facture_ht integer format INT100 (en centimes)
renseigné si le total de la pièce est arrondi
total_facture_ttc bigint format INT100 (en centimes)
total_facture_ht bigint format INT100 (en centimes)
notes memo notes de la facture
id_site integer numéro du site lié à cette pièce (1,2,3…)
groupe01 string20 catégorie de la pièce.
Lié à l'option n° 11 de la compta
rappel integer nombre de rappels
date_relance date date dernière relance
date_relance1 date date 1ère relance
date_relance2 date date 2ème relance
date_relance3 date date 3ème relance
id_escompte integer uniquement pour les factures pour lesquelles un escompte a été créé lien avec cette même table.
Id_escompte correspond à l'identifiant de l'avoir qui représente l'escompte

TABLE ARTICLES

revenir à la liste des tables

Cette table contient tous les articles des factures, prestations, avoirs, devis et bons de livraisons.

TABLE ARTICLES
Champ Format Précisions Lien avec une autre table
id integer clé primaire
idfacture integer lien avec la table des pieces :
FACTURES.id=ARTICLES.idfacture
idclient integer lien avec la table des clients :
CLIENTS.id=ARTICLES.idclient
idanimal integer pas toujours renseigné lien avec la table des animaux :
ANIMAUX.id=ARTICLES.idanimal
ordre integer permet d'ordonner les articles
designation string80
notes memo
type_article integer 0=produit
1=acte
2=titre
3=groupe
prescrit integer 0=non
1=oui
deconditionne integer 0=non
1=oui
conditionnement integer
type_arrondi_decond integer uniquement si l'article est déconditionné :
0=pas d'arrondi
1=Arrondi aux 5 cts inférieurs
2=Arrondi aux 5 cts les plus proches
3=Arrondi aux 5 cts supérieurs
4=Arrondi aux 10 cts inférieurs
5=Arrondi aux 10 cts les plus proches
6=Arrondi aux 10 cts supérieurs
7=Arrondi aux 20 cts inférieurs
8=Arrondi aux 20 cts les plus proches
9=Arrondi aux 20 cts supérieurs
10=Arrondi aux 50 cts inférieurs
11=Arrondi aux 50 cts les plus proches
12=Arrondi aux 50 cts supérieurs
13=Arrondi à l'euro inférieur
14=Arrondi à l'euro le plus proche
15=Arrondi à l'euro supérieur
16=Arrondi à 5 euros supérieurs
17=Arrondi à 10 euros supérieurs
idfournisseur integer si produit lien avec la table des tarifs produits :
TARIFSPRODUITS.idfournisseur=ARTICLES.idfournisseur
cip string7 code cip (si produit), ou code acte (si acte)
codecentrale string20 renseigné si produit
quantite integer
taux_remise integer format INT100
taux_tva integer format INT100
type_arrondi integer uniquement si l'article n'est pas déconditionné :
0=pas d'arrondi
1=Arrondi aux 5 cts inférieurs
2=Arrondi aux 5 cts les plus proches
3=Arrondi aux 5 cts supérieurs
4=Arrondi aux 10 cts inférieurs
5=Arrondi aux 10 cts les plus proches
6=Arrondi aux 10 cts supérieurs
7=Arrondi aux 20 cts inférieurs
8=Arrondi aux 20 cts les plus proches
9=Arrondi aux 20 cts supérieurs
10=Arrondi aux 50 cts inférieurs
11=Arrondi aux 50 cts les plus proches
12=Arrondi aux 50 cts supérieurs
13=Arrondi à l'euro inférieur
14=Arrondi à l'euro le plus proche
15=Arrondi à l'euro supérieur
16=Arrondi à 5 euros supérieurs
17=Arrondi à 10 euros supérieurs
prix_ttc_unite_brut bigint format INT100
prix TTC en quantité 1
prix_ttc_qtx_net bigint format INT100
prix TTC facturé (tenant compte de la quantité)
prix_ht_qtx_net bigint format INT100
prix HT facturé
ct string3 ancienne classe thérapeutique, avant juillet 2009
sct string3 ancienne sous-classe thérapeutique, avant juillet 2009
ssct string3 ancienne sous-sous-classe thérapeutique, avant juillet 2009
date_achat date date de l'article
date_facture date même date que la piece
type_facture string1 F=facture
H=prestation
A=avoir
D=devis
L=bon de livraison
code_gtin string14 renseigné si produit
code_ean13 string13 renseigné si produit
code_amm string18 renseigné si produit
categorie string3 renseigné si produit
famille string5 renseigné si produit
sous_famille string5 renseigné si produit
fournisseur string30 renseigné si produit
classe string11 renseigné si produit
poids_unitaire_brut_gr integer renseigné si produit
id_site integer numéro du site lié à cette pièce (1,2,3…)
id_user integer dernier utilisateur qui a modifié l'article lien avec la table des utilisateurs :
ADMINISTRATION.id=ARTICLES.id_user
num_lot string15 renseigné si produit
date_expiration date renseigné si produit

TABLE ECRITURES

revenir à la liste des tables

Cette table contient tous les encaissements et remboursements.

TABLE ECRITURES
Champ Format Précisions Lien avec une autre table
id integer clé primaire
idclient integer lien avec la table des clients :
CLIENTS.id=ECRITURES.idclient
idfacture integer lien avec la table des pieces :
FACTURES.id=ECRITURES.idfacture
pointe integer 0=non
1=oui
depose integer 0=non
1=oui
exportee integer 0=non
1=oui
mode_paiement integer 1=espèces
2=chèque
3=carte
6=virement
7=prélèvement
date_mouvement date date encaissment/remboursement
libelle string30
nomprenom string40
nombanque string5
num_cheque string15
devise string3
numcaisse integer numéro de la caisse
encaiss bigint INT100
montant crédit (si encaissement).
Valeur toujours positive, sinon elle se trouve dans le champ ”“decaiss”” et celui-ci est égal à zéro
decaiss bigint INT100
montant débit (si remboursement).
Valeur toujours positive, sinon elle se trouve dans le champ ”“encaiss”” et celui-ci est égal à zéro
idremise integer lien avec la table des remises
idveto integer lien avec la table des utilisateurs :
ADMINISTRATION.id=FACTURES.idveto
id_site integer numéro du site (1,2,3…)

TABLE LINK_FACTURES_ECRITURES

revenir à la liste des tables

Cette table contient les liens entres les factures/prestations/avoirs et les écritures (encaissements et remboursements).

TABLE LINK_FACTURES_ECRITURES
Champ Format Précisions Lien avec une autre table
id integer clé primaire
idfacture integer lien avec la table des pieces :
FACTURES.id=LINK_FACTURES_ECRITURES.idfacture
idecriture integer lien avec la table des encaissements :
ECRITURES.id=LINK_FACTURES_ECRITURES.idecriture

TABLE TARIFS ACTES

revenir à la liste des tables

Cette table contient le tarif des actes.

TABLE TARIFSACTES
Champ Format Précisions Lien avec une autre table
id integer clé primaire
idcat integer lien avec la table des catégories d'actes :
TARIFSACTES_CAT.id=TARIFSACTES.idcat
code string7 code de l'acte
libelle string60
prixvente numeric(9,2) prix TTC
description memo
tauxtva numeric(9,2)
id_site integer numéro du site (1,2,3…)
phrase memo
prix_coutant numeric(9,2)

TABLE CATEGORIES TARIFS ACTES

revenir à la liste des tables

Cette table contient les catégories d'actes.

TABLE TARIFSACTES_CAT
Champ Format Précisions Lien avec une autre table
id integer clé primaire
libelle string30
id_site integer numéro du site (1,2,3…)

TABLE TARIFS PRODUITS

revenir à la liste des tables

Cette table contient les tarifs des produits.

TABLE TARIFSPRODUITS
Champ Format Précisions Lien avec une autre table
id integer clé primaire
idfournisseur integer
codecentrale string20
cip string7
designation string80
laboratoire integer
unitevente smallint
tauxtva numeric(9,2)
coef double precision
datemaj date
datedebutpromo date
datefinpromo date
prixachat_t1 numeric(9,2)
prixachat_t2 numeric(9,2)
qtxachat_t2 smallint
prixachat_t3 numeric(9,2)
qtxachat_t3 smallint
ct string3
sct string3
ssct string3
flag string1
cond numeric(9,2)
link integer
suivi_stock integer
qtx_full integer
qtx_detail integer
info_unite_detail string15
qtx_full_ideal integer
qtx_detail_ideal integer
qtx_non_recu integer
qtx_commande_fixe integer
methode_commande integer
limitecommande integer
prix_bloque integer
repere integer
en_commande integer
qtxachat_t1 smallint
code_gtin string14
code_ean13 string13
code_amm string18
code_distrib_article_rempl string15
methode_tarification string1
categorie string3
famille string5
sous_famille string5
famille_commerciale string5
fournisseur string30
statut string1
classe string11
agrement string1
poids_unitaire_brut_gr integer
sous_unite_revente integer
gestion_stock_centrale string1
id_site integer
no_remise integer
dt_update_import date
points integer
prescrit integer
libre1 string20
libre2 string20
deja_commande integer quantité déjà commandé
format string20

TABLE CLIENTS

revenir à la liste des tables

Cette table contient les fiches identités des clients.

TABLE CLIENTS
Champ Format Précisions Lien avec une autre table
id integer clé primaire
titre string15
nom string60
prenom string60
categorie string15
veterinaire string60
profession string60
typeclient string60
origine string60
depassage string1 T=oui
F=non
alim string1 T=oui
F=non
med string1 T=oui
F=non
rue1 memo
cp1 string10
ville1 string60
pays1 string30
telfaxtype11 string15
telfaxnum11 string15
telfaxlr11 string1 T=oui
F=non
telfaxtype12 string15
telfaxnum12 string15
telfaxlr12 string1 T=oui
F=non
telfaxtype13 string15
telfaxnum13 string15
telfaxlr13 string1 T=oui
F=non
adressecourrier1 string1 T=oui
F=non
rue2 memo
cp2 string10
ville2 string60
pays2 string30
telfaxtype21 string15
telfaxnum21 string15
telfaxlr21 string1 T=oui
F=non
telfaxtype22 string15
telfaxnum22 string15
telfaxlr22 string1 T=oui
F=non
telfaxtype23 string15
telfaxnum23 string15
telfaxlr23 string1 T=oui
F=non
adressecourrier2 string1 T=oui
F=non
emailperso string50
pagewebperso string50
emailburo string50
pagewebburo string50
notes memo
envoyepar string60
originectxclinique string1 T=oui
F=non
originectxfichier string1 T=oui
F=non
originectxautreclinique string1 T=oui
F=non
notesctx memo
infosperso memo
delaispaiement integer
remiseactes integer
encoursautorise double precision
contentieux string1 T=oui
F=non
premierevisite date
dernierevisite date
prochainevisite date
familleaccueil string1 T=oui
F=non
accueilchat string1 T=oui
F=non
accueilchien string1 T=oui
F=non
accueilequide string1 T=oui
F=non
accueilnac string1 T=oui
F=non
accueilnotes memo
existcommande string1 T=oui
F=non
commandeisarrive string1 T=oui
F=non
adresse_error string1 T=oui
F=non
voir_client string1
client_externe string1
id_client_de integer
client_de string60
kilometrage integer
archived integer
solde integer
datecreation date
groupe_fact integer
prelev integer
stop_prelev integer
wait_ordre_prelev integer
date_restart_prelev date
exist_plafond_prelev integer
plafond_prelev integer
raison_sociale string24
domiciliation string24
num_banque string5
num_guichet string5
num_compte string11
cle_rib string2
remiseproduits integer
remises memo
sms_ok_rappels integer
code_banque_cheque string5
color integer
num_cheptel string60
date_dernier_bilan date
id_compta string20
dt_validation_address timestamp
newsletter integer
langue string20
banque_iban string50
banque_bic string15
banque_mandat string50
banque_date_mandat date
groupe01 string20
groupe02 string20
groupe03 string20
groupe04 string20
groupe05 string20
siret string14

TABLE ANIMAUX

revenir à la liste des tables

Cette table contient les fiches identités des animaux.

TABLE ANIMAUX
Champ Format Précisions Lien avec une autre table
id integer clé primaire
idclient integer lien avec la table des clients :
CLIENTS.id=ANIMAUX.idclient
nom string60
affixe string50
espece string60
race string60
sexe string60
variete string60
robe string60
poil string60
alarme string60
datenaissance date
lof string1 T=oui
F=non
lof_value string30
accordreproduction string1 T=oui
F=non
animaldisparu string1 T=oui
F=non
animalvole string1 T=oui
F=non
antecedantsmedicaux memo
modedevie memo
tatounum string60
tatoumode string60
tatouemplacement string60
tatouidpraticien integer
tatoupraticien string60
tatoudate date
puce_num string60
puce_localisation string60
puce_type_transpondeur string15
puce_praticien string60
puce_date date
alimmenagere string1 T=oui
F=non
alimsec string1 T=oui
F=non
alimhumide string1 T=oui
F=non
alimdietetique string1 T=oui
F=non
alimconditionnement string60
alimmarque string60
alimtype string60
poidsobservations memo
regimeactive string1 T=oui
F=non
regimeraison string60
regimedatedebut date
regimeconditionnement string60
regimemarque string60
regimetype string60
regimepoidsdepart double precision
regimeobjectifpoids double precision
regimeobservations memo
assurancenom string60
assurancetype string60
assurancefranchise string60
assuranceobservations memo
vermifugedatefirstprise1 date
vermifugedatefirstprise2 date
vermifugeobservations memo
decesismort string1 T=oui
F=non
decesmortle date
deceseuthanasie string1 T=oui
F=non
deceseuthanasiepar string60
decesengarde string1 T=oui
F=non
decesenurgence string1 T=oui
F=non
decescause string180
decesnumincineration string15
decestypeincineration string60
decesautoriseincineration string1 T=oui
F=non
deceslettrecondoleance string1 T=oui
F=non
contraceptevoyerrappel string1 T=oui
F=non
decesautopsie string1_boolean T=oui
F=non
decesresultat memo
regimetyperegime string40
regimecip integer
regimerationjour integer
croissance_oreille string60
croissance_dentition string60
croissance_observations memo
aptypeshampoing string1 T=oui
F=non
aptypecollier string1 T=oui
F=non
aptypepoudre string1 T=oui
F=non
apspray string1 T=oui
F=non
apspraymarquelabo string30
apspraydate date
apspoton string1 T=oui
F=non
apspotonmarquelabo string30
apspotondate date
apcomprime string1 T=oui
F=non
apcomprimemarquelabo string30
apcomprimedate date
apampoule string1 T=oui
F=non
apampoulemarquelabo string30
apampouledate date
apdiffuseur string1 T=oui
F=non
apdiffuseurmarquelabo string30
apdiffuseurdate date
apshampmarquelabo string30
apshampdate date
apcolliermarquelabo string30
apcollierdate date
appoudremarquelabo string30
appoudredate date
apenvironnement string1 T=oui
F=non
appreventif string1 T=oui
F=non
apinfestation string1 T=oui
F=non
apenvoyerrappel string1 T=oui
F=non
apallergie memo
tailleadulte numeric(9,2)
date_premiere_chaleur date
date_derniere_chaleur date
vermifuge_num_cal_actif integer
croissance_ration_quotidienne integer
dentition_dents_manquante string50
dentition_dents_lait string50
synthese_dossier memo
aprevoir memo
poids numeric(9,3)
taille numeric(9,2)
flag_modules string50
traitement_en_cours memo
issuivi integer
vie_en integer
vie_a integer
postit memo
attente_labo integer
regimeprixparjour numeric(9,2)
question_devenu integer
animaldonne integer
datecreation date
compagnie_incineration string30
ischeptel integer
numero_passeport string30
typage_adn integer
sire string30
alias string60
ciaf_code string50
regime_code_gtin string14
regime_produit_designation string80
regime_produit_poids integer
regime_produit_prix100 integer
assure smallint
regime_produit_id_centrale integer
groupe_sanguin string15
poids_ideal1000 integer
date_verif_perdu_vole date
alerte_antecedents smallint
alerte_traitements smallint
alerte_divers smallint

TABLE CONSULTATIONS

revenir à la liste des tables

Cette table contient les fiches consultations du dossier médical.

TABLE CONSULT
Champ Format Précisions Lien avec une autre table
id integer clé primaire
idanimal integer lien avec la table des animaux :
ANIMAUX.id=CONSULT.id_animal
idclient integer lien avec la table des clients :
CLIENTS.id=CONSULT.id_client
idveto_consult integer lien avec la table des utilisateurs :
ADMINISTRATION.id=CONSULT.id_user
datetime_consult timestamp
vuengarde integer 0=non
1=oui
vuenurgence integer 0=non
1=oui
vuadomicile integer 0=non
1=oui
temperature numeric(9,2)
poids numeric(9,2)
refere_a string60
trc string15
rythme_cardiaque string15
freq_resp string15
couleur_muq string15
motif string60
carton memo contenu de la consultation.
Contenu codé car contient des informations de formatage (couleur, gras, etc)
conclusion string60
id_hospi integer lien avec la table des hospitalisation :
HOSPI.id=CONSULT.id_hospi
id_site integer numéro du site (1,2,3…)
type_conclusion smallint
type_consult smallint
type_pathologie smallint

TABLE EVENEMENTS

revenir à la liste des tables

Cette table contient les événements, c'est-à-dire principalement les vaccins.

TABLE EVENTS
Champ Format Précisions Lien avec une autre table
id integer clé primaire
id_relance integer lien avec la table des relances :
RELANCES.id=EVENTS.id_relance
id_animal integer lien avec la table des animaux :
ANIMAUX.id=EVENTS.id_animal
id_client integer lien avec la table des clients :
CLIENTS.id=EVENTS.id_client
libelle_categorie string60
libelle_event string60
event_type smallint 0=événement lié à un acte (exemple : vaccin)
1=information (exemple : colier scalibor)
the_date date date de l'événement
produit string60
numero_lot string30
prevoir_facturation smallint 0=non
1=oui
code_acte string7
relance_dans_nb_jours integer
libelle_next_event string60
id_user integer lien avec la table des utilisateurs :
ADMINISTRATION.id=EVENTS.id_user
id_site integer numéro du site (1,2,3…)

TABLE RELANCES

revenir à la liste des tables

Cette table contient les relances, c'est-à-dire les programmations des relances des événements.

TABLE RELANCES
Champ Format Précisions Lien avec une autre table
id integer clé primaire
id_event integer lien avec la table des événements :
EVENTS.id=RELANCES.id_event
id_animal integer lien avec la table des animaux :
ANIMAUX.id=RELANCES.id_animal
id_client integer lien avec la table des clients :
CLIENTS.id=RELANCES.id_client
libelle_categorie string60
libelle_event string60
event_type smallint 0=événement lié à un acte (exemple : vaccin)
1=information (exemple : colier scalibor)
the_date date date de la relance
the_date_debut_cycle date
l1 smallint courrier 1 envoyé par papier
0=non
1=oui
e1 smallint courrier 1 envoyé par email
0=non
1=oui
s1 smallint courrier 1 envoyé par sms
0=non
1=oui
l2 smallint courrier 2 envoyé par papier
0=non
1=oui
e2 smallint courrier 2 envoyé par email
0=non
1=oui
s2 smallint courrier 2 envoyé par sms
0=non
1=oui
dl1 timestamp date envoi courrier 1 papier
0=non
1=oui
de1 timestamp date envoi courrier 1 email
0=non
1=oui
ds1 timestamp date envoi courrier 1 sms
0=non
1=oui
dl2 timestamp date envoi courrier 2 papier
0=non
1=oui
de2 timestamp date envoi courrier 2 email
0=non
1=oui
ds2 timestamp date envoi courrier 2 sms
0=non
1=oui
id_rdv integer lien avec la table des rendez-vous :
RDV.id=RELANCES.id_rdv
date_prise_rdv integer
status_action string60 réalisé, abandonné, refusé, etc…
vu smallint 0=non
1=oui
id_next_relance integer pour le chaînage des relances.
Événements récurents
lien avec la table des relances :
RELANCES.id=RELANCES.id_next_relance
id_user integer lien avec la table des utilisateurs :
ADMINISTRATION.id=RELANCES.id_user
id_site integer numéro du site (1,2,3…)
requetes_sql.txt · Dernière modification: 2017/09/12 15:30 (modification externe)