> ## Documentation Index
> Fetch the complete documentation index at: https://ekacare-consent-url-fix.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Under the Hood

> Monthly transparency post covering infrastructure, reliability, performance, and security work across the Eka platform.

export const SubscribeForm = () => {
  const [email, setEmail] = useState("");
  const [status, setStatus] = useState("idle");
  const handleSubmit = e => {
    e.preventDefault();
    const trimmed = email.trim();
    if (!trimmed || !trimmed.includes("@")) {
      setStatus("error");
      return;
    }
    window.open("http://eepurl.com/i3Lz2E", "_blank");
    setStatus("success");
    setEmail("");
  };
  return <div style={{
    background: "#E1F5EE",
    border: "1px solid #5DCAA5",
    borderRadius: "12px",
    padding: "20px 24px",
    marginBottom: "28px"
  }}>
      <div style={{
    fontSize: "15px",
    fontWeight: "600",
    color: "#085041",
    marginBottom: "4px"
  }}>
        Get weekly developer updates in your inbox
      </div>
      <div style={{
    fontSize: "13px",
    color: "#0F6E56",
    marginBottom: "14px",
    lineHeight: "1.5"
  }}>
        New features, SDK releases, API changes, and bug fixes — delivered every week. No spam. Unsubscribe anytime.
      </div>
      {status === "success" ? <div style={{
    background: "#0F4C3A",
    color: "white",
    borderRadius: "8px",
    padding: "10px 16px",
    fontSize: "13px"
  }}>
          ✓ Check your inbox to confirm your subscription.
        </div> : <form onSubmit={handleSubmit} style={{
    display: "flex",
    gap: "8px",
    flexWrap: "wrap"
  }}>
          <input type="email" value={email} onChange={e => {
    setEmail(e.target.value);
    setStatus("idle");
  }} placeholder="your@email.com" required style={{
    flex: "1",
    minWidth: "200px",
    height: "38px",
    border: status === "error" ? "1.5px solid #E24B4A" : "1.5px solid #5DCAA5",
    borderRadius: "8px",
    padding: "0 14px",
    fontSize: "13px",
    color: "#111",
    background: "white",
    outline: "none"
  }} />
          <button type="submit" style={{
    height: "38px",
    background: "#0F4C3A",
    color: "white",
    border: "none",
    borderRadius: "8px",
    padding: "0 20px",
    fontSize: "13px",
    fontWeight: "500",
    cursor: "pointer",
    whiteSpace: "nowrap"
  }}>
            Subscribe →
          </button>
        </form>}
      {status === "error" && <div style={{
    fontSize: "11px",
    color: "#E24B4A",
    marginTop: "6px"
  }}>
          Please enter a valid email address.
        </div>}
      <div style={{
    fontSize: "11px",
    color: "#0F6E56",
    marginTop: "8px",
    opacity: "0.75"
  }}>
        Powered by Mailchimp · Your data is safe with us
      </div>
    </div>;
};

<SubscribeForm />

<Update
  label="March 2026"
  description="Monthly Transparency Post"
  tags={["Feature", "Update"]}
  rss={{
title: "Eka Under the Hood — March 2026",
description: "• AI agents expanded with ABHA login, appointment rescheduling, and patient benefits tools\n\n• EkaScribe Android SDK v4.0.4 — Architecture V2 with Java support and idempotent state management\n\n• MCP Server now supports email authentication and mid-conversation credential elicitation\n\n• ABDM milestone guides M1–M4 published\n\nRead more: https://developer.eka.care/under-the-hood"
}}
>
  ## Under the Hood — March 2026

  March was about making AI agents more capable and more connected. We expanded
  what agents can do — from booking appointments to managing ABHA profiles —
  while investing in the developer experience to make sure integrators can
  connect, authenticate, and build quickly.

  ### Product highlights

  * **ABHA login and profile management via MCP** — AI agents can now handle
    full ABHA workflows (login, OTP verification, profile selection, card
    retrieval) during a conversation, no manual steps needed. [View changelog](/changelog)
  * **Vaccination and appointment reminder webhooks** — New webhook endpoints
    for vaccination reminders, appointment reminders, and follow-up variants
    let integrations react to scheduling events in real time.
  * **Follow-up appointment confirmation API** — A new endpoint to
    programmatically confirm follow-up appointments, removing the need for
    manual intervention.
  * **Ophthalmology data in prescription PDFs** — Prescription PDFs now include
    pachymetry, Amsler grid, and contact lens examination tables, rounding out
    ophthalmology support across the platform.
  * **IPD billing PDF generation** — Clinics can now generate inpatient billing
    documents as structured PDFs with itemized charges and pricing summaries.

  ### AI agent infrastructure

  March saw sustained investment in the Eka MCP Server — the core interface
  between AI assistants and the Eka healthcare platform.

  We added five new tools this month: appointment rescheduling, patient benefits
  lookup, ABHA login and profile management, and doctor discovery with metadata
  forwarding. Each tool follows the authenticated remote MCP specification, so
  any compatible AI client can use them without custom integration work.

  Authentication got more flexible too. The MCP Server now supports email-based
  verification alongside mobile, and tools can prompt for credentials
  mid-conversation through elicitation — meaning the user never has to leave
  their AI client to authenticate.

  On the developer experience side, we restructured the MCP documentation into
  separate Remote and Local SDK guides, published the server on Smithery for
  easier discovery, and added comparison tables so developers can choose the
  right deployment model in seconds.

  ### SDK and integration tooling

  The EkaScribe Android SDK shipped Architecture V2 (v4.0.4) with Java support,
  session cancellation, and idempotent state management — a significant
  reliability improvement for integrators running the SDK in production. The JS
  SDK received error tracking improvements, header handling fixes, and ES6 build
  support.

  The Echo Agent Kit gained `_meta` field support and improved elicitation
  handling, aligning it with the latest MCP specification. The Pagify SDK cleaned
  up iframe lifecycle management to prevent lingering embedded views.

  On the mobile side, MedAssist on iOS now handles app backgrounding gracefully
  — sessions reconnect automatically — and error messages are surfaced clearly
  instead of failing silently. Suggestion chips, message bubbles, and file upload
  handling were all refined.

  ### Documentation and developer experience

  We published structured ABDM milestone guides (M1–M4) covering the full
  integration path from ABHA creation through health data exchange. The Doctor
  Profile API was extended with a salutation field. OPD slips now display price
  and patient attributes.

  The Medical Records Android SDK gained conditional visibility for record grid
  items, and the changelog itself was cleaned up (Gmail subscription links and
  GitHub repository links corrected).

  ### What's next

  In April, we're focused on expanding MCP tool coverage across the EMR,
  improving real-time event delivery for webhook consumers, and continuing to
  harden the authentication and session management layers across all SDKs.
</Update>
