Inspiration

I'm from Mandapeta, East Godavari, Andhra Pradesh. In rural primary health centers, the medicine supply chain runs on delayed information: a health worker writes consumption in a register, a clerk types it up, and a district officer reads a report weeks later. An estimated 40% of rural health centers run out of essential medicines every month, not because the medicine doesn't exist but because the system finds out too late. Medicine consumption also changes before formal disease reporting catches up, so the same data can be an early outbreak signal.

What it does

AUSHADHI is an autonomous, event-driven system of five agents that watch a district's health centers:

  • SENTINEL monitors stock levels and flags critical and low items.
  • DQMS validates incoming data with six quality rules. Consumption spikes are flagged and forwarded, not discarded, because they are the signal.
  • FORECAST uses Gemini 3.5 Flash on Vertex AI to predict demand per medicine and to detect cross-center outbreak patterns.
  • PROCUREMENT routes each order to the nearest warehouse and drafts purchase orders.
  • ALERT notifies the Medical Officer about stockouts and the District Health Officer about outbreaks.

In the demo scenario, synchronized spikes in ORS, zinc and IV saline across neighbouring centers produce a high-risk cholera signal and emergency purchase orders, with no human orchestrating each step. The outbreak output is a risk signal to support public-health officers, not a diagnosis. The demo data is seeded and synthetic.

How we built it

AUSHADHI existed before this hackathon as an MIT-licensed project (FastAPI, React and TanStack, Gemini 3.5 Flash on Vertex AI, Firestore, Pub/Sub, Cloud Scheduler, Cloud Run). For Path B: Bring Your Own, I imported it into GitLab and added the post-code lifecycle automation on or after Oct 5:

  • Verify: .gitlab-ci.yml runs verify-backend and verify-frontend on every merge request.
  • Secure: a semgrep-sast job scans the code in the pipeline.
  • Package: build-backend-image builds the backend container.
  • Code review: GitLab Duo Agent Platform reviews merge requests. MR !1 was reviewed, corrected, re-reviewed and approved by Duo.
  • Release: a gated deploy-cloud-run job deploys both Cloud Run services (API and frontend) from the pipeline, using a service account stored in CI variables.

Challenges we ran into

  • Duo caught a real defect. My README edit removed a link's URL but kept its brackets, so the link would have rendered as broken text. I applied Duo's suggestion, asked @GitLabDuo for a re-review, and got approval.
  • The first deploy failed on IAM. The CI service account was denied access to Artifact Registry. I fixed its roles, re-ran the job, and both services went live.
  • Gemini 3.5 Flash is served only from the global Vertex AI endpoint. Regional endpoints return 404, which took real debugging to find.

Accomplishments that we're proud of

  • A merged merge request with a green pipeline (verify, SAST, build) and an automated, repeatable deploy to Cloud Run.
  • A real AI code review that found a real bug.
  • An existing project that now ships through a full DevSecOps loop on GitLab, with a live app running exactly what the pipeline shipped.

What we learned

An AI reviewer is most useful on the small things humans skim past. Keeping a manual gate on the deploy job lets automation do the work while a person still approves the release. Treating consumption anomalies as signal rather than noise is what makes the outbreak detection possible.

What's next for AUSHADHI

An offline-first mobile app for ASHA workers with Telugu voice input, integration with HMIS, eAushadhi and IDSP, and scaling from 8 demo centers to the 87 PHCs of East Godavari.

Built With

  • bun
  • cloud-scheduler
  • docker
  • fastapi
  • firestore
  • gemini
  • gitlab
  • gitlab-ci-cd
  • gitlab-duo
  • google-cloud-pubsub
  • google-cloud-run
  • python
  • react
  • semgrep
  • tailwindcss
  • tanstack
  • typescript
  • vertex-ai
Share this project:

Updates

Submission history