Healthcare · Compliance-Aware Automation
Patient portals and clinical workflows for hospitals and clinics.
FHIR interoperability, encrypted booking flows and AI-assisted triage — designed to meet HIPAA Security Rule safeguards and the DPDP Act 2023 by default. From single clinics to multi-specialty hospitals.

What we build
Six modules, one auditable system.
Patient Portal & Booking
Secure patient logins, appointment booking, digital forms, prescription downloads and lab-report access. Mobile-first, WhatsApp-notified, DPDP-aligned by default.
HL7 / FHIR Interoperability
Read and write against your existing HIS/EMR via FHIR R4 resources — Patient, Appointment, Observation, DiagnosticReport. Bidirectional sync, versioned, audit-trailed.
AI-Assisted Triage Routing
LLM classifies incoming symptoms from WhatsApp/web into structured urgency levels and specialty codes. Rules-engine post-processing catches red flags. Never auto-diagnoses.
Encryption & Key Management
AES-256 for data at rest, TLS 1.3 in transit, KMS-managed keys with rotation. Field-level encryption for PHI columns. No PHI ever hits application logs.
WhatsApp & SMS Notifications
Appointment reminders, prescription-ready alerts and follow-up nudges via WhatsApp Business API. Templates approved through Meta, delivered with fallback.
Audit Trail & Access Control
Every PHI read/write logged with actor, timestamp and intent. Role-based access, MFA for staff, session isolation between doctors and admin. Ready for auditor review.
The posture
What "HIPAA-aware" actually means.
HIPAA doesn't certify vendors — it certifies Covered Entities and the Business Associates they name. Anyone calling themselves "HIPAA-certified" is being loose with the term. What we offer is different and more honest: an architecture that meets the technical safeguards HIPAA and DPDP require, built so your compliance team can attest it without rebuilding it.
That means AES-256 encryption of PHI at rest, TLS 1.3 in transit, KMS-managed keys with documented rotation, field-level encryption on identifier columns, complete audit trails, role-based access with MFA for staff, and session isolation between doctors, admin and patients. It means PHI never lands in application logs, error reports or third-party analytics.
And for the AI layer — triage routing, symptom classification, appointment suggestion — it means the model never has final say on anything clinical. Red-flag terms are matched deterministically before the LLM is consulted. Uncertain classifications escalate to a human on-call. The model is an assistant to a licensed provider, never a substitute for one.

Care first, tech second
"PHI never lands in logs. Every red-flag term is matched before the LLM is asked. Every clinical decision belongs to a licensed provider."
The pattern
Safety-first triage — deterministic checks before the LLM
Python 3.11+ with pydantic v2. Red-flag terms are matched before any LLM call is made. Any parse failure escalates to human review — never silently drops.
# Structured LLM triage — safety-first parsing with pydantic
# The LLM classifies, but the rules engine has final say on urgency.
from typing import Literal
from pydantic import BaseModel, Field
import anthropic
class TriageDecision(BaseModel):
urgency: Literal["critical", "urgent", "routine", "informational"]
specialty: Literal["general", "cardiology", "orthopedics", "pediatrics",
"gynecology", "dermatology", "psychiatry", "unknown"]
red_flags: list[str] = Field(default_factory=list)
summary: str = Field(max_length=240)
confidence: float = Field(ge=0.0, le=1.0)
RED_FLAG_TERMS = {
"chest pain", "breathing difficulty", "unresponsive", "seizure",
"heavy bleeding", "sudden weakness", "slurred speech", "suicidal",
}
client = anthropic.Anthropic()
def classify(patient_message: str) -> TriageDecision:
# Deterministic red-flag check runs FIRST — never leave critical
# cases to the LLM's discretion.
hits = [term for term in RED_FLAG_TERMS if term in patient_message.lower()]
if hits:
return TriageDecision(
urgency="critical",
specialty="general",
red_flags=hits,
summary=f"Deterministic red-flag detected: {', '.join(hits)}",
confidence=1.0,
)
resp = client.messages.create(
model="claude-sonnet-5",
max_tokens=512,
system=(
"You classify incoming patient messages into urgency and specialty. "
"Never diagnose. Never suggest treatment. Never mention medication "
"names. If uncertain, return unknown with low confidence."
),
messages=[{"role": "user", "content": patient_message}],
# In production, use tool_use with a JSON schema derived from
# TriageDecision so the model returns validated structured output.
)
# ... parse response into TriageDecision, validate, return.
# Any parse failure escalates to human review — never silently drops.
raise NotImplementedError("wire up response parsing to TriageDecision")
def route(decision: TriageDecision) -> str:
# Critical always goes to a human immediately.
if decision.urgency == "critical" or decision.red_flags:
return "on_call_doctor_queue"
if decision.urgency == "urgent":
return "same_day_slot_queue"
return f"{decision.specialty}_next_available"What it changes
What clinical teams see after go-live.
Automated appointment confirmation + reminder flows brought no-shows down measurably at every clinic we've integrated with.
Self-serve booking and digital intake forms removed most repetitive calls — front desk time redirected to complex cases and post-op follow-up.
LLM-assisted intake compresses the first response window from hours to minutes for non-critical enquiries, with human review always in the loop for anything urgent.
Documented encryption, access control and audit logging that a hired DPO or auditor can walk through in an afternoon — not a rebuild.
Directional patterns from clinic and hospital rollouts we've delivered. Actual outcomes depend on baseline volume, staffing and which existing systems we integrate against.
FAQ
Questions clinical teams ask.
Are you a HIPAA-certified vendor?
HIPAA doesn't issue vendor certifications — it applies to Covered Entities and their Business Associates. What we do: build systems designed to meet the HIPAA Security Rule's technical safeguards (encryption, access control, audit logging, integrity) and, for Indian deployments, the DPDP Act 2023 requirements. Final attestation and BAA execution stay with your compliance team; we hand over the architecture, controls documentation and a written implementation runbook.
Which EHR/EMR systems do you integrate with?
Anything that speaks FHIR R4 (most modern EHRs) or HL7 v2 (older systems). We've worked against Insta HMS, MediXcel, custom hospital-built EMRs, and cloud EHRs. If the vendor exposes an API, we can integrate; if they only offer CSV exports, we can automate that too, though real-time features are limited.
Where is patient data hosted?
You choose. For most Indian hospitals we deploy on AWS Mumbai (ap-south-1) or a private OVHcloud region for data-residency compliance. For international/telehealth clients, we can deploy to AWS us-east-1 or eu-west-1 with region-appropriate BAA. Data never leaves the chosen region.
How does the AI triage handle a real emergency?
It doesn't try to. The classifier flags red-flag terms (chest pain, unresponsive, bleeding, breathing difficulty) and immediately routes to a human on-call with the raw message intact — no rewording, no delay. The LLM is a triage assistant, never a decision-maker. Every clinical action is authored by a licensed provider.
What's a realistic timeline to launch?
A patient portal + booking + WhatsApp notifications ships in 6–10 weeks. Adding FHIR integration against an existing EMR adds 3–5 weeks depending on how cooperative the incumbent vendor is. AI triage is another 3–4 weeks including safety review and shadow-mode testing.
A clinical portal your DPO can defend.
Tell us where PHI currently lives and what your compliance team needs on paper. We'll come back with an architecture, a scoped build phase and a controls document — all in one week.