Passer au contenu principal
analyse applique une règle clinique en texte libre (une « équation type ») à un ou plusieurs dossiers patients, décide quels dossiers correspondent, et attache à chaque correspondance une recommandation sourcée par la base de connaissance, avec citations. Endpoint : POST /v1/analyse · Outil MCP : analyse C’est synchrone (non-streamé) et cela alimente des revues ponctuelles ou programmées — un planificateur appelle simplement l’endpoint sur un lot.

Fonctionnement

règle ──(compilation)──▶ critères

   par dossier ◀──────────┘
     ├─ évaluation déterministe  (médicament présent, âge, ancienneté de bilan…)
     └─ jugement                 (classe thérapeutique, interprétation clinique)

   correspond ? ──▶ recommandation via la base de connaissance (sourcée)
L’évaluation est hybride : les critères qui se mappent proprement à un champ du dossier sont vérifiés de façon déterministe ; les autres sont jugés. Les dossiers sont passés inline — Locus ne stocke rien.

Requête

{
  "rule": "patient sous anticoagulant oral direct ET DFG non contrôlé depuis plus de 6 mois",
  "records": [
    {
      "id": "patient-4815",
      "age": 78,
      "medications": ["apixaban 5mg x2/j"],
      "recent_labs": [{ "name": "DFG", "value": "48 ml/min", "measured_at": "2024-11-30" }]
    }
  ]
}

Réponse

{
  "rule": "...",
  "compiled_criteria": [
    { "id": "c1", "description": "sous AOD", "kind": "judgment" },
    { "id": "c2", "description": "DFG ancien > 6 mois", "kind": "structured",
      "field": "lab", "op": "stale", "value": "DFG", "max_age_days": 180 }
  ],
  "findings": [
    {
      "record_id": "patient-4815",
      "matched": true,
      "criteria": [
        { "criterion_id": "c1", "met": true, "basis": "judgment", "rationale": "apixaban est un AOD" },
        { "criterion_id": "c2", "met": true, "basis": "deterministic", "rationale": "bilan DFG daté de 208 j > 180 j" }
      ],
      "rationale": "...",
      "recommendation": "Réévaluer la fonction rénale et adapter la posologie...",
      "sources": [{ "reco_id": 412, "reco_title": "...", "source_name": "HAS", "deep_link": "..." }]
    }
  ],
  "metadata": { "records_scanned": 1, "matched_count": 1, "processing_ms": 1840 }
}
La latence croît avec le nombre de dossiers (un appel de jugement et une recommandation par correspondance, exécutés en parallèle). Les requêtes sont bornées ; pour de grandes cohortes, répartissez sur plusieurs requêtes.
Essayez en direct dans l’onglet API Reference.