5/8
Suivi patient NFS
De la même façon, je voudrais afficher toute la numération (NFS) des patients.

D'accord, affichons toutes les données de NFS par ordre chronologique pour chaque dossier.
Les 2 champs de saisie servent toujours à sélectionner les dossiers compris entre le numéro x et y, pour limiter la liste affichée.

#### saisie ####
N° dossier compris entre|nume_debu|nombre|
et|nume_fin|nombre|
#### sql ####
DROP TABLE IF EXISTS tmp_debu_arv
CREATE TEMPORARY TABLE tmp_debu_arv (Doss INT,Dat_ DATETIME)
INSERT INTO tmp_debu_arv (Doss,Dat_) SELECT Doss,MIN(Dat_) FROM MediCons WHERE Arv0Prsc<>'' OR Arv1Prsc<>'' OR Arv2Prsc<>'' OR Arv3Prsc<>'' GROUP BY Doss
DROP TABLE IF EXISTS tmp_nfs;
CREATE TEMPORARY TABLE tmp_nfs (Doss INT,Dat_ DATETIME,Nfs0 FLOAT,Nfs1 FLOAT,Nfs2 FLOAT,Nfs3 FLOAT,Nfs4 FLOAT,Nfs5 FLOAT,Nfs6 FLOAT,Nfs7 FLOAT,Nfs8 FLOAT,Nfs9 FLOAT,Nf10 FLOAT,Nf11 FLOAT,Nf12 FLOAT,Nf13 FLOAT,Nf14 FLOAT);
INSERT INTO tmp_nfs (Doss,Dat_,Nfs0,Nfs1,Nfs2,Nfs3,Nfs4,Nfs5,Nfs6,Nfs7,Nfs8,Nfs9,Nf10,Nf11,Nf12,Nf13,Nf14) SELECT Doss,LaboDat_,Nfs0,Nfs1,Nfs2,Nfs3,Nfs4,Nfs5,Nfs6,Nfs7,Nfs8,Nfs9,Nf10,Nf11,Nf12,Nf13,Nf14 FROM Entr WHERE Nfs_>0 ORDER BY LaboDat_;
suivi_doss_arv<-SELECT Ref_,(SELECT DATE_FORMAT(Dat_,'%m/%Y') FROM tmp_debu_arv WHERE tmp_debu_arv.Doss=Doss.Nume),DATE_FORMAT(tmp_nfs.Dat_,'%m/%Y'),Nfs0,Nfs1,Nfs2,Nfs3,Nfs4,Nfs5,Nfs6,Nfs7,Nfs9,Nfs8,Nf10,Nf11,Nf12,Nf13,Nf14 FROM Doss,tmp_nfs WHERE Doss.Nume=tmp_nfs.Doss AND Arv_Desi<>'' AND Ref_>= nume_debu AND Ref_<= nume_fin ORDER BY Doss.Nume,tmp_nfs.Dat_
#### affichage ####
N° |nume_debu| à |nume_fin|
Dossier|ARV|NFS|Leuco.|Hémati.|Hb|Hémato.|VGM|TCMH|CCMH|Plaq.|Lymph.|% lym|% neutr|% éosi|% baso|% mono|Concl.
suivi_doss_arv


La colonne ARV indique la date de début du traitement ARV. La colonne NFS indique la date de l'examen de numération. L'affichage des dates est simplifié en mois/année. Exporter vers Excel pour voir la dernière colonne à droite intitulée Conclusion.
(Rem: dans la dernière ligne SQL, il est normal que la colonne Nfs9 précède Nfs8)