- 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
- Problem framing
- Data preparation
- Modeling
- Evaluation
- Application/API
- Deployment
- 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.