Sommaire
.... Le logiciel - la base de données
.... Exploiter mes données
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.
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 :
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.
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
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 :
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.
Précision importante :
Cette table contient en réalité toutes les pièces comptable :
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 |
gv_plan_id | string20 | identifiant Oxane du plan auquel est lié cette pièce comptable | |
gv_id_reglement | string20 | identifiant Oxane du réglement de cette pièce comptable |
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 |
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…) | |
gv_plan_id | string20 | identifiant Oxane du plan auquel est lié cette pièce comptable | |
gv_id_reglement | string20 | identifiant Oxane du réglement de cette pièce comptable |
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 |
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) |
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…) |
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 |
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 |
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 |
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 |
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…) |
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…) |