ADR-001: Multi-Vertical SaaS Platform Engine & Domain Purification
Status
Section titled “Status”ACCEPTED (2026-08-30)
Context
Section titled “Context”GERCIA was originally organized as a standalone health application with healthcare concepts (prescriptions, health councils, clinical enums) embedded inside the foundational BuildingBlocks and Core libraries. As the business expands to host multiple verticals (Healthcare, Operations, and future enterprise verticals), coupling the foundation to healthcare created architectural leaks and prevented multi-vertical scaling.
Decision
Section titled “Decision”- Reposition GERCIA as a software engineering enterprise operating a multi-vertical SaaS engine (
Foundation/). - Move all healthcare-specific entities (
HealthcareProfessional,CouncilType,Specialty,InsuranceProvider,Occupation) and enums (BloodType,DisabilityType,EmergencyContact) fromFoundationto theGercia.Health.Clinicaldomain module. - Purify
ITenantProvider,TenantType, andGerciaDbContextto generic, universal multi-tenancy.
Consequences
Section titled “Consequences”- Positive:
Foundation/is 100% reusable across any business vertical; zero healthcare leaks in universal SaaS services. - Positive: Independent DDD bounded contexts for
Health.Clinical,Health.Pharmacy, andOperations.