PHHealthcareCase 01

Patient context, surfaced automatically — without a byte leaving their cloud.

The problem

A health-tech startup needed to pull patient context out of incoming emails the moment they arrived. The hard constraint: patient data could never touch a public AI model.

Our approach

We stood up the entire stack inside the client's own Azure account — using their startup credits — so nothing leaves their walls. A webhook fires on each inbound email; a private agent reads it, identifies the patient, and a RAG layer pulls their full record — attending doctor, appointment details — onto a review screen. A human approves, and only then does it write back into their eClinicalWorks (ECW) EMR.

User journey
Inbound email
→
Webhook
→
Private AI agent reads
→
RAG patient lookup
→
Review UI
→
Human approval
→
ECW / EMR
System architecture
☁ Microsoft Azure · private VNet
Ingress
Azure Front DoorWAF · DDoS
App Gatewayprivate · mTLS
inbound email webhook · TLS
Async
Service Bus queuedurable
Function: parse emailextract intent
event → worker
Orchestrate
Plannerroutes the step
Agent: resolve patientmulti-step
needs judgment → agent
Privacy
Presidio redactionPII → <ID_1>
Azure OpenAIPrivate Endpoint
no PII leaves the VNet
Retrieval
Embed
→
Azure AI Searchvector · HNSW
→
Retrieve
→
Rerank
Data
Cosmos DB
Key Vault
Blob · audit
Gate
Review UIApp Service
Human approval
approved write-backs only
Deliver
Logic App → eClinicalWorks API
Scales viaAzure private VNetwebhook → durable queueRAG result cachefull audit log
Azure (private)RAGVector DBWebhookseClinicalWorksHuman-in-loop
0 data to public modelsIntake context auto-surfacedStaff just approve

Representative build — real project type and architecture, anonymised client, illustrative figures.

Want this for your stack?

I'll map your problem to an architecture like this — and prove it with an MVP before you pay.

Start a build →

Next: Legal — Every document in a case, searchable and cited →