2/11
Prophylaxie 1/2
Comment compter le nombre de patients éligibles à la prophylaxie cotrimoxazole ?

On peut sortir le nombre de dossiers dont la sérologie est positive:

nb_doss_vih<-SELECT COUNT(*) FROM Doss WHERE MediSero=1

Ok, on filtre la colonne MediSero et la valeur 1 signifie VIH+.
Et pour le nombre de patients sous cotrimoxazole ?

On va calculer le nombre de patients à qui on a prescrit au moins une fois ce produit.
Il faut vérifier la désignation exacte de ce produit dans Paramètres > Listes > Pharmacie > Désignation. Normalement, la désignation précise est "sulfaméthoxazole + triméthoprime" (peu importe le dosage et la forme). Certains centres ont ajouté le produit "cotrimoxazole" ou "cotrim" voire "Bactrim". Dans ce cas, il faut indiquer cette désignation dans la ligne "set @cotrim=..." en respectant les accents, espaces, majuscules et minuscules.

set @cotrim=(SELECT Nume FROM Dci_ WHERE Desi="sulfaméthoxazole + triméthoprime")
nb_doss_cotrim<-SELECT COUNT( DISTINCT Doss.Nume ) FROM Doss,MediCons WHERE Doss.Nume=MediCons.Doss AND (Med0Dci_=@cotrim OR Med1Dci_=@cotrim OR Med2Dci_=@cotrim OR Med3Dci_=@cotrim OR Med4Dci_=@cotrim OR Med5Dci_=@cotrim)


Ce code ressemble à ce qu'on a vu lors de la formation 3 sur les ARV. On cherche les consultations médicales des dossiers et on filtre les colonnes de prescription de médicament.

Oui, quand le médecin prescrit des médicaments IO, les 6 colonnes Med0Dci_ à Med5Dci_ contiennent la désignation des produits. Le cotrimoxazole peut se trouver dans l'une des colonnes.
A la 1ère ligne, je stocke l'identifiant de la désignation du cotrimoxazole dans le mot-clé "@cotrim", pour l'utiliser dans la suite du code. La table des désignations des produits est Dci_.

Si on veut compter les patients à qui on a prescrit du cotrimoxazole seulement dans les 12 derniers mois:

set @cotrim=(SELECT Nume FROM Dci_ WHERE Desi="sulfaméthoxazole + triméthoprime")
nb_doss_cotrim<-SELECT COUNT( DISTINCT Doss.Nume ) FROM Doss,MediCons WHERE Doss.Nume=MediCons.Doss AND (Med0Dci_=@cotrim OR Med1Dci_=@cotrim OR Med2Dci_=@cotrim OR Med3Dci_=@cotrim OR Med4Dci_=@cotrim OR Med5Dci_=@cotrim) AND MediCons.Dat_>DATE_SUB(CURDATE(),INTERVAL 1 YEAR)


Ok, on peut remplacer la condition sur les 12 derniers mois "MediCons.Dat_>DATE_SUB(CURDATE(),INTERVAL 1 YEAR)" par celle qu'on a déjà utilisée avec debut_periode et fin_periode.