How ashrafabulsoud/siyadascribe works
SiyadaScribe is a local-first clinical scribe and patient-management application. Its main workflow takes a clinician’s consultation audio through transcription and template-based note generation, then supports reviewing and saving the encounter. Separate capabilities cover correspondence, patient tasks, document forms, and a knowledge-base assistant with optional MCP tools. The graph combines README-described product stages with paths in the tree; because most backend implementations were not sampled, some subsystem links are omitted rather than inferred.
Main entry points: server.py FastAPI application · patientApi.ts Frontend API clients · engine.py Tool orchestration · PatientDetails.jsx Patient encounter UI
Components 29
Desktop and UI
- Desktop shell
src-tauri/src/main.rs - App routes
src/components/layout/AppRoutes.jsx - Frontend API clients
src/utils/api/patientApi.ts
Clinical workflows
- Patient encounter UI
src/pages/PatientDetails.jsx - Transcription UI
src/components/panels/transcription/TranscriptionPanel.jsx - Audio transcription
server/transcription/audio.py - Template note generation
server/nlp_tools/summarisation.py - Adaptive refinement
server/nlp_tools/adaptive_refinement.py - Correspondence editor
src/components/panels/letter/LetterPanel.jsx - Outstanding tasks
src/pages/OutstandingJobs.jsx - PDF form tools
src/components/pdf-forms/FormTemplatesPanel.jsx
AI and knowledge
- Assistant chat
src/components/panels/chat/ChatPanel.jsx - Tool orchestration
server/chat/engine.py - Knowledge base UI
src/pages/Rag.jsx - Vector retrieval
server/rag/vector_store.py
Backend services
- Patient API
server/api/patient.py - Letter generation API
server/api/letter.py - Task management API
server/api/dashboard.py - Chat API
server/api/chat.py - Knowledge base API
server/api/rag.py - PDF forms API
server/api/pdf_forms.py - FastAPI application
server/server.py
Data and models
- PDF template storage
server/pdf_forms/storage.py - Clinical repositories
server/database/repositories/patient.py - Configuration manager
server/database/config/manager.py
Other components
- Clinician
- LLM provider
- Transcription provider
- MCP tool servers
Connections 34
- Clinician → Desktop shell: uses
- Desktop shell → App routes: hosts
- App routes → Patient encounter UI: opens encounter
- Patient encounter UI → Transcription UI: captures consultation
- Transcription UI → Frontend API clients: requests transcription
- Frontend API clients → FastAPI application: sends API request
- FastAPI application → Audio transcription: routes transcription
- Audio transcription → Transcription provider: sends audio
- Patient encounter UI → Frontend API clients: saves encounter
- FastAPI application → Patient API: routes patient API
- Patient API → Template note generation: generates note
- Template note generation → LLM provider: requests summary
- Template note generation → Adaptive refinement: refines output
- Patient API → Clinical repositories: reads and writes
- Correspondence editor → Frontend API clients: requests correspondence
- FastAPI application → Letter generation API: routes letter API
- Letter generation API → Clinical repositories: reads encounter
- Outstanding tasks → Frontend API clients: loads tasks
- FastAPI application → Task management API: routes dashboard API
- Task management API → Clinical repositories: reads task data
- Assistant chat → Frontend API clients: sends chat
- FastAPI application → Chat API: routes chat API
- Chat API → Tool orchestration: dispatches request
- Tool orchestration → LLM provider: requests response
- Tool orchestration → Vector retrieval: invokes search tools
- Tool orchestration → MCP tool servers: invokes tools
- Knowledge base UI → Frontend API clients: manages documents
- FastAPI application → Knowledge base API: routes RAG API
- Knowledge base API → Vector retrieval: manages retrieval
- Vector retrieval → LLM provider: requests embeddings
- PDF form tools → Frontend API clients: manages forms
- FastAPI application → PDF forms API: routes forms API
- PDF forms API → PDF template storage: reads and writes templates
- FastAPI application → Configuration manager: loads configuration