医疗挂号小程序需求文档(基于腾讯微搭低代码)

一、项目概述

1.1 项目目标

基于腾讯微搭低代码平台,快速开发一款具备用户登录、就诊人管理、科室查询、医生排班、挂号预约、订单管理等核心功能的医疗挂号小程序,实现“用户端便捷挂号+管理端高效运维”的业务闭环,降低医疗服务预约门槛。

1.2 核心用户

  • C端用户:普通患者(个人/家庭就医预约)
  • B端用户:医院管理员(科室、医生、排班、订单管理)

1.3 技术栈

  • 开发平台:腾讯微搭低代码(WeDa)
  • 运行环境:微信小程序
  • 数据存储:微搭云数据库(CloudBase)
  • 核心能力:低代码组件拖拽、云函数/API开发、数据模型可视化配置

二、核心功能需求

2.1 用户体系模块

功能点 需求描述 优先级
微信授权登录 支持微信手机号一键登录+昵称/头像同步,自动关联微搭用户体系
账号注册 补充用户基础信息(手机号、姓名),同步至自建用户表
二次登录校验 下次打开小程序自动登录,保持会话状态
个人中心 展示用户信息、就诊人入口、订单入口、快捷菜单

2.2 就诊人管理模块

功能点 需求描述 优先级
就诊人添加 支持成人/儿童(需监护人信息)就诊人录入,含姓名、性别、证件号等
就诊人CRUD 支持查看、编辑、删除就诊人信息,隐私数据脱敏展示
默认就诊卡设置 支持标记默认就诊人,挂号时自动选中
就诊码生成 基于就诊卡号生成一维码/二维码,用于线下核验

2.3 科室与医生模块

功能点 需求描述 优先级
科室分类展示 按科室分类(如内科、外科)展示科室列表,支持图标+名称可视化
医生列表查询 按科室筛选医生,展示医生头像、职称、擅长领域、挂号费
医生搜索 支持通过医生姓名模糊查询

2.4 排班与挂号模块

功能点 需求描述 优先级
七日排班展示 横向滚动日历组件,显示未来7天号源状态(有号/满号/未出诊)
排班详情查询 选中日期后,展示对应医生的号段(时间区间)、余号、挂号费
挂号下单 选择就诊人+号段,提交预约订单,扣减对应号源库存
号源库存控制 防止超卖,下单时校验库存,取消预约后回滚库存

2.5 订单管理模块

功能点 需求描述 优先级
订单创建 挂号成功后自动生成预约订单,含订单号、排队序号、就诊信息
订单状态流转 支持“待支付→已预约→已取消→已完成”状态变更
订单查询 用户端查看个人预约记录,管理端查看所有订单
取消预约 用户在就诊前可取消预约,自动回滚号源库存

2.6 管理后台模块

功能点 需求描述 优先级
科室管理 支持科室分类、科室信息的增删改查
医生管理 维护医生基础信息,关联所属科室
排班管理 按医生批量生成排班(按周/按月),设置号源总数
号段管理 自动拆分号段(如30分钟/个),支持手动调整
订单审核 查看所有预约订单,支持手动变更订单状态

三、非功能需求

类型 需求描述
可用性 页面响应时间≤2s,支持微信小程序最新3个版本
性能 单科室单日排班查询QPS≥100,库存扣减无超卖
安全性 用户隐私数据(手机号、证件号)加密存储,接口鉴权
兼容性 适配主流手机屏幕(375px~414px宽度)
可维护性 数据模型字段可扩展,功能模块低耦合

四、数据库表设计(核心表)

4.1 用户表(medical_users

字段名 字段类型 是否必填 字段说明 关联表 索引
_id 字符串(系统字段) 主键ID -
openid 字符串 微信用户唯一标识 -
phone 字符串 用户手机号(脱敏存储) -
nickname 字符串 微信昵称 -
avatar 字符串 微信头像URL -
create_time 时间戳(系统字段) 注册时间 -
update_time 时间戳(系统字段) 最后更新时间 -

4.2 科室分类表(department_categories

字段名 字段类型 是否必填 字段说明 关联表 索引
_id 字符串(系统字段) 主键ID -
category_name 字符串 分类名称(如“内科”“外科”) -
sort 数字 排序序号(越小越靠前) -
status 枚举 状态(启用/禁用) -
create_time 时间戳(系统字段) 创建时间 -

4.3 科室表(departments

字段名 字段类型 是否必填 字段说明 关联表 索引
_id 字符串(系统字段) 主键ID -
dept_name 字符串 科室名称(如“呼吸内科”) -
category_id 字符串 所属分类ID department_categories._id
intro 文本 科室简介 -
icon 字符串 科室图标URL -
status 枚举 运营状态(启用/禁用) -
create_time 时间戳(系统字段) 创建时间 -

4.4 医生表(doctors

字段名 字段类型 是否必填 字段说明 关联表 索引
_id 字符串(系统字段) 主键ID -
doctor_name 字符串 医生姓名 -
title 枚举 职称(主任医师/副主任医师/主治医师) -
dept_id 字符串 所属科室ID departments._id
avatar 字符串 医生头像URL -
specialty 文本 擅长领域 -
registration_fee 数字 挂号费(单位:分) -
status 枚举 状态(出诊/停诊) -
create_time 时间戳(系统字段) 创建时间 -

4.5 就诊人表(patients

字段名 字段类型 是否必填 字段说明 关联表 索引
_id 字符串(系统字段) 主键ID -
user_id 字符串 所属用户ID medical_users._id
patient_name 字符串 就诊人姓名 -
gender 枚举 性别(男/女/未知) -
id_type 枚举 证件类型(身份证/户口本/其他) -
id_card 字符串 证件号(脱敏存储) -
phone 字符串 就诊人手机号 -
is_child 布尔 是否儿童(true=是) -
guardian_name 字符串 监护人姓名(儿童必填) -
guardian_id 字符串 监护人证件号(儿童必填) -
card_no 字符串 就诊卡号(系统生成唯一值) -
is_default 布尔 是否默认就诊卡(true=是) -
create_time 时间戳(系统字段) 创建时间 -

4.6 排班表(schedules

字段名 字段类型 是否必填 字段说明 关联表 索引
_id 字符串(系统字段) 主键ID -
doctor_id 字符串 医生ID doctors._id
dept_id 字符串 所属科室ID departments._id
schedule_date 日期 出诊日期(格式:YYYY-MM-DD) -
total_slots 数字 总号源数 -
status 枚举 排班状态(正常/停诊) -
create_time 时间戳(系统字段) 创建时间 -

4.7 号段表(schedule_slots

字段名 字段类型 是否必填 字段说明 关联表 索引
_id 字符串(系统字段) 主键ID -
schedule_id 字符串 关联排班ID schedules._id
start_time 字符串 号段开始时间(如“08:00”) -
end_time 字符串 号段结束时间(如“08:30”) -
remaining 数字 剩余号源数 -
fee 数字 该号段挂号费(默认继承医生挂号费) -
create_time 时间戳(系统字段) 创建时间 -

4.8 预约订单表(appointments

字段名 字段类型 是否必填 字段说明 关联表 索引
_id 字符串(系统字段) 主键ID(订单号) -
user_id 字符串 下单用户ID medical_users._id
patient_id 字符串 就诊人ID patients._id
slot_id 字符串 号段ID schedule_slots._id
doctor_id 字符串 医生ID doctors._id
dept_id 字符串 科室ID departments._id
schedule_date 日期 就诊日期 -
queue_no 数字 排队序号 -
total_fee 数字 订单总金额(单位:分) -
status 枚举 订单状态(待支付/已预约/已取消/已完成) -
cancel_time 时间戳 取消时间(仅取消状态有值) -
create_time 时间戳(系统字段) 下单时间 -

五、核心接口需求

接口名称 接口用途 请求参数 响应参数
用户登录接口 微信授权后同步用户信息 openid、phone、nickname、avatar user_id、token、is_new(是否新用户)
就诊人列表接口 获取用户关联的就诊人 user_id 就诊人列表(含id、name、card_no等)
科室列表接口 获取所有科室(按分类) - 分类列表+对应科室信息
医生列表接口 按科室筛选医生 dept_id 医生列表(含头像、职称、挂号费)
七日排班接口 获取指定科室7天排班 dept_id 日期数组(含号源状态)+ 对应医生排班
号段查询接口 获取指定排班的号段 schedule_id 号段列表(含剩余号源、时间)
挂号下单接口 创建预约订单 user_id、patient_id、slot_id 订单号、queue_no、total_fee
订单列表接口 获取用户订单 user_id、status(可选) 订单列表(含就诊信息、状态)
取消预约接口 取消订单并回滚库存 order_id 取消结果(success/fail)

六、关键业务规则

  1. 库存扣减规则:下单时通过事务实现“创建订单+扣减号段剩余量”原子操作,防止超卖;
  2. 默认就诊卡规则:一个用户仅能有一个默认就诊卡,新增默认卡时自动取消原默认卡;
  3. 号段生成规则:按排班总号源数,以30分钟为间隔自动拆分号段(可手动调整);
  4. 取消预约规则:就诊日前1天18:00前可取消,超时不可取消;取消后号段剩余量+1;
  5. 隐私保护规则:手机号显示为“138****5678”,证件号显示为“************1234”。
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐