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: LegalEvery document in a case, searchable and cited