Bowel Preparation Assistant
A WeChat mini-program for patient preparation guidance.
During an IT internship at Shanghai Haowangjiao Hospital, Shuran co-developed a tool to help patients follow the preparation process before a colonoscopy.
Software copyright registeredInterface & implementation
Inside the build
Small interactions, backed by practical logic.

One clear next step.
The schedule separates completed tasks from those still ahead. Future, unfinished reminders are sorted by time, so the earliest one becomes the next step shown to the patient.
function computeSummary(reminders) {
const total = reminders.length;
const completed = reminders.filter((item) => item.completed).length;
const pending = total - completed;
const upcoming = reminders
.filter((item) =>
!item.completed && item.datetime && item.datetime >= new Date()
)
.sort((a, b) => a.datetime - b.datetime);
return {
total,
completed,
pending,
nextReminder: upcoming[0] || null
};
}
Start with the essentials.
Before a plan is generated, the form checks for missing details. Each check returns a specific prompt, keeping incomplete information from moving into the next stage.
if (!user.name) {
wx.showToast({ title: '请填写姓名', icon: 'none' });
return;
}
if (!user.birthdate) {
wx.showToast({ title: '请选择出生日期', icon: 'none' });
return;
}
if (!user.weight) {
wx.showToast({ title: '请输入体重', icon: 'none' });
return;
}
A record with context.
Each entry keeps the symptom, reported severity, time, and notes together. An attention flag is retained alongside that context. This is a record of reported symptoms, not an automated diagnosis.
const severity = this.data.severityOptions[this.data.severityIndex];
const urgent = this.data.form.urgent || severity === '重度';
const entry = {
id: generateId('symptom'),
symptomId: symptom.id,
name: symptom.name,
severity,
date: this.data.form.date,
time: this.data.form.time,
notes: this.data.form.notes,
urgent,
className: SEVERITY_CLASS_MAP[severity] || 'light'
};Selected excerpts from the co-developed application. Original interface and code; spacing adjusted for readability. Project documentation, not medical guidance.
The project
The preparation process before a colonoscopy requires patients to follow diet and medication instructions. This mini-program was developed to provide guidance through that process.
From appointment to reminders
The application brings patient details and examination times into a preparation plan. Its scheduling tools turn plan steps into reminders, while separate views support hydration, food, and symptom records. A dashboard brings those records together.
Making the interface adaptable
The source includes language and text-size preferences, alongside an educational resource library with categories and favorites. These features offer different ways to read and revisit the information.
Development
Co-developed during an IT internship at Shanghai Haowangjiao Hospital, the project extends this software work into a practical patient-facing setting.
Software registration
The software copyright is jointly registered to Shuran Yang and Yunshu Zhang, under registration number 2026SR0206512, dated February 2, 2026.

