System Card
Scalable Architecture for Multi-modal Healthcare Agents
Design Principles:
Isolated
Self-contained
Composable
Customizable
High-Level Architecture

- System ArchitectureCharacteristics
Monorepo Structure: Each Agent Package is maintained as its own monorepo.
Monolithic Design: Initially, each Agent Package functions as a monolithic server. Over time, and as complexity increases, components may be split into microservices.
Consistent Stack: Prefer using a consistent tech stack for each Agent Package, such as ReactJS, Bun/Express, MongoDB, GCS, Redis, and BigQuery. Exceptions can be made in rare cases.
Multi-modal Support: The system should support various interfaces, including web, voice, phone, and SMS, where applicable.
Mobile Support: Mobile app support should be provided when applicable.
Headless Agents: Some agents may operate without a user interface or voice interface. These can communicate with other agents or user interfaces via APIs.
Horizontal Components/Services
User Authentication: Implement a unified authentication mechanism across all Agent Packages using WorkOS.
Subscriptions/Billing: Utilize a consistent component for handling subscriptions and billing across all Agent Packages.
Access Management: Apply the same RBAC (Role-Based Access Control) and ACL (Access Control List) mechanisms for all Agent Packages to ensure consistent access management.
Queue System: Enable individual agents to send and receive messages, allowing them to trigger actions and save shared results
Initial Build Priorities
Agent Boilerplate:
Develop a comprehensive skeleton for an Agent Package.
Prepare the repo for easy cloning or forking as a starting point for new Agents.
User Authentication:
Integrate WorkOS as a reusable component.
Ensure compatibility across the Scheduling Agent, API dashboard, and Sully App (Scribe Agent).
Scheduling Agent:
Refactor to align with the updated architecture.
Subscription/Billing:
Create a reusable Stripe component for handling subscriptions and billing.
Develop an opinionated, standardized billing framework for various agents, with structured pricing models.
Access Management:
Define and agree on organizational roles, e.g., Admin, Staff-Admin, Member, Guest, External.
Establish fixed resource permissions, including CRUD operations on data, services, and feature endpoints.
Last updated
