Skip to content

Implement evidence retrieval service (replace stub) #47

@AlexMikhalev

Description

@AlexMikhalev

Parent: #39

Context

The domain model defines an evidence_service with operations: search_literature, grade_evidence, link_evidence. The current EvidenceRetrieverAgent is a stub that returns empty evidence arrays. Business scenario BS-001 requires evidence links with quality grades for every recommendation.

Domain Model

  • evidence: Clinical evidence from PubMed, CORD-19, NCCN/ESMO guidelines
  • Types: randomized trial, cohort study, case report, guideline, meta-analysis
  • Quality grades: Level A (High), Level B (Moderate), Level C (Low), Level D (Very low)

Business Events

  • recommendation_generated: Should trigger evidence retrieval from CORD-19
  • recommendation_validated: Uncovered event (SC-ERR coverage gap) -- validation should check evidence sufficiency

Current State

// EvidenceRetrieverAgent.execute_task (stub)
Ok(TaskResult::success(task_id, json!({
    "evidence": [],
    "sources": ["primekg", "umls", "snomed"]
})))

Required Implementation

  1. PubMed API integration (or local MEDLINE subset)
  2. CORD-19 dataset integration for COVID/oncology evidence
  3. Evidence grading algorithm (based on study type and sample size)
  4. Evidence-recommendation linking with relevance scores
  5. Support for SUPPORTS/CONTRADICTS/INCONCLUSIVE classification

Implementation Notes

  • The recommendation_validated event is the ONLY uncovered event in the coverage report (90.9% -> 100%)
  • Fixing this stub directly improves scenario coverage
  • Can start with NCCN guidelines (already referenced in BS-001) as a curated dataset

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain-modelDomain model and scenario testingenhancementNew feature or requestscenario-testingScenario test candidates from domain model

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions