Text-to-SQL médicaments

Banc d'évaluation de LLM locaux sur la Base de données publique des médicaments.

Meilleure configuration

68,3 %
Exactitude · qwen2.5-coder:7b
100,0 %
Requêtes exécutables
16,6 s
Latence médiane par question
60
Questions évaluées
10
Configurations comparées

Exactitude par configuration

Part des questions dont le résultat d'exécution est identique à la référence.

0 %25 %50 %75 %100 %qwen2.5-coder:7b68,3 %qwen2.5-coder:7b · sans libellés exacts63,3 %qwen2.5-coder:7b · zero-shot · sans libellés exacts63,3 %qwen2.5-coder:7b · sans auto-correction · sans libellés exacts61,7 %qwen2.5-coder:3b60,0 %qwen2.5-coder:1.5b58,3 %qwen2.5-coder:3b · sans libellés exacts56,7 %qwen2.5-coder:1.5b · sans libellés exacts55,0 %qwen2.5-coder:1.5b · sans auto-correction · sans libellés exacts51,7 %qwen2.5-coder:1.5b · zero-shot · sans libellés exacts48,3 %

Classement détaillé

#ConfigurationBackendExactitudeStricteExécutableRéparéesp50p95Tokens/questionDate
1qwen2.5-coder:7bollama68,3 %55,0 %100,0 %316,6 s35,0 s29042026-10-14
2qwen2.5-coder:7b · sans libellés exactsollama63,3 %51,7 %100,0 %214,7 s36,9 s24192026-10-14
3qwen2.5-coder:7b · zero-shot · sans libellés exactsollama63,3 %50,0 %100,0 %114,0 s24,9 s21342026-10-14
4qwen2.5-coder:7b · sans auto-correction · sans libellés exactsollama61,7 %50,0 %95,0 %015,2 s27,3 s23382026-10-14
5qwen2.5-coder:3bollama60,0 %43,3 %93,3 %47,5 s26,6 s31412026-10-16
6qwen2.5-coder:1.5bollama58,3 %38,3 %91,7 %53,9 s13,1 s32662026-10-14
7qwen2.5-coder:3b · sans libellés exactsollama56,7 %41,7 %91,7 %37,4 s25,2 s26612026-10-12
8qwen2.5-coder:1.5b · sans libellés exactsollama55,0 %33,3 %95,0 %33,8 s11,1 s26042026-10-14
9qwen2.5-coder:1.5b · sans auto-correction · sans libellés exactsollama51,7 %33,3 %88,3 %03,6 s5,8 s23042026-10-14
10qwen2.5-coder:1.5b · zero-shot · sans libellés exactsollama48,3 %41,7 %91,7 %23,4 s8,6 s23552026-10-14

Ablations

Effet de chaque facteur retiré seul, par rapport au run du même modèle qui ne diffère que par ce facteur, en points d'exactitude. La base combine exemples few-shot, une auto-correction et libellés exacts.

ModèleFacteur retiréPar rapport àExactitudeÉcart
qwen2.5-coder:1.5bsans libellés exactsbase55,0 %-3,3 pt
qwen2.5-coder:1.5bsans auto-correctionsans libellés exacts51,7 %-3,3 pt
qwen2.5-coder:1.5bzero-shotsans libellés exacts48,3 %-6,7 pt
qwen2.5-coder:3bsans libellés exactsbase56,7 %-3,3 pt
qwen2.5-coder:7bsans libellés exactsbase63,3 %-5,0 pt
qwen2.5-coder:7bzero-shotsans libellés exacts63,3 %0,0 pt
qwen2.5-coder:7bsans auto-correctionsans libellés exacts61,7 %-1,7 pt

Par difficulté

qwen2.5-coder:7bqwen2.5-coder:7b · sans libellés exactsqwen2.5-coder:7b · zero-shot · sans libellés exactsqwen2.5-coder:7b · sans auto-correction · sans libellés exactsqwen2.5-coder:3bqwen2.5-coder:1.5bqwen2.5-coder:3b · sans libellés exactsqwen2.5-coder:1.5b · sans libellés exactsqwen2.5-coder:1.5b · sans auto-correction · sans libellés exactsqwen2.5-coder:1.5b · zero-shot · sans libellés exacts
Facile88,0 %84,0 %80,0 %84,0 %84,0 %84,0 %80,0 %84,0 %80,0 %68,0 %
Moyen65,4 %61,5 %65,4 %57,7 %53,8 %53,8 %46,2 %42,3 %42,3 %42,3 %
Difficile22,2 %11,1 %11,1 %11,1 %11,1 %0,0 %22,2 %11,1 %0,0 %11,1 %

Par catégorie de question

qwen2.5-coder:7bqwen2.5-coder:7b · sans libellés exactsqwen2.5-coder:7b · zero-shot · sans libellés exactsqwen2.5-coder:7b · sans auto-correction · sans libellés exactsqwen2.5-coder:3bqwen2.5-coder:1.5bqwen2.5-coder:3b · sans libellés exactsqwen2.5-coder:1.5b · sans libellés exactsqwen2.5-coder:1.5b · sans auto-correction · sans libellés exactsqwen2.5-coder:1.5b · zero-shot · sans libellés exacts
Comptage88,9 %88,9 %100,0 %77,8 %77,8 %100,0 %77,8 %100,0 %88,9 %88,9 %
Filtrage60,0 %60,0 %40,0 %40,0 %60,0 %40,0 %60,0 %40,0 %40,0 %20,0 %
Jointures14,3 %14,3 %42,9 %14,3 %0,0 %42,9 %0,0 %14,3 %14,3 %28,6 %
Agrégations66,7 %66,7 %50,0 %66,7 %50,0 %50,0 %50,0 %33,3 %33,3 %33,3 %
Classements (top N)80,0 %80,0 %80,0 %80,0 %100,0 %80,0 %100,0 %60,0 %60,0 %80,0 %
Dates100,0 %100,0 %100,0 %100,0 %83,3 %50,0 %66,7 %33,3 %33,3 %66,7 %
Prix et remboursement85,7 %85,7 %71,4 %85,7 %57,1 %42,9 %71,4 %57,1 %57,1 %42,9 %
Génériques57,1 %57,1 %57,1 %57,1 %42,9 %42,9 %42,9 %71,4 %57,1 %28,6 %
Avis HAS50,0 %50,0 %50,0 %50,0 %75,0 %50,0 %50,0 %50,0 %50,0 %25,0 %
Ruptures de stock75,0 %0,0 %0,0 %25,0 %75,0 %75,0 %50,0 %75,0 %75,0 %50,0 %

Analyse des erreurs

Une cause par réponse fausse, la première qui s'applique de haut en bas (comparaison automatique avec la requête de référence). Survoler un nombre pour voir les questions.

qwen2.5-coder:7bqwen2.5-coder:3bqwen2.5-coder:1.5b
SQL non exécutable, même après auto-correction–45
Table nécessaire absente de la requête254
Table en trop ou jointure sur d'autres colonnes645
Agrégat différent (COUNT, COUNT DISTINCT, SUM, AVG…)564
Valeur de filtre texte différente421
Plus de lignes que la référence–11
Moins de lignes que la référence1––
Bon nombre de lignes, valeurs différentes125
Total des réponses fausses192425

Détail des questions · qwen2.5-coder:7b

IdQuestionDifficultéRésultatLatence
q001Combien de spécialités pharmaceutiques sont recensées dans la base ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM medicaments

Référence

SELECT COUNT(*) FROM medicaments
facile✓ juste27,8 s
q002Combien de médicaments sont actuellement commercialisés ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM medicaments WHERE etat_commercialisation = 'Commercialisée'

Référence

SELECT COUNT(*) FROM medicaments WHERE etat_commercialisation = 'Commercialisée'
facile✓ juste11,6 s
q003Combien de médicaments font l'objet d'une surveillance renforcée ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM medicaments WHERE surveillance_renforcee = 1

Référence

SELECT COUNT(*) FROM medicaments WHERE surveillance_renforcee = 1
facile✓ juste11,2 s
q004Combien de spécialités ont été autorisées par procédure centralisée européenne ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM medicaments WHERE type_procedure_amm = 'Procédure centralisée'

Référence

SELECT COUNT(*) FROM medicaments WHERE type_procedure_amm = 'Procédure centralisée'
facile✓ juste12,7 s
q005Combien de médicaments ne sont plus commercialisés ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM medicaments WHERE etat_commercialisation = 'Non commercialisée'

Référence

SELECT COUNT(*) FROM medicaments WHERE etat_commercialisation = 'Non commercialisée'
facile✓ juste11,6 s
q006Quels médicaments ont pour titulaire le laboratoire UPSA ?
SQL

Généré

SELECT DISTINCT cis, denomination FROM medicaments WHERE titulaires = 'UPS A S'

Référence

SELECT denomination FROM medicaments WHERE sans_accents(titulaires) LIKE '%UPSA%'
facile✗ faux9,6 s
q007Combien de spécialités différentes contiennent du paracétamol comme substance active ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM compositions WHERE nature_composant = 'SA' AND sans_accents(substance) LIKE '%PARACÉTAMOL%'

Référence

SELECT COUNT(DISTINCT cis) FROM compositions WHERE nature_composant = 'SA' AND sans_accents(substance) LIKE '%PARACETAMOL%'
moyen✗ faux16,5 s
q008Quels médicaments s'administrent par voie cutanée ?
SQL

Généré

SELECT DISTINCT m.cis, m.denomination FROM medicaments m JOIN medicament_voies mv ON mv.cis = m.cis WHERE sans_accents(mv.voie) LIKE '%cutanée%'

Référence

SELECT m.denomination FROM medicaments m JOIN medicament_voies v ON v.cis = m.cis WHERE v.voie = 'cutanée'
moyen✗ faux17,7 s
q009Combien de spécialités s'administrent par voie intraveineuse ?
SQL

Généré

SELECT COUNT(DISTINCT m.cis) AS nb_specialites FROM medicaments m JOIN medicament_voies mv ON mv.cis = m.cis WHERE sans_accents(mv.voie) LIKE '%intraveineuse%'

Référence

SELECT COUNT(DISTINCT cis) FROM medicament_voies WHERE voie = 'intraveineuse'
facile✓ juste41,9 s
q010Quels sont les 5 laboratoires titulaires du plus grand nombre de spécialités ?
SQL

Généré

SELECT titulaires, COUNT(DISTINCT cis) AS nb_specialites FROM medicaments WHERE etat_commercialisation = 'Commercialisée' GROUP BY titulaires ORDER BY nb_specialites DESC LIMIT 5

Référence

SELECT titulaires FROM medicaments GROUP BY titulaires ORDER BY COUNT(*) DESC LIMIT 5
moyen✗ faux19,0 s
q011Quel est le prix de la boîte de DOLIPRANE 1000 mg la moins chère ?
SQL

Généré

SELECT MIN(prix_euros) AS prix_minimal_euros FROM presentations p JOIN medicaments m ON m.cis = p.cis WHERE sans_accents(m.denomination) LIKE '%DOLIPRANE 1000 MG%'

Référence

SELECT MIN(p.prix_euros) FROM presentations p JOIN medicaments m ON m.cis = p.cis WHERE sans_accents(m.denomination) LIKE 'DOLIPRANE 1000 MG%'
moyen✓ juste20,9 s
q012Quel est le prix de la boîte de médicament la plus chère ?
SQL

Généré

SELECT MAX(prix_euros) AS prix_max_euros FROM presentations WHERE prix_euros IS NOT NULL

Référence

SELECT MAX(prix_euros) FROM presentations
facile✓ juste10,0 s
q013Quel médicament possède la boîte la plus chère ?
SQL

Généré

SELECT m.cis, m.denomination, p.prix_euros FROM medicaments m JOIN presentations p ON p.cis = m.cis WHERE p.prix_euros IS NOT NULL ORDER BY p.prix_euros DESC LIMIT 1

Référence

SELECT m.denomination FROM presentations p JOIN medicaments m ON m.cis = p.cis WHERE p.prix_euros = (SELECT MAX(prix_euros) FROM presentations)
moyen✓ juste20,8 s
q014Combien de présentations sont remboursées à 100 % ?
SQL

Généré

SELECT COUNT(*) AS nb_presentations FROM presentations WHERE taux_remboursement = 100

Référence

SELECT COUNT(*) FROM presentations WHERE taux_remboursement = 100
facile✓ juste11,0 s
q015Combien de présentations y a-t-il pour chaque taux de remboursement ?
SQL

Généré

SELECT taux_remboursement, COUNT(*) AS nb_presentations FROM presentations WHERE taux_remboursement IS NOT NULL GROUP BY taux_remboursement

Référence

SELECT taux_remboursement, COUNT(*) FROM presentations WHERE taux_remboursement IS NOT NULL GROUP BY taux_remboursement
moyen✓ juste15,4 s
q016Quel est le prix moyen des boîtes remboursées à 65 % ?
SQL

Généré

SELECT ROUND(AVG(prix_euros), 2) AS prix_moyen_euros FROM presentations WHERE taux_remboursement = 65 AND prix_euros IS NOT NULL

Référence

SELECT AVG(prix_euros) FROM presentations WHERE taux_remboursement = 65
facile✓ juste17,3 s
q017Quels médicaments sont actuellement en rupture de stock ?
SQL

Généré

SELECT DISTINCT m.cis, m.denomination FROM medicaments m JOIN disponibilites d ON d.cis = m.cis WHERE d.statut = 'Rupture de stock' AND d.date_mise_a_jour = (SELECT MAX(date_mise_a_jour) FROM disponibilites WHERE cis = d.cis)

Référence

SELECT DISTINCT m.denomination FROM disponibilites d JOIN medicaments m ON m.cis = d.cis WHERE d.code_statut = 1
moyen✓ juste26,2 s
q018Combien de spécialités sont en tension d'approvisionnement ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM disponibilites WHERE statut = 'Tension d''approvisionnement'

Référence

SELECT COUNT(DISTINCT cis) FROM disponibilites WHERE code_statut = 2
facile✓ juste12,8 s
q019Combien de groupes génériques différents existe-t-il ?
SQL

Généré

SELECT COUNT(DISTINCT id_groupe) AS nb_groupes_generiques FROM groupes_generiques

Référence

SELECT COUNT(DISTINCT id_groupe) FROM groupes_generiques
facile✓ juste9,8 s
q020Combien de spécialités sont des princeps ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_princeps FROM groupes_generiques WHERE type_libelle = 'princeps'

Référence

SELECT COUNT(DISTINCT cis) FROM groupes_generiques WHERE type_generique = 0
facile✓ juste12,0 s
q021Quels sont les génériques du TAHOR 10 mg ?
SQL

Généré

SELECT DISTINCT m.cis, m.denomination FROM medicaments m JOIN groupes_generiques gg ON gg.cis = m.cis WHERE sans_accents(m.denomination) LIKE '%TAHOR 10 MG%' AND gg.type_generique = 1

Référence

SELECT DISTINCT m.denomination FROM groupes_generiques g JOIN groupes_generiques p ON p.id_groupe = g.id_groupe AND p.type_generique = 0 JOIN medicaments mp ON mp.cis = p.cis JOIN medicaments m ON m.cis = g.cis WHERE g.type_generique <> 0 AND sans_accents(mp.denomination) LIKE 'TAHOR 10 MG%'
difficile✗ faux21,9 s
q022Quel laboratoire est titulaire du plus grand nombre de génériques ?
SQL

Généré

SELECT titulaires, COUNT(DISTINCT cis) AS nb_generiques FROM medicaments WHERE cis IN ( SELECT cis FROM groupes_generiques WHERE type_generique = 1 ) GROUP BY titulaires ORDER BY nb_generiques DESC LIMIT 1

Référence

SELECT m.titulaires FROM groupes_generiques g JOIN medicaments m ON m.cis = g.cis WHERE g.type_generique = 1 GROUP BY m.titulaires ORDER BY COUNT(DISTINCT g.cis) DESC LIMIT 1
moyen✓ juste23,4 s
q023Combien de médicaments ont reçu un service médical rendu insuffisant ?
SQL

Généré

SELECT COUNT(DISTINCT m.cis) AS nb_specialites FROM medicaments m JOIN avis_smr a ON a.cis = m.cis WHERE a.valeur_smr = 'Insuffisant'

Référence

SELECT COUNT(DISTINCT cis) FROM avis_smr WHERE valeur_smr = 'Insuffisant'
facile✗ faux18,5 s
q024Quels médicaments ont obtenu une ASMR de niveau I ?
SQL

Généré

SELECT DISTINCT m.cis, m.denomination FROM medicaments m JOIN avis_asmr a ON a.cis = m.cis WHERE a.valeur_asmr = 'I'

Référence

SELECT DISTINCT m.denomination FROM avis_asmr a JOIN medicaments m ON m.cis = a.cis WHERE a.valeur_asmr = 'I'
moyen✓ juste16,0 s
q025Combien d'avis SMR la HAS a-t-elle rendus en 2020 ?
SQL

Généré

SELECT COUNT(*) AS nb_avis_smr FROM avis_smr WHERE strftime('%Y', date_avis) = '2020'

Référence

SELECT COUNT(*) FROM avis_smr WHERE strftime('%Y', date_avis) = '2020'
moyen✓ juste13,7 s
q026Comment se répartissent les avis SMR par niveau de service médical rendu ?
SQL

Généré

SELECT valeur_smr, COUNT(*) AS nb_avis FROM avis_smr GROUP BY valeur_smr ORDER BY valeur_smr

Référence

SELECT valeur_smr, COUNT(*) FROM avis_smr GROUP BY valeur_smr
facile✓ juste12,7 s
q027Combien de médicaments sont inscrits sur la liste I ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_medicaments FROM conditions_prescription WHERE condition = 'liste I'

Référence

SELECT COUNT(DISTINCT cis) FROM conditions_prescription WHERE condition = 'liste I'
facile✓ juste11,1 s
q028Combien de spécialités sont réservées à l'usage hospitalier ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM conditions_prescription WHERE condition = 'prescription hospitalière'

Référence

SELECT COUNT(DISTINCT cis) FROM conditions_prescription WHERE sans_accents(condition) LIKE '%USAGE HOSPITALIER%'
moyen✗ faux11,2 s
q029Combien de médicaments d'intérêt thérapeutique majeur sont recensés ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_mitm FROM mitm

Référence

SELECT COUNT(DISTINCT cis) FROM mitm
facile✓ juste8,3 s
q030Quel est le code ATC du LEVOTHYROX ?
SQL

Généré

SELECT code_atc FROM mitm WHERE sans_accents(denomination) LIKE '%LEVOTHYROX%'

Référence

SELECT DISTINCT t.code_atc FROM mitm t JOIN medicaments m ON m.cis = t.cis WHERE sans_accents(m.denomination) LIKE 'LEVOTHYROX%'
moyen✗ faux10,5 s
q031Combien de médicaments d'intérêt thérapeutique majeur sont des antibiotiques à usage systémique (code ATC J01) ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_mitm FROM mitm WHERE sans_accents(code_atc) LIKE 'J01%'

Référence

SELECT COUNT(DISTINCT cis) FROM mitm WHERE code_atc LIKE 'J01%'
moyen✓ juste14,7 s
q032Combien de médicaments ont obtenu leur AMM en 2020 ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_medicaments FROM medicaments WHERE strftime('%Y', date_amm) = '2020'

Référence

SELECT COUNT(*) FROM medicaments WHERE strftime('%Y', date_amm) = '2020'
facile✓ juste13,2 s
q033Quelle est la date d'AMM la plus ancienne parmi les médicaments commercialisés ?
SQL

Généré

SELECT MIN(date_amm) AS date_amm_min FROM medicaments WHERE etat_commercialisation = 'Commercialisée'

Référence

SELECT MIN(date_amm) FROM medicaments WHERE etat_commercialisation = 'Commercialisée'
facile✓ juste12,3 s
q034Combien d'AMM ont été délivrées chaque année depuis 2020 ?
SQL

Généré

SELECT strftime('%Y', date_amm) AS annee, COUNT(DISTINCT cis) AS nb_amm FROM medicaments WHERE date_amm >= '2020-01-01' GROUP BY annee ORDER BY annee

Référence

SELECT strftime('%Y', date_amm) AS annee, COUNT(*) FROM medicaments WHERE date_amm >= '2020-01-01' GROUP BY annee
moyen✓ juste20,9 s
q035Combien de spécialités contiennent au moins trois substances actives différentes ?
SQL

Généré

SELECT COUNT(DISTINCT m.cis) AS nb_specialites FROM medicaments m JOIN compositions c ON c.cis = m.cis WHERE c.nature_composant = 'SA' GROUP BY m.cis HAVING COUNT(DISTINCT c.substance) >= 3

Référence

SELECT COUNT(*) FROM ( SELECT cis FROM compositions WHERE nature_composant = 'SA' GROUP BY cis HAVING COUNT(DISTINCT code_substance) >= 3 )
difficile✗ faux48,6 s
q036Quelle substance active entre dans la composition du plus grand nombre de spécialités ?
SQL

Généré

SELECT c.substance, COUNT(DISTINCT m.cis) AS nb_specialites FROM compositions c JOIN medicaments m ON c.cis = m.cis WHERE c.nature_composant = 'SA' GROUP BY c.substance ORDER BY nb_specialites DESC LIMIT 1

Référence

SELECT substance FROM compositions WHERE nature_composant = 'SA' GROUP BY substance ORDER BY COUNT(DISTINCT cis) DESC LIMIT 1
moyen✓ juste23,9 s
q037Quelles sont les 5 substances actives présentes dans le plus de spécialités ?
SQL

Généré

SELECT c.substance, COUNT(DISTINCT m.cis) AS nb_specialites FROM compositions c JOIN medicaments m ON c.cis = m.cis WHERE c.nature_composant = 'SA' GROUP BY c.substance ORDER BY nb_specialites DESC LIMIT 5

Référence

SELECT substance FROM compositions WHERE nature_composant = 'SA' GROUP BY substance ORDER BY COUNT(DISTINCT cis) DESC LIMIT 5
moyen✓ juste23,7 s
q038Combien de présentations sont agréées aux collectivités ?
SQL

Généré

SELECT COUNT(cip13) AS nb_presentations_agrees FROM presentations WHERE agrement_collectivites = 1

Référence

SELECT COUNT(*) FROM presentations WHERE agrement_collectivites = 1
facile✓ juste11,7 s
q039Quel est le prix moyen d'une boîte de médicament à base de metformine ?
SQL

Généré

SELECT AVG(prix_euros) AS prix_moyen_euros FROM presentations p JOIN compositions c ON c.cis = p.cis WHERE sans_accents(c.substance) LIKE '%METFORMINE%'

Référence

SELECT AVG(prix_euros) FROM presentations WHERE cis IN ( SELECT cis FROM compositions WHERE nature_composant = 'SA' AND sans_accents(substance) LIKE '%METFORMINE%' )
difficile✗ faux40,1 s
q040Combien de médicaments génériques ont au moins une présentation remboursée ?
SQL

Généré

SELECT COUNT(DISTINCT m.cis) AS nb_medicaments FROM medicaments m JOIN presentations p ON p.cis = m.cis WHERE p.taux_remboursement IS NOT NULL

Référence

SELECT COUNT(DISTINCT g.cis) FROM groupes_generiques g JOIN presentations p ON p.cis = g.cis WHERE g.type_generique = 1 AND p.taux_remboursement IS NOT NULL
difficile✗ faux17,5 s
q041Combien de substances actives distinctes entrent dans la composition de spécialités commercialisées en rupture ou en tension d'approvisionnement ?
SQL

Généré

SELECT COUNT(DISTINCT c.substance) AS nb_substances FROM compositions c JOIN medicaments m ON m.cis = c.cis JOIN disponibilites d ON d.cis = m.cis WHERE c.nature_composant = 'SA' AND m.etat_commercialisation = 'Commercialisée' AND (d.statut = 'Rupture de stock' OR d.statut = 'Tension d''approvisionnement')

Référence

SELECT COUNT(DISTINCT c.substance) FROM medicaments m JOIN disponibilites d ON d.cis = m.cis JOIN compositions c ON c.cis = m.cis WHERE d.code_statut IN (1, 2) AND m.etat_commercialisation = 'Commercialisée' AND c.nature_composant = 'SA'
difficile✓ juste34,8 s
q042Combien de présentations de médicaments sous surveillance renforcée sont remboursées à 65 % ?
SQL

Généré

SELECT COUNT(DISTINCT p.cip13) AS nb_presentations FROM presentations p JOIN medicaments m ON m.cis = p.cis WHERE m.surveillance_renforcee = 1 AND p.taux_remboursement = 65

Référence

SELECT COUNT(*) FROM presentations p JOIN medicaments m ON m.cis = p.cis WHERE m.surveillance_renforcee = 1 AND p.taux_remboursement = 65
moyen✓ juste21,7 s
q043Combien de spécialités possèdent plusieurs voies d'administration ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM medicament_voies GROUP BY cis HAVING COUNT(DISTINCT voie) > 1

Référence

SELECT COUNT(*) FROM ( SELECT cis FROM medicament_voies GROUP BY cis HAVING COUNT(*) > 1 )
moyen✗ faux14,1 s
q044Quelles sont les 5 voies d'administration les plus fréquentes ?
SQL

Généré

SELECT voie, COUNT(*) AS nb_specialites FROM medicament_voies GROUP BY voie ORDER BY nb_specialites DESC LIMIT 5

Référence

SELECT voie FROM medicament_voies GROUP BY voie ORDER BY COUNT(*) DESC LIMIT 5
moyen✓ juste14,0 s
q045Combien de titulaires d'AMM différents y a-t-il dans la base ?
SQL

Généré

SELECT COUNT(DISTINCT sans_accents(titulaires)) AS nb_titulaires FROM medicaments WHERE etat_commercialisation = 'Commercialisée'

Référence

SELECT COUNT(DISTINCT titulaires) FROM medicaments
facile✗ faux14,7 s
q046Combien de spécialités compte chaque statut d'AMM ?
SQL

Généré

SELECT statut_amm, COUNT(DISTINCT cis) AS nb_specialites FROM medicaments GROUP BY statut_amm

Référence

SELECT statut_amm, COUNT(*) FROM medicaments GROUP BY statut_amm
facile✓ juste11,7 s
q047Combien de princeps ont pour titulaire un laboratoire Sanofi ?
SQL

Généré

SELECT COUNT(DISTINCT g.id_groupe) AS nb_princeps FROM groupes_generiques g JOIN medicaments m ON m.cis = g.cis WHERE g.type_generique = 0 AND sans_accents(m.titulaires) LIKE '%SANOFI%'

Référence

SELECT COUNT(DISTINCT m.cis) FROM medicaments m JOIN groupes_generiques g ON g.cis = m.cis WHERE g.type_generique = 0 AND sans_accents(m.titulaires) LIKE '%SANOFI%'
moyen✓ juste23,3 s
q048En moyenne, combien les honoraires de dispensation ajoutent-ils au prix d'une boîte remboursée ?
SQL

Généré

SELECT AVG(honoraires_euros) AS moyenne_honoraires_euros FROM presentations WHERE taux_remboursement IS NOT NULL

Référence

SELECT AVG(prix_ttc_euros - prix_euros) FROM presentations WHERE taux_remboursement IS NOT NULL AND prix_ttc_euros IS NOT NULL AND prix_euros IS NOT NULL
difficile✓ juste15,0 s
q049Quels médicaments à base de sémaglutide sont commercialisés ?
SQL

Généré

SELECT DISTINCT m.cis, m.denomination FROM medicaments m JOIN compositions c ON c.cis = m.cis WHERE c.nature_composant = 'SA' AND sans_accents(c.substance) LIKE '%SÉMAGLUTIDE%'

Référence

SELECT DISTINCT m.denomination FROM medicaments m JOIN compositions c ON c.cis = m.cis WHERE m.etat_commercialisation = 'Commercialisée' AND sans_accents(c.substance) LIKE '%SEMAGLUTIDE%'
moyen✗ faux22,3 s
q050Combien de présentations ont été déclarées en commercialisation depuis le 1er janvier 2024 ?
SQL

Généré

SELECT COUNT(cip13) AS nb_presentations FROM presentations WHERE date_declaration >= '2024-01-01'

Référence

SELECT COUNT(*) FROM presentations WHERE date_declaration >= '2024-01-01'
facile✓ juste13,8 s
q051Pour chaque niveau d'ASMR, combien de médicaments distincts l'ont obtenu ?
SQL

Généré

SELECT avis_asmr.valeur_asmr, COUNT(DISTINCT avis_asmr.cis) AS nb_medicaments FROM avis_asmr GROUP BY avis_asmr.valeur_asmr

Référence

SELECT valeur_asmr, COUNT(DISTINCT cis) FROM avis_asmr GROUP BY valeur_asmr
moyen✓ juste16,6 s
q052Combien de médicaments ont à la fois un SMR important et une ASMR de niveau I ou II ?
SQL

Généré

SELECT COUNT(DISTINCT m.cis) AS nb_specialites FROM medicaments m JOIN avis_smr a_smr ON a_smr.cis = m.cis JOIN avis_asmr a_asmr ON a_asmr.cis = m.cis WHERE a_smr.valeur_smr = 'Important' AND (a_asmr.valeur_asmr = 'I' OR a_asmr.valeur_asmr = 'II')

Référence

SELECT COUNT(DISTINCT s.cis) FROM avis_smr s WHERE s.valeur_smr = 'Important' AND s.cis IN (SELECT cis FROM avis_asmr WHERE valeur_asmr IN ('I', 'II'))
difficile✗ faux34,6 s
q053Quel pourcentage des présentations est remboursé ?
SQL

Généré

SELECT ROUND(SUM(CASE WHEN taux_remboursement IS NOT NULL THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS pourcentage_remboursement FROM presentations

Référence

SELECT 100.0 * SUM(taux_remboursement IS NOT NULL) / COUNT(*) FROM presentations
moyen✓ juste19,2 s
q054Combien de spécialités commercialisées se présentent sous forme de comprimé pelliculé ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_specialites FROM medicaments WHERE etat_commercialisation = 'Commercialisée' AND forme_pharmaceutique = 'comprimé pelliculé'

Référence

SELECT COUNT(*) FROM medicaments WHERE etat_commercialisation = 'Commercialisée' AND forme_pharmaceutique = 'comprimé pelliculé'
facile✓ juste18,2 s
q055Quelle est la forme pharmaceutique la plus fréquente ?
SQL

Généré

SELECT forme_pharmaceutique, COUNT(*) AS nb_specialites FROM medicaments GROUP BY forme_pharmaceutique ORDER BY nb_specialites DESC LIMIT 1

Référence

SELECT forme_pharmaceutique FROM medicaments GROUP BY forme_pharmaceutique ORDER BY COUNT(*) DESC LIMIT 1
facile✓ juste15,2 s
q056Combien de présentations existent pour l'ensemble des spécialités DOLIPRANE ?
SQL

Généré

SELECT COUNT(DISTINCT p.cip13) AS nb_presentations FROM medicaments m JOIN presentations p ON p.cis = m.cis WHERE sans_accents(m.denomination) LIKE '%DOLIPRANE%'

Référence

SELECT COUNT(*) FROM presentations p JOIN medicaments m ON m.cis = p.cis WHERE sans_accents(m.denomination) LIKE 'DOLIPRANE%'
moyen✗ faux19,3 s
q057Combien de ruptures de stock ont débuté en 2023 ?
SQL

Généré

SELECT COUNT(DISTINCT cis) AS nb_ruptures FROM disponibilites WHERE strftime('%Y', date_debut) = '2023' AND statut = 'Rupture de stock'

Référence

SELECT COUNT(*) FROM disponibilites WHERE code_statut = 1 AND strftime('%Y', date_debut) = '2023'
moyen✗ faux17,6 s
q058Combien de ruptures ou de tensions d'approvisionnement ont commencé depuis le 1er janvier 2026 ?
SQL

Généré

SELECT COUNT(*) AS nb_ruptures_tensions FROM disponibilites WHERE date_debut >= '2026-01-01' AND (statut = 'Tension d''approvisionnement' OR statut = 'Rupture de stock')

Référence

SELECT COUNT(*) FROM disponibilites WHERE code_statut IN (1, 2) AND date_debut >= '2026-01-01'
moyen✓ juste22,3 s
q059Quel pourcentage des spécialités commercialisées sont des génériques ?
SQL

Généré

SELECT ROUND(COUNT(DISTINCT CASE WHEN g.type_generique = 1 THEN m.cis ELSE NULL END) * 100.0 / COUNT(DISTINCT m.cis), 2) AS pourcentage_generiques FROM medicaments m JOIN groupes_generiques g ON g.cis = m.cis WHERE m.etat_commercialisation = 'Commercialisée'

Référence

SELECT 100.0 * COUNT(DISTINCT g.cis) / ( SELECT COUNT(*) FROM medicaments WHERE etat_commercialisation = 'Commercialisée' ) FROM groupes_generiques g JOIN medicaments m ON m.cis = g.cis WHERE g.type_generique = 1 AND m.etat_commercialisation = 'Commercialisée'
difficile✗ faux29,6 s
q060Combien de spécialités associent paracétamol et codéine ?
SQL

Généré

SELECT COUNT(DISTINCT m.cis) AS nb_specialites FROM medicaments m JOIN compositions c ON c.cis = m.cis WHERE c.nature_composant = 'SA' AND sans_accents(c.substance) IN ('PARACÉTAMOL', 'CODÉINE')

Référence

SELECT COUNT(*) FROM ( SELECT cis FROM compositions WHERE nature_composant = 'SA' GROUP BY cis HAVING SUM(sans_accents(substance) LIKE '%PARACETAMOL%') > 0 AND SUM(sans_accents(substance) LIKE '%CODEINE%') > 0 )
difficile✗ faux24,6 s