Skip to content
  • Professional work
  • Deployed internally
  • 2026

MINT+: AI-Assisted SDTM Mapping

AI suggestions for clinical SDTM mapping. Agents validate and generate annotations and mapping details, and data programmers review, edit and accept them, with full audit history.

My role
End-to-end owner of the AI-assisted mapping workflow inside the MINT+ application.
Key result
Less manual effort to create SDTM mapping specifications: programmers refine suggestions instead of starting from scratch.
Technologies
  • Python
  • FastAPI
  • AWS Bedrock AgentCore
  • Amazon DocumentDB
  • Amazon S3
  • Pydantic
  • Amazon EKS
  • Kubernetes
  • Helm
  • GitLab CI/CD
  • AWS Secrets Manager
  • Microsoft Entra ID (OAuth 2.0)
  • LangSmith

What I owned

  1. Problem framing
  2. Data preparation
  3. Modeling
  4. Evaluation
  5. Application/API
  6. Deployment
  7. Monitoring

Built at ZS for internal use. Described in simplified form; no client data, code or internal links are shown.

In [1]:Problem and constraints

Clinical study data comes from many raw sources and must become standard SDTM datasets.

  • For non-standard variables, programmers had to understand each raw variable, pick the SDTM target, write the annotation text and define the transformation algorithm, all by hand.
  • The work was repetitive and could be inconsistent across studies.
  • In a regulated setting, qualified programmers must stay responsible for every final mapping decision.

In [2]:Data and preparation

Mapping-recommendation data for each study from an upstream service: raw-variable information, candidate mappings, annotations and algorithms. These are stored as mapping documents with acceptance status, versions and audit history, for studies of up to 5,000 mappings.

In [3]:Baseline and evaluation design

Prompt and agent changes are tested in controlled experiments in a LangSmith evaluation pipeline before release. Every suggestion's accept, edit and regenerate history is recorded.

In [4]:Architecture and modeling decisions

Two agent modes on AWS Bedrock AgentCore:

  • Validation mode checks and corrects existing annotation text, using the raw variables, SDTM variables and algorithm metadata.
  • Generation mode creates or refines target domain, target variable, role, codelist and mapping conditions.

The AI suggests; programmers decide.

In [5]:Implementation and integration

  • A programmer configures a study in MINT+. The mapping-recommendation data is ingested by a FastAPI backend into DocumentDB, and the agents are invoked asynchronously, with Pydantic validation and study-run tracking.
  • Suggestions appear on the Annotations & Algorithm Suggestions screen, where users review, edit, accept, unaccept or regenerate them.
  • Bulk work: export the mapping specification to Excel, edit it offline, upload it again for validation and reprocessing.
  • Every change is kept in an append-only audit history.

In [6]:Deployment and operation

Status: Deployed internally

In production at ZS (internal) on Amazon EKS with Kubernetes and Helm. GitLab CI/CD releases go through Dev, Test, BVE and Production. Sign-in uses Microsoft Entra ID, and secrets are kept in AWS Secrets Manager.

Out[6]:Results and evidence

  • Less manual effort to create SDTM mapping specifications: programmers refine suggestions instead of starting from scratch.
  • More consistent mappings across studies, a faster mapping workflow, and better reuse of mapping knowledge.
  • Human control, audit history and enterprise security kept throughout, as a regulated environment requires.

In [7]:Limitations, failures, and lessons

  • Suggestions are only as good as the upstream recommendation data.
  • Next, I'd track the acceptance rate per study, to measure suggestion quality over time.