- Ajoutez des documents de référence (PDF, CSV, Excel, TXT) pour enrichir la base de connaissances du RAG. -
+← Dashboard ++ Detail des index vectoriels par type. Chaque index sert un role different dans le pipeline RAG. +
+| Index | +Role | +Vecteurs | +Taille | +Derniere MAJ | +Statut | +
|---|---|---|---|---|---|
| {{ idx.label }} | ++ {% if idx.kind == 'ref' %}Codage CIM-10, index alphabetique + {% elif idx.kind == 'proc' %}Guide methodo, procedures, regles ATIH + {% elif idx.kind == 'bio' %}Normes biologiques, seuils + {% else %}Index combine (compat) + {% endif %} + | +{{ "{:,}".format(idx.vectors).replace(",", " ") }} | +{{ idx.size_mb }} Mo | +{{ idx.last_build or '—' }} | ++ {% if not idx.exists %} + Absent + {% elif idx.vectors == 0 %} + Vide + {% else %} + OK + {% endif %} + | +
+ Sources officielles ATIH/DGOS integrees automatiquement dans l'index FAISS. + Les dates de validite indiquent la campagne tarifaire couverte. +
+| Nom | +Fichier | +Edition | +Validite | +Taille | +Chunks | +Fichier du | +Statut | +
|---|---|---|---|---|---|---|---|
| {{ ref.name }} | + +{{ ref.edition or '—' }} | ++ {% if ref.validite %} + {% if 'provisoire' in ref.validite %} + {{ ref.validite }} + {% else %} + {{ ref.validite }} + {% endif %} + {% else %} + — + {% endif %} + | +{{ "%.1f"|format(ref.size_mb) }} Mo | ++ {% if ref.chunks %} + {{ ref.chunks }} + {% else %} + — + {% endif %} + | +{{ ref.file_date or '—' }} | ++ {% if not ref.exists %} + Fichier absent + {% elif ref.chunks %} + Indexe + {% else %} + Dictionnaire + {% endif %} + | +
+ Documents de reference supplementaires (annexes CIM-10, consignes ATIH, manuels GHM) + automatiquement detectes et indexes dans FAISS. +
+| Document | +Type | +Taille | +Chunks | +Fichier du | +Statut | +
|---|---|---|---|---|---|
| {{ ref.name }} | ++ {% if ref.category == 'proc' %} + Procedure + {% else %} + Reference + {% endif %} + | +{{ "%.1f"|format(ref.size_mb) }} Mo | +{{ ref.chunks }} | +{{ ref.file_date or '—' }} | ++ {% if ref.exists %} + Indexe + {% elif ref.chunks %} + Indexe (PDF supprime) + {% else %} + Non indexe + {% endif %} + | +
+ Uploadez un document de reference (PDF, CSV, Excel, TXT) pour enrichir la base RAG. + Le document sera indexe dans FAISS et utilisable immediatement pour le codage. +
| Document | +Date | +Validité | +Taille | +Chunks | +Statut | +
|---|---|---|---|---|---|
| Base de données | |||||
| {{ ref.name }} | +{{ ref.edition or ref.file_date or '-' }} | +{{ ref.validite or '-' }} | +{{ '%.1f Mo' | format(ref.size_mb) if ref.size_mb else '-' }} | +{{ ref.chunks if ref.chunks else '-' }} | ++ {% if ref.exists %} + {% else %}{% endif %} + | +
| Fascicules, consignes & référentiels CIM-10 | |||||
| {{ ref.name }} | +{{ ref.file_date or '-' }} | +- | +{{ '%.1f Mo' | format(ref.size_mb) if ref.size_mb else '-' }} | +{{ ref.chunks if ref.chunks else '-' }} | ++ {% if ref.exists %} + {% else %}{% endif %} + | +
| Guides & procédures | |||||
| {{ ref.name }} | +{{ ref.file_date or '-' }} | +- | +{{ '%.1f Mo' | format(ref.size_mb) if ref.size_mb else '-' }} | +{{ ref.chunks if ref.chunks else '-' }} | ++ {% if ref.exists %} + {% else %}{% endif %} + | +
{{ sf }}{% if not loop.last %}, {% endif %}
- {% endfor %}
- {{ ghm.ghm_approx }}
- - [{{ ref.document or '' }}{% if ref.page %}, p.{{ ref.page }}{% endif %}] - {{ ref.citation or '' }} -- {% elif ref is string %} -
{{ ref }}
+ {# GHM estimé #} + {% if ghm %} +{{ ghm.ghm_approx }}
{% endif %}
- {% endfor %}
- {{ ctrl.contre_argumentation }}
- {{ src.document }}{% if src.code %} — {{ src.code }}{% endif %}{% if src.page %} [p.{{ src.page }}]{% endif %}
-{{ src.extrait or '' }}
- {% endfor %}
- | Code Règle | Sévérité | Localisation | Message d'alerte | Référence ATIH |
|---|---|---|---|---|
{{ issue.veto }} |
- - {% if issue.severity == 'HARD' %}Bloquant - {% elif issue.severity == 'MEDIUM' %}À vérifier - {% else %}Optimisation{% endif %} - | -{{ issue.where|human_where }} | -{{ issue.message }} | -{{ issue.citation or '—' }} | -
| Texte | CIM-10 | Confiance | CMA | Source | Justification | |||
|---|---|---|---|---|---|---|---|---|
| Code CIM-10 | Libellé | CMA | Confiance | Source | ||||
| {{ das.texte }} | {% if das.cim10_suggestion %} {% if das.cim10_final and das.cim10_final != das.cim10_suggestion %} @@ -525,26 +332,11 @@ {% endif %} {% endif %} | -{{ das.cim10_confidence | confidence_badge }} |
- {% if das.niveau_cma and das.niveau_cma > 1 %}
- {{ das.niveau_cma | cma_level_badge }}
- {% elif das.est_cma %}
- CMA
- {% else %}
- —
+ {{ das.texte }}
+ {% if das.justification %}
+ {{ das.justification }}
{% endif %}
- |
- - {% if das.source %} - {{ das.source }} - {% endif %} - {% if das.source_page %} - - {% endif %} - | -
- {{ das.justification or '' }}
{% if das.preuves_cliniques %}
preuves ({{ das.preuves_cliniques|length }})
|
+ + {% if das.niveau_cma and das.niveau_cma > 1 %} + {{ das.niveau_cma | cma_level_badge }} + {% elif das.est_cma %} + CMA + {% else %} + — + {% endif %} + | +{{ das.cim10_confidence | confidence_badge }} | ++ {% if das.source %} + {{ das.source }} + {% endif %} + {% if das.source_page %} + + {% endif %} + |
|
- {{ das.ruled_out_reason }}
- |
- ||||||||
{{ das.ruled_out_reason }} | ||||||||
|
- {{ das.cim10_decision.reason }}
- |
- ||||||||
{{ das.cim10_decision.reason }} | ||||||||
|
-
-
- Raisonnement LLM-{{ das.raisonnement }}
- |
- ||||||||
Raisonnement LLM{{ das.raisonnement }} | ||||||||
|
-
-
- Sources RAG ({{ das.sources_rag|length }})- {% for src in das.sources_rag %} -{{ src.document }}{% if src.code %} — {{ src.code }}{% endif %}{% if src.page %} [p.{{ src.page }}]{% endif %}
-{{ src.extrait or '' }}
- {% endfor %}
- |
- ||||||||
+ Sources RAG ({{ das.sources_rag|length }})+ {% for src in das.sources_rag %}{{ src.document }}{% if src.code %} — {{ src.code }}{% endif %}{% if src.page %} [p.{{ src.page }}]{% endif %}
+{{ src.extrait or '' }}{% endfor %}
+ | ||||||||
| Texte | Code CCAM | Regroupement | Date | Validité | Source | |
|---|---|---|---|---|---|---|
| Code CCAM | Libellé | Regroupement | Date | Validité | Source | |
| {{ a.texte }} | {% if a.code_ccam_suggestion %}{{ a.code_ccam_suggestion }}{% endif %} | +{{ a.texte }} | {% if a.code_ccam_suggestion and ccam_dict.get(a.code_ccam_suggestion, {}).get('regroupement') %} {{ ccam_dict[a.code_ccam_suggestion]['regroupement'] }} - {% else %} - — - {% endif %} + {% else %}—{% endif %} | {{ a.date or '' }} |
{% if a.validite == 'valide' %}Valide
{% elif a.validite == 'obsolete' %}Obsolète
{% else %}—{% endif %}
- {% for alerte in a.alertes %}
- {{ alerte }}
- {% endfor %}
+ {% for alerte in a.alertes %}{{ alerte }} {% endfor %}
|
{% if a.source_page %}{% endif %} |
| Règle | Sévérité | Localisation | Message d'alerte | Source / Référence |
|---|---|---|---|---|
{{ issue.veto }} |
+ + {% if issue.severity == 'HARD' %}Bloquant + {% elif issue.severity == 'MEDIUM' %}À vérifier + {% else %}Optimisation{% endif %} + | +{{ issue.where|human_where }} | +{{ issue.message }} | +{{ issue.citation or '—' }} | +
+ [{{ ref.document or '' }}{% if ref.page %}, p.{{ ref.page }}{% endif %}] + {{ ref.citation or '' }} ++ {% elif ref is string %} +
{{ ref }}
+ {% endif %} + {% endfor %} +{{ ctrl.contre_argumentation }}
+ {{ src.document }}{% if src.code %} — {{ src.code }}{% endif %}{% if src.page %} [p.{{ src.page }}]{% endif %}
+{{ src.extrait or '' }}
+ {% endfor %}
+ | Test | Valeur | Anomalie | Source | {{ b.valeur or '' }} | {% if b.quality == 'suspect' %} - ⚠ Suspect + Suspect {% elif b.anomalie %} Oui - {% else %} - — - {% endif %} + {% if b.test in bio_normals and b.valeur_num is not none %} + {% set lo, hi = bio_normals[b.test] %} + {% if b.valeur_num > hi %} + ↑ {{ b.valeur }} > {{ hi }} (N: {{ lo }}–{{ hi }}) + {% elif b.valeur_num < lo %} + ↓ {{ b.valeur }} < {{ lo }} (N: {{ lo }}–{{ hi }}) + {% endif %} + {% elif b.test in bio_normals %} + {% set lo, hi = bio_normals[b.test] %} + (N: {{ lo }}–{{ hi }}) + {% endif %} + {% else %}—{% endif %} | {% if b.source_page %}{% endif %} | @@ -672,30 +779,28 @@
|---|
| Médicament | Posologie | Code ATC | Source |
|---|
| Document | Type | DAS | Actes |
|---|---|---|---|
| + {{ sib.name | format_doc_name }} + {% if sib.path_rel == filepath %} + actuel + {% endif %} + {% if 'fusionne' in sib.name %} + fusionné + {% endif %} + | +{% if sib.dossier.document_type %}{{ sib.dossier.document_type }}{% endif %} | +{{ sib.dossier.diagnostics_associes|length }} | +{{ sib.dossier.actes_ccam|length }} | +
{{ veto_id }}
+
+ {{ count }}
+ Aucun dossier trouvé dans output/structured/.
python -m src.main pour générer des fichiers.