The First Self-Driving Platform for InterSystems IRIS Health
Vibe-code your healthcare infrastructure β IRIS-native, FHIR-compliant, delightfully fast.
Building healthcare applications is hard. Creating FHIR APIs, integrating legacy systems (HL7v2), managing multi-tenant databases, and maintaining interoperability workflows requires months of development and deep expertise in InterSystems IRIS for Health.
withLove changes everything.
It's the first "loveable" (delightful + powerful) platform that lets hospitals, clinics, EHR vendors, and healthtech ISVs create:
- β FHIR R4-compliant REST APIs in seconds
- β Multi-tenant persistent classes (SQL tables) automatically
- β Interoperability workflows (HL7, DTL, Business Operations) via natural language
- β Admin UIs (CRUD interfaces) with modern frameworks (Tailwind/Alpine.js)
- β RAG-powered knowledge base for protocol-driven development
All through a conversational AI interface β just describe what you need in plain language, and withLove builds it for you.
withLove utilizes a multi-agent architecture powered by cutting-edge technologies:
-
InterSystems IRIS for Health
High-performance healthcare data platform with native FHIR, and HL7v2 support. -
Multi-Agent AI System
- UI Agent: Generates responsive frontends (Tailwind CSS + Alpine.js)
- Backend Agent: Creates persistent classes (multi-tenant SQL tables)
- API Agent: Builds REST APIs with dynamic routing
- Interop Agent: Generates DTL transformations and Business Operations
- Knowledge Agent: RAG-powered document search (384-dim vectors)
- Scanner Agent: Analyzes brownfield code and suggests modernization paths
-
LLM Integration
Supports OpenAI ChatGPT, Google Gemini and Anthropic (Claude) via flexible API key configuration. -
FHIR R4 Native
Full compliance with HL7 FHIR R4 standard, including Bundle validation and SDA3 transformation.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β User (Chat Interface) β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β GenAi.AgentRun() (Orchestrator) β
β - Intent Detection (CREATE_API, CREATE_TABLE, SCAN, etc) β
β - Delegates to specialized factories β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββΌβββββββββββββββββ
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββ ββββββββββββββββββββ
β AppFactory β β ApiFactory β β ClassFactory β
β (UI Generator) β β(API Gen) β β(DB Tables) β
βββββββββββββββββββ βββββββββββββββ ββββββββββββββββββββ
β β β
ββββββββββββββββββΌβββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Multi-Tenant Deployment (dc.withLove.<tenant>) β
β - .apps (CSP Pages) β
β - .api (REST Services) β
β - .data (Persistent Classes) β
β - .interop (DTL/BO/BS) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Docker and Docker Compose installed on your machine
- API Key for LLM provider:
- OpenAI API Key (
sk-...) or - Anthropic API Key (
sk-ant-...)
- OpenAI API Key (
- Minimum 8GB RAM (16GB recommended for production)
- 10GB free disk space (FHIR Server installation requires additional storage)
git clone https://github.com/musketeers-br/withLove
cd withLovedocker-compose build --no-cache --progress=plaindocker-compose up -ddocker-compose logs -f iris
β οΈ Important Note:
This project automatically installs the FHIR Server via ZPM (zpm "install fhir-server"), which can take 15-25 minutes depending on your network speed and machine specs. Please be patient during the first startup.
You can also check the Management Portal (user: _system, password: SYS) to verify installation status.
Once withLove is running, access the Chat Interface:
π Frontend: http://localhost:port/withlove/index.html
π¬ You: "Create a FHIR R4 API for managing patients with CPF validation"
π€ withLove:
β
Detected: HS.SDA3.Patient (50,000 records)
β
Generating CRUD endpoints:
- GET /fhir/Patient
- GET /fhir/Patient/:id
- POST /fhir/Patient
- PUT /fhir/Patient/:id
β
Adding validations:
- CPF format validator
- Active status check
β
Deploying to: /withlove/services/hospital-main/PatientAPI
Click "Approve" β API is live in seconds!
Test it:
curl -X GET http://localhost:52773/withlove/services/hospital-main/PatientAPI/list \
-H "X-Tenant-ID: hospital-main" \
-H "Authorization: Bearer your-api-key"π¬ You: "Create a table for Dengue cases with fields: PatientID, Symptoms, TestDate, Result"
π€ withLove:
β
Generating persistent class: dc.withLove.hospital-main.data.DengueCase
β
Fields:
- PatientID (String, indexed)
- Symptoms (String, MAXLEN="")
- TestDate (Date)
- Result (String: Positive/Negative/Pending)
β
Compiled successfully
β
Table available: dc_withLove_hospital_main_data.DengueCase
π¬ You: "Create a DTL to transform HL7 ADT^A04 messages into SDA3.Patient"
π€ withLove:
β
Generating DTL: dc.withLove.hospital-main.interop.ADTToPatient
β
Source: EnsLib.HL7.Message (ADT_A04)
β
Target: HS.SDA3.Patient
β
Mappings:
- PID:PatientName β Patient.Name
- PID:PatientID β Patient.PatientNumbers
- PID:DOB β Patient.BirthTime
β
Compiled successfully
π¬ You: "Scan my system and suggest APIs to create"
π€ withLove:
π Scanning namespace: HSREGISTRY
β
Found 127 classes (47 SDA3, 80 custom)
π Top Entities by Volume:
1. HS.SDA3.Patient (12.5M records) β Suggest: GET /fhir/Patient
2. HS.SDA3.Encounter (45M records) β Suggest: GET /fhir/Encounter
3. Custom.Lab.Result (22M) β οΈ Not FHIR-compliant (suggest migration)
β οΈ Issues Detected:
- HS.SDA3.Encounter: Missing index on PatientID (slow queries >500ms)
- Custom.Patient.Insurance: No tenant isolation (security risk)
Upload Protocol:
curl -X POST http://localhost:52773/api/knowledge/add \
-H "Content-Type: application/json" \
-H "X-Tenant-ID: hospital-main" \
-d '{
"title": "Dengue Treatment Protocol 2026",
"content": "Treatment guidelines for dengue patients..."
}'Query with Context:
π¬ You: "How should I treat a dengue patient according to our protocol?"
π€ withLove:
π Found relevant document: "Dengue Treatment Protocol 2026"
According to your protocol:
1. Immediate hydration (IV fluids)
2. Monitor platelet count every 6 hours
3. Administer paracetamol for fever (avoid NSAIDs)
...
withLove/
βββ src/
β βββ dc/
β β βββ withLove/
β β βββ engine/ # Core AI Factories
β β β βββ GenAi.cls # LLM Orchestrator
β β β βββ AppFactory.cls
β β β βββ ApiFactory.cls
β β β βββ ClassFactory.cls
β β β βββ FHIRHandler.cls
β β β βββ InteropFactory.cls
β β βββ service/ # Business Logic
β β β βββ Dispatch.cls # REST API Router
β β β βββ KnowledgeService.cls
β β β βββ ScannerService.cls
β β β βββ RestRouter.cls
β β βββ storage/ # Data Models
β β βββ Project.cls
β β βββ AppVersion.cls
β β βββ Tenant.cls
β β βββ LLMSession.cls
β β βββ KnowledgeBase.cls
βββ csp/
β βββ index.html # Chat Interface
βββ docker-compose.yml
βββ Dockerfile
βββ README.md
See the Full Stack Architect agent in action. Zero boilerplate, pure creation.
Note: Click the images above to watch the YouTube Shorts.
| Endpoint | Method | Description |
|---|---|---|
/withlove/api/agent/chat |
POST | Conversational agent (main interface) |
/withlove/api/deploy |
POST | Deploy generated assets |
/withlove/api/knowledge/add |
POST | Add document to RAG |
/withlove/api/knowledge/list |
GET | List RAG documents |
Generated APIs follow the pattern:
/withlove/services/<tenant>/<service-name>/*
Example:
GET /withlove/services/hospital-main/PatientAPI/list
POST /withlove/services/hospital-main/PatientAPI/create
PUT /withlove/services/hospital-main/PatientAPI/update/:id
- UI Agent (App generation)
- Backend Agent (Class generation)
- API Agent (REST API generation)
- Interop Agent (DTL/BO generation)
- RAG Knowledge Base
- Brownfield Scanner
withLove is developed with π by the Musketeers Team:
This project is licensed under the MIT License.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Community: InterSystems Developer Community





