RAG
Rosetta uses semantic search to retrieve relevant information from your notes, uploaded documents, and external medical databases.
Architecture
The system converts text into high-dimensional vectors that capture meaning rather than just matching keywords. When you ask a question, Rosetta finds the most semantically similar content from your available sources to generate an answer.
Semantic vs Keyword
Keyword Search (Traditional):
Query: "heart failure treatment"
Matches: Exact text "heart failure" AND "treatment"
Misses: "HFrEF management", "cardiac dysfunction therapy"Semantic Search (Rosetta):
Query: "heart failure treatment"
Matches: Any semantically similar concepts
✓ "HFrEF management"
✓ "cardiac dysfunction therapy"
✓ "GDMT for reduced EF"Source Types
Rosetta organizes knowledge into two scopes:
- Local: Sources specific to the current note relative to the patient context.
- Account: Guidelines, protocols, and papers you have saved to your personal library, available across all notes.
PubMed Integration
The system directly integrates with the PubMed database to retrieve evidence-based literature.
- Search: Queries are converted to search terms for the PubMed database.
- Retrieval: Abstracts and metadata are fetched for the top results.
- Ingestion: Retrieval results are processed into the RAG system for the agent to use in citations.
Usage Examples
Evidence-Based Treatment (HFrEF)
- Physician adds a “GDMT” PDF to their Account library.
- In a note, they ask: “heart failure reduced ejection fraction treatment”.
- The system retrieves guidance on ACE-I/ARB, beta-blockers, and SGLT2i usage.
- The agent generates a plan with citations from the uploaded PDF.
Literature Review (AFib)
- The agent searches PubMed for “atrial fibrillation anticoagulation 2024”.
- It retrieves recent abstracts.
- The agent generates a summary with the latest scoring criteria.
Institutional Protocols
- User uploads a hospital sepsis protocol to their Account library.
- Any note can now query: “UCSF sepsis bundle timing”.
- The agent returns the specific timing requirements defined in your protocol.
Last updated on