Portfolio
Location: Yokohama & Tokyo, Japan
SYS.ONLINE
Hello, I'mBojiang Zhang.
Specializing in Clinical Data Engineering.
Oncology data, CDISC SDTM and ADaM.
01_What_I_Do
I turn raw oncology study data into CDISC-conformant SDTM and ADaM datasets, and I build the tools that make that work faster and easier to trust. Below is what that looks like, on made-up data.
Raw EDC export
- 症例番号 Subject No.
- 001
- 性別 Sex
- 男 Male
- 生年月日 Date of birth
- 1958/03/04
- 有害事象 Adverse event
- 悪心 Nausea
- CTCAE Grade
- 2
- 発現日 Onset date
- 2024/05/12
DM Demographics
| STUDYID | DOMAIN | USUBJID | SEX | BRTHDTC |
|---|---|---|---|---|
| ONC01 | DM | ONC01-001 | M | 1958-03-04 |
AE Adverse Events
| USUBJID | AESEQ | AETERM | AEDECOD | AETOXGR | AESTDTC |
|---|---|---|---|---|---|
| ONC01-001 | 1 | Nausea | Nausea | 2 | 2024-05-12 |
- oncology studies whose data I handled on my own
- 7
- patients across those studies
- 10,000+
- less delivery time after I wrote the team's SOPs
- ~30%
- fastest protocol-to-deliverable cycle
- 2 months
02_Selected_Works
Open-source projects from my SDTM work. The company data stays private; the methods don't need to.
Knowledge & Spec
SDTM PediaThe SDTM Implementation Guide, rebuilt as a knowledge base that people and LLMs can both search.PythonMarkdownLLM toolsSDTMIG v3.4, SDTM v2.0 and CDISC terminology source files turned into 293 structured Markdown files63 domains, 1,005 codelists and 37,939 CDISC terms, fully indexedWorks with Claude Projects or Cursor directly, with no vector databaseAlongside that Markdown core, an optional RAG and knowledge-graph service with a streaming web chat is in developmentSDTM Spec ForgeGenerates SDTM datasets from a mapping config, then writes their dataset-specification workbooks against SDTMIG v3.4 and CDISC terminology.PythonRustSDTMIG v3.4A Python pipeline generates the datasets from the mapping configA Rust command-line tool then reads those datasets and writes the specification workbooksPipeline & Production
SDTM Mapping SystemConfig-driven ETL from raw study exports to SDTM datasets and an M5 submission package.PythonpandasMySQLCDISC SDTMA 7-step automated pipeline, driven by one Excel mapping workbookStudy teams change mapping rules in Excel, with no Python codingTooling & Audit
MedAudit Diff WatcherA desktop and command-line tool that watches versioned data folders and records row- and field-level CSV changes in an SQLite audit trail.PythonPySide6SQLiteDataForge StudioA Windows desktop toolbox for SDTM data prep (conversion, cleaning, masking) for analysts who don't write Python.PythonPySide6Now building
Private for now; these follow on from the projects above.
- A config-driven visual ETL platform for clinical data, with submission-ready CDISC SDTM output built in: a Rust engine, with a Tauri + React desktop app
- A web workspace for writing, versioning and exporting SDTM transformation configs, with Chinese and Japanese UI: React, FastAPI, SQLite
03_Experience
Sep 2023 – now
Clinical Data Specialist, Oncology
iTms K.K., Yokohama/Tokyo
- Delivered data management for 7 oncology studies (600–4,300 patients each) using data from the National Cancer Center Japan, from protocol to SDTM/ADaM datasets and analysis outputs.
- Designed study databases and specs, programmed edit checks agreed with hospital clinicians, and produced baseline, AE, lab, OS and PFS outputs.
- Wrote the team's first checklists and SOPs, and trained 5+ new data staff.
Sep 2022 – Aug 2023
EDC Developer, Clinical Trials
EPS Corporation (CRO)
- Built and maintained EDC databases for oncology trials: eCRFs, edit checks, UAT and user training.
Dec 2017 – Aug 2022
Test / QA Engineer
DAC-ENGINEERING K.K.
- Calibrated and tested precision optical and inspection equipment.
Toolkit
- CDISC SDTM, ADaM, CDASH, Define.xml, Controlled Terminology, Pinnacle 21, MedDRA, WHODrug
- EDC build, eCRF design, edit checks, UAT
- SQL, SAS, Python, VBA; PostgreSQL, SQL Server, MySQL, Access
- Chinese (native), Japanese (JLPT N2), English (professional working)
04_Lab
Things I build outside clinical data, each with a live demo.
Kana
Adds hiragana, katakana or romaji readings to long Japanese text, entirely in the browser.
TypeScriptSource on GitHub
LatSolar
Solar radiation by latitude, on an interactive 3D globe.
Three.jsGlobe.glSource on GitHub
Exchange Atlas
A live dashboard for six currency pairs across USD, CNY, JPY and AUD.
JavaScriptChart.jsSource on GitHub
Japan property workbench
Loan simulation and rental yield analysis for Japanese real estate.
JavaScriptSource on GitHub
ShuttleArena
Runs badminton tournaments: lottery draw, scheduling and real-time scoring.
TypeScriptFull stackSource on GitHub
Shuttle Path
Badminton coaching content: a technique knowledge base and illustrated lesson diaries.
AstroMDXSource on GitHub
IT Passport Learning
Past-exam practice for Japan's IT Passport exam in Japanese, Chinese and English: 2,900 past questions, daily review of mistakes, mock exams, a textbook, a glossary, and an AI tutor preview that runs on your own API key.
Next.jsReactSource on GitHub
worklog
Collects Claude Code and Codex sessions in the background, links them to tasks and writes a weekly report in three languages.
GoCloudflare WorkersReactSource on GitHub
Stoker
A macOS launchd scheduler that starts Claude Code and Codex usage windows on separate schedules and logs quota snapshots.
BashlaunchdSwiftUISource on GitHub
05_Connect
The quickest way to reach me is email. I reply in English, Japanese or Chinese.








