How facundodlf/siac works
SIAC is a Spanish-language clinical-management web app. The evidenced patient workflow is: browse and search patients, open a patient profile, review consultation history, and compose a new consultation; the current save action emits data but does not persist it in the shown profile. Login uses Supabase authentication, while the patient pages use mock data. The tree also exposes dashboard, agenda, billing, and configuration areas, but their implementation and connections are not established by the sampled source. The graph reflects those evidence limits.
Main entry points: login.vue Sign in · index.vue Patient directory route · PatientsDirectory.vue Patient search · [id].vue Patient profile route
Components 25
App shell and access
- Sign in
pages/login.vue - App navigation
layouts/default.vue - Tenant branding
shared/config/tenant.ts
Patient care
- Patient directory route
pages/pacientes/index.vue - Patient search
widgets/patients-directory/ui/PatientsDirectory.vue - Patient profile route
pages/pacientes/[id].vue - Patient history
features/patient/ui/PatientProfileView.vue - New consultation form
features/consultation/ui/NewConsultationDialog.vue - Clinical text editor
shared/ui/RichTextEditor.vue - Table primitives
shared/ui/Table.vue
Dashboard
- Home route
pages/index.vue - Dashboard overview
widgets/dashboard/ui/DashboardOverview.vue - Dashboard hero
widgets/dashboard/ui/DashboardHero.vue - Appointments
pages/agenda.vue - Billing
pages/facturacion.vue - Configuration
pages/configuracion.vue
Domain and data
- Sample clinical data
shared/lib/mock-data.ts - Appointment model
entities/appointment/model/types.ts - Consultation model
entities/consultation/model/types.ts - Patient model
entities/patient/model/types.ts - Tenant model
entities/tenant/model/types.ts - User model
entities/user/model/types.ts - Prisma utility
server/utils/prisma.ts
Other components
- Clinical staff
- Supabase Auth
Connections 15
- Clinical staff → Sign in: signs in
pages/login.vue - Sign in → Supabase Auth: authenticates with
pages/login.vue - Sign in → Tenant branding: reads branding
pages/login.vue - App navigation → Tenant branding: reads branding
layouts/default.vue - Clinical staff → Patient directory route: opens directory
- Patient directory route → Sample clinical data: loads patients
pages/pacientes/index.vue - Patient directory route → Patient search: passes patients
pages/pacientes/index.vue - Patient search → Table primitives: renders rows
widgets/patients-directory/ui/PatientsDirectory.vue - Patient search → Patient profile route: links to profile
widgets/patients-directory/ui/PatientsDirectory.vue - Patient profile route → Sample clinical data: loads records
pages/pacientes/[id].vue - Patient profile route → Patient history: passes profile data
pages/pacientes/[id].vue - Patient history → New consultation form: opens form
features/patient/ui/PatientProfileView.vue - New consultation form → Clinical text editor: edits evolution
features/consultation/ui/NewConsultationDialog.vue - Home route → Dashboard overview: renders overview
- Dashboard overview → Dashboard hero: renders hero
widgets/dashboard/ui/DashboardOverview.vue