OraFlow

OraFlow 知识库与用户指南

涵盖诊所全部16个模块、业务流程及系统错误的完整手册

1. 角色架构与数据访问权限

严格的角色模型、分院隔离(branch_id)及医疗数据保护机制。

员工权限与职责汇总表

设置 → 诊所人员

• 诊所超级管理员(admin):整个诊所及所有分院(branch_id = null)。完全访问:分院、员工、价格矩阵、在线预约、全局折扣、所有分析报表、计费、数据库清理、SMTP。若为唯一管理员,则无法删除自身或更改自身角色。

• 分院管理员(branch_admin):仅限所属分院(branch_id)。管理本分院员工、本地价目表、本分院收银台及预约、收银员报表。禁止:创建 admin 或其他 branch_admin、删除分院、重命名分院、访问全局模块(套餐计费、磁盘配额、全局 SMTP)。

• 诊所医生(dentist):仅限所属分院及已绑定患者。个人排班、预约日志、牙位图、X光片及已绑定患者的治疗历史、“第二诊疗意见”聊天室。若患者未绑定该医生,则无权查看其病历(牙位图、X光、治疗史)。不可收款。

• 独立牙医(dentist 无 clinic_id):个人账户(私人执业)。全功能:兼任自己的管理员、收银员和医生。可使用折扣、在线预约、个人Logo、分析报表、计费。无分院模块及第三方员工编制。

• 前台 / 操作员(operator):仅限所属分院。创建患者、预约日志、收款、打印收据、本班收银报表。严禁接触医疗数据:不可查看X光文件、牙位图及牙齿治疗历史。

2. 初始配置(诊所与独立牙医)

适用于诊所和独立牙医:注册、时区、币种、Logo;诊所另有分院、员工及 SMTP 邮件服务器设置。

视频教程:从哪里开始

几个简短的视频演示了如何开始使用 OraFlow。请先录入排班,其余内容在使用过程中就会清楚。诊所和独立牙医都适用。所有视频都在同一个播放列表中,新视频也会添加到那里。

在 YouTube 上观看视频教程

注册与账户激活

/register 页面

  1. 前往注册页面(/register)。
  2. 选择账户类型:“牙医”(单人私人执业)或“诊所”(多医生/多分院的机构;指定员工上限:6、11、16、31)。
  3. 填写必填项:用户名、密码、名、姓、工作邮箱、电话(含国家代码)及诊所名称。
  4. 查收邮件,点击链接激活账户(链接有效期24小时)。

基本信息、时区与币种设置

设置 → 品牌与组件 / 设置 → 价目表

  1. 时区:进入“设置”→“品牌与组件”(页面底部),点击时区字段旁的铅笔图标并选择所在区域。轮班边界、在线时段及财务报表均严格按诊所时区计算,而非用户设备时间。
  2. 结算币种:进入“设置”→“价目表”,右上角选择币种(USD、EUR、RUB、AMD、AED、CNY 或自定义最多4字符)。全诊所统一使用同一币种。
  3. Logo:在“品牌与组件”→“Logo”中上传诊所Logo(JPEG/PNG,最大5MB)。系统将自动优化尺寸至 288×96 px 容器内,且不裁切文字。

添加分院与员工

设置 → 诊所人员

  1. 分院:进入“设置”→“诊所人员”→“诊所与分院”标签页,点击“+ 添加分院”,填写名称、精确地址及联系电话。
  2. 员工:切换至“员工”标签页,点击“+ 添加员工”,输入用户名、姓名、邮箱、电话,选择角色与所属分院。系统将自动生成临时密码并发送至该员工邮箱。

通知邮件配置(SMTP)

设置 → 通知 → SMTP 设置

  1. 打开“设置”→“通知”→“SMTP 设置”。
  2. 填入服务器地址、端口(SSL通常为465,TLS为587)、登录账号(您的邮箱)及密码。
  3. Gmail / Yandex 用户:请使用邮箱安全设置中生成的16位专用应用密码,而非主邮箱密码。
  4. 在“测试邮箱”栏填入接收地址并点击“测试”。
  5. 发送成功后点击“保存”。

3. 排班与轮班管理

按星期、单双日构建排班表,时间段设置及交互式例外日期。

医生排班构建方式

设置 → 工作排班

• 按星期排班:勾选所需工作日(周一、周二等),为每天设定上下班时间。如需添加休息时段,点击“+ 添加时间段”(如 09:00–14:00 和 15:00–19:00)。最小间隔为15分钟,重叠时段将被自动阻止。

• 单日 / 双日排班:系统根据日历日期的奇偶性(2、4、6… 或 1、3、5…)确定排班。分别设置单日和双日的工时。在“排除星期”区块中取消常规休息日(如取消周六周日勾选,使其无论日期如何始终为非工作日)。

例外日历与轮班历史记录

设置 → 工作排班 → 交互式日历

• 设为计划外休息日:点击日历中的工作日,该日期将显示红色边框,当日线上及线下预约通道关闭。

• 在休息日安排上班:点击任意非工作日,在弹窗中单独设置该日的工作时间。

• 排班历史:系统保留所有历史排班版本。修改当前排班不会影响已完成的过往预约。

4. 日历与预约日志

就诊网格、服务状态、拖拽改期及预约审计。

排班网格视图模式

排班表

• 日视图(按员工):顶部以并列列形式展示所选分院的所有医生。

• 周视图:展示所选医生的连续7天排班。

• 快速切换时间格式:点击左侧时间轴可即时切换 24小时制 / 12小时制(AM/PM)。

创建预约

排班表

  1. 点击医生列中的蓝色空闲时段(或点击“预约挂号”)。蓝色表示该时段处于医生工作时间内。
  2. 在预约窗口中通过姓名、电话或邮箱搜索现有患者(输入3个字符即触发搜索),或输入新姓名并点击“创建新患者”。
  3. 从价目表中选择一个或多个项目(时长与价格自动累加)。
  4. 指定就诊类型:单次就诊 或 治疗计划就诊(若患者有进行中的治疗计划)。
  5. 必要时手动调整时长或添加备注。
  6. 点击“保存”。

就诊状态及流转

排班表 → 点击就诊色块

点击网格中的预约色块将打开管理卡片:

• pending(待确认,黄色)— 预约已创建,患者尚未确认。

• confirmed(已确认,绿色)— 患者已通过电话/短信确认到诊。

• arrived(已到达 / 签到,青色)— 患者已在前台签到。

• completed(已完成,紫色)— 就诊已结束。若关联了治疗计划,系统将询问:“仅完成本次就诊还是整个治疗计划?”。

• no-show(爽约,红色)— 患者未提前通知且未到场。

• cancelled(已取消,红色)— 预约已被取消。

改期(拖拽操作)

排班表

• 电脑端:按住鼠标左键拖动就诊色块至其他时间或其他医生列。

• 手机/平板端:长按色块300毫秒,轻微震动后即可用手指拖动。

• 系统将要求确认。若目标医生在该时段已有预约或不处于工作状态,系统将拒绝移动并给出明确提示。

5. 患者档案与去重机制

检索、防重复保护、患者画像及主治医生指派。

新建时的查重规则

患者 → 添加患者

• 硬性拦截:若诊所内已存在相同手机号或邮箱的患者,系统将抛出 error_duplicate_phone 或 error_duplicate_email 错误,无法创建第二个相同账户。

• 软性提醒:若手机和邮箱唯一,但姓名与出生日期完全一致,系统将弹出提示:“疑似重复。已存在同名同生日患者,是否仍要创建?”。仅在确认为同名不同人的情况下才点击“仍然创建”。

患者卡片结构与医生绑定

患者 → [患者卡片]

• 个人资料:个人信息、年龄(自动计算)、支持快速编辑的备注区。

• 绑定医生(仅诊所版):位于资料页左侧栏。超级管理员或前台可从列表中选择医生并点击“指派”。

重要提示:在医生被指派给患者之前,该医生无法查看患者的X光片、录入牙位图或查阅牙齿治疗历史。

6. 电子病历(EMR)

FDI/Universal 牙位图、单牙治疗史及影像文件协议。

6.1. 牙位图(Dental Chart)

患者卡片 → 牙位图

  1. 底部编号切换器:FDI(11–48)或 Universal(1–32)。
  2. 标记诊断/修复体:在顶部工具栏选择相应工具(如“龋齿”、“充填”、“牙冠”、“种植体”),然后点击对应牙齿。牙齿将变为对应颜色(或显示种植体螺丝/根管桩)。使用同一工具再次点击即可取消标记(恢复为“健康”状态)。
  3. 构建固定桥:点击“桥体”工具 → 点击第一个基牙(牙号呈蓝色闪烁)→ 点击同一牙弓内的第二个基牙。系统将自动用整体连接杆连接两者之间的所有牙齿。拆除桥体时,选择“桥体”工具并点击结构中任意一颗牙齿即可。

6.2. 单牙治疗历史(Tooth History)

患者卡片 → 牙位图

  1. 在牙位图工具栏中停用所有工具(切换至光标模式)。
  2. 点击任意牙齿,右侧将滑出该牙专属的历史记录面板。
  3. 点击“+ 新增记录”,输入治疗协议后点击“保存”。
  4. 医疗审计:对旧记录点击“编辑”时,原始文本不会被删除,而是以删除线形式保留在版本历史中,并注明修改人与修改时间。

6.3. X光片与照片存储(文件)

患者卡片 → 文件

• 上传:点击“文件”标签页顶部的上传区块,从电脑选择文件或用手机/平板拍照。

• “压缩照片”选项:默认开启。可将大尺寸照片降至 Full HD(1920×1080),在不损失诊断价值的前提下节省诊所磁盘配额。

• 关联牙齿:上传前在下颌交互缩略图上点击对应牙号,影像将自动绑定至这些牙齿,并在查看牙齿历史时同步显示。

• 预览(Lightbox):点击缩略图可全屏查看。支持鼠标滚轮平滑缩放,或在移动端使用双指捏合手势(pinch-to-zoom)。

7. 治疗计划

透明报价单生成、分院绑定、自动折扣、协议价及完结流程。

治疗计划生命周期与计价

患者卡片 → 治疗计划

  1. 点击“创建计划”,输入名称(如“2026种植与修复”)。同一患者同时只能有一个活跃的治疗计划。
  2. 绑定分院:在下拉菜单中选择治疗所在分院,所有项目费用将立即按该分院价目表重新计算。
  3. 添加项目:在搜索框中输入项目名称并选中,依次添加所有阶段。
  4. 计划折扣:若存在适用折扣,将出现蓝色区块及“应用折扣”按钮。
  5. 协议价(手工定价):点击“总费用”旁的铅笔图标并输入协商金额,系统将差额记为个人手工折扣。
  6. 计划付款:患者可分期支付(预付款)。进度条直观展示“已付 / 待付”比例。
  7. 完结:当所有项目执行完毕后,在操作菜单(三个点)中选择“完结计划”。此后可新建下一个治疗计划。

8. 收银台、支付与财务操作

多渠道收款、积分/礼券核销、返现及会计冲正。

如何为患者收款?

日历 → 就诊 → “录入付款” 或 患者卡片 → “付款记录”

  1. 从日历入口:点击预约 → 绿色“录入付款”按钮。
  2. 从患者卡片:打开“付款记录”或“治疗计划”标签页 → 点击银行卡图标按钮。
  3. 在弹窗中选择付款用途(单次就诊或治疗计划),输入金额(默认带入准确欠款余额),选择支付方式(银行卡、现金、转账、礼品卡或积分),并选择业绩归属医生。
  4. 点击“保存付款”。

使用积分或礼品卡支付

收款弹窗

• 若患者拥有礼品券或积分,对应按钮上将显示可用余额。

• 若支付金额超出积分余额或礼品卡面额,系统将报错并提示确切可用余额。

收银差错更正与退款(冲正)

患者卡片 → “付款记录”标签页

  1. 根据会计准则,OraFlow 中的财务流水不可篡改,无法无痕删除付款记录。
  2. 进入患者的“付款记录”标签页。
  3. 展开相关计划或就诊记录。
  4. 在错误付款行右侧点击操作菜单(三个点)。
  5. 点击“删除”(全额冲正)或“编辑”(修改金额/方式)。
  6. 系统自动处理:错误付款将被红线划除(is_deleted = true),同时生成一笔负金额的补偿冲正记录;已发放的返现将从积分账户扣回,积分/礼券退回余额,患者总欠款实时重算。

9. 营销:折扣、优惠码、礼券与积分

折扣叠加策略、礼品卡批次、唯一优惠券生成及返现机制。

9.1. 折扣叠加规则(策略)

设置 → 折扣管理 → 通用设置

• 优先级(Priority):对比所有触发的折扣,仅应用对患者最优惠的一项。

• 级联(Cascade):折扣按顺序依次作用于剩余价格。

• 叠加(Summable):患者个人折扣百分比与全院促销百分比相加。

9.2. 创建忠诚度计划

设置 → 折扣管理

点击“创建折扣”时有4种选项:

1. 全局促销:面向所有人的自动折扣(如“5月洁牙8折”)。

2. 手动指派:管理员在特定VIP客户卡片中手动绑定的折扣模板。

3. 通用优惠码:输入关键词(如 INSTA2026)即可享受折扣。

4. 唯一码生成模板:用于批量印制一次性优惠券的底版。

9.3. 唯一优惠码生成器

设置 → 折扣管理 → 优惠码生成器

  1. 进入“唯一优惠码生成器”区块。
  2. 选择促销活动模板。
  3. 设定生成数量(单次最多1000个)及前缀(最多12个拉丁字母,如 SUMMER)。
  4. 点击“生成”。生成的代码可一键复制,或导出为 CSV/TXT 格式供群发或印刷厂使用。

9.4. 礼品券(Gift Cards)

设置 → 折扣管理 → 礼品卡

  1. 单张发行:选择“单张发行”,设定面额与有效期,系统将生成10位唯一编码。
  2. 批量印制:选择“批量发行”,输入系列名称(如“新年5000”)、数量(最多500张)及面额。导出 CSV 文件交由制卡厂生产实体塑料卡。
  3. 激活:在患者卡片的“忠诚度”标签页中,将证书编码填入“礼品卡”字段并点击“激活”。

10. 在线预约、组件与二维码

创建公共预约组件、导出二维码及患者端在线流程。

创建公共链接与二维码

设置 → 品牌与组件 → 在线预约组件

  1. 输入链接的业务名称(如“Taplink 治疗科”)。
  2. 设定覆盖范围:全诊所(患者可选分院、任意医生及项目)、单分院(仅限指定地址预约)或 指定医生(某位医生的专属链接)。
  3. 勾选允许患者在线选择的项目。
  4. 如需展示价目表,请开启“显示价格”开关。
  5. 点击“创建链接”。

用于印刷与社交软件的二维码

设置 → 品牌与组件 → 链接旁的 QR 图标

在弹窗中您可以:

• 点击“下载 PNG”——发送给平面设计师(用于前台立牌、名片、传单印刷)。

• 点击“WhatsApp”或“Email”——快速将链接发送给患者。

• 复制直链,格式为 https://your-domain.com/book/xxxxxxxx。

患者端预约体验(4步流程)

公共预约组件

  1. 第1步:选择服务项目。
  2. 第2步:选择医生(若链接中未锁定)。
  3. 第3步:基于诊所真实排班选择日期与空闲时段。
  4. 第4步:填写姓名、电话及出生日期。确认后,预约将瞬间出现在排班网格中,状态为 pending 并带有“在线预约”标签。

11. 数据分析与财务报表

收银汇总、医生业绩、欠款台账、收银员交接班及项目热度分析。

报表模块使用指南及指标释义

数据分析(顶部导航栏图表图标)

  1. 在顶部区块勾选所需报表:
  2. • 汇总:当期总流水及患者总欠款。
  3. • 患者流量:初诊人数与复诊人次。
  4. • 负债:已发折扣总额、礼品卡及积分余额。
  5. • 医生业绩:按医生拆分的营收明细。
  6. • 欠款台账:详细欠款表,标明欠款产生分院。
  7. • 治疗计划:活跃计划台账、总价及付款进度。
  8. • 项目热度:各项目执行频次(次数)及基础单价。
  9. • 收银员报表:按管理员及支付类型(现金、POS、积分)拆分的对账单。
  10. 设定日期范围、分院及医生后,点击“生成报表”。
  11. 任意表格均可通过文件图标按钮导出为 Excel/CSV 格式。

12. 通讯中心(内部聊天、“第二诊疗意见”、合作伙伴网络)

分院企业频道、专业医师论坛、B2B联盟及24小时自动清理机制。

沟通渠道与安全规则

右上角消息图标

点击右上角对话图标即可展开侧滑面板:

• 分院/诊所聊天室:值班人员的日常运营沟通。

• 私信(DMs):员工个人通讯(绿点代表“在线”)。

• “第二诊疗意见”信息流(医生专属):选择专科(全科、正畸、外科等)及语言,发布疑难病例及影像供平台同行讨论。发帖限制:免费版每小时1条,付费版每小时最多30条。

• “随时接诊”名录:开启“愿意提供帮助”开关后,平台其他医生可向您发起紧急在线咨询。

• 合作伙伴网络(Partners):面向独立诊所的 B2B 协作模块(CT转诊、麻醉、技工所对接)。通过搜索寻找合作诊所并发送申请,通过后即可开启跨院共享聊天室。

隐私政策:聊天记录采用超高速存储,消息生命周期自动设定为24小时。超时后历史记录将被自动彻底清除。

13. 磁盘管理、归档与数据库清理

配额指示器、文件台账、批量ZIP下载及安全删除(含VACUUM优化)。

存储指示器与文件归档

设置 → 存储管理

• 存储指示器直观展示空间占用:蓝色部分 — X光片、Logo及头像等物理文件;绿色部分 — 数据库表及索引大小;黄色标识 — 付费额外磁盘即将到期警告。

• 文件归档:诊所历史上传文件总台账。可按患者筛选、查找最大影像文件,或在电脑端一次性打包下载最多100个文件的ZIP压缩包。

数据库清理工具

设置 → 存储管理 → 数据库清理

  1. 安全释放磁盘配额。
  2. 设定时间范围(如:清理2年前的所有数据)。
  3. 选择清理对象:过期系统日志、无付款记录的已取消预约、无欠款的归档计划。
  4. 点击“清理预览”——系统将计算待删行数,但不执行实际删除。
  5. 点击“执行清理”(删除医疗实体需验证管理员密码)。操作完成后,系统将自动对数据库表执行 VACUUM 优化。

14. 套餐、订阅与推荐奖励系统

资费矩阵、长周期折扣、扩容购买、推荐返佣及只读模式。

资费矩阵与续费

设置 → 计费与订阅

• 卡片展示当前套餐、医生人数上限及到期日。

• 预付折扣:1个月 — 原价;3个月 — 95折;6个月 — 9折;12个月 — 买10送2(免费2个月)。

• 额外磁盘空间可通过独立扩展包购买,无需升级至更昂贵的套餐。

推荐奖励计划

设置 → 推荐计划

• 在“设置”→“推荐计划”中复制您的专属链接。

• 将链接分享给其他诊所的同行。

• 当新诊所通过您的链接注册并完成首笔订阅付款后,经过30天保护期,您的推荐账户将获得一笔永不过期的美元奖金。

• 累积的推荐额度可通过“使用余额”按钮直接抵扣您自身的套餐费或扩容费用。

15. 移动端应用(PWA / iOS / Android)

智能手机UI特性:底部导航、患者堆栈及触控手势。

移动设备操作特性

智能手机与平板界面

OraFlow 界面已通过 Capacitor 技术全面适配智能手机与平板电脑:

1. 底部导航栏:核心模块(排班、患者、分析、设置)移至屏幕底部拇指热区。

2. 打开的患者堆栈:若同时打开了多个患者卡片,底部面板将出现带数字角标的堆叠图标,点击即可一键切换当前查看的患者。

3. 触屏就诊管理:短按打开操作卡片;长按300毫秒激活手指拖拽改期模式。

4. X光片手势:双击放大局部,双指捏合(pinch-to-zoom)平滑缩放细节。

16. 系统错误代码大全与排查指南

系统提示信息、触发原因及分步解决方案完整参考手册。

该时段已被其他预约占用

error_time_slot_busy

原因:所选时间与该医生的另一预约发生冲突。

解决:更改开始时间、缩短时长或选择其他空闲医生。

医生在该时段不工作

error_doctor_not_working

原因:就诊时间超出了医生的排班范围。

解决:在“工作排班”中核实医生工时,或为该日添加专属轮班。

无法删除已有付款记录的预约

error_delete_appointment_with_payments

原因:试图删除已产生收银记录的就诊。

解决:进入该就诊,点击付款记录并对所有款项执行冲正(删除)。清零后即可正常删除预约。

该手机号/邮箱对应的患者已存在

error_duplicate_phone

原因:系统中已登记相同手机或邮箱的患者(error_duplicate_phone / error_duplicate_email)。

解决:通过“患者”模块的搜索框查找现有档案。系统旨在防止病历重复建档。

姓名与出生日期重合(疑似重复)

error_possible_duplicate_name_dob

原因:姓名及生日与现有患者完全一致。

解决:请仔细核对。若确认为同名不同人,请点击“仍然创建”。

无法删除存在进行中预约的患者

cannot_delete_patient_active_appointments

原因:试图删除仍有未完成未来预约的患者。

解决:先在排班表中取消或完结该患者的所有预约,随后即可删除。

无法删除诊所唯一的管理员

last_admin_cannot_delete

原因:试图删除或降级诊所内唯一的超级管理员(last_admin_cannot_delete / last_admin_cannot_change_role)。

解决:此为系统禁令,诊所不能处于无管理者状态。请先将管理员权限授予其他员工。

无法删除有排班预约的医生

cannot_delete_staff_with_active_appointments

原因:试图删除名下仍有未来预约的医生。

解决:打开排班表,将该医生未来的所有预约转移给其他医生。

无法删除仍有在职员工的分院

cannot_delete_branch_with_staff

原因:试图删除仍有关联用户的分院。

解决:在“诊所人员”中将该分院所有员工调往其他地址,随后即可删除空分院。

无法删除存在活跃业务的分院

cannot_delete_branch_with_active_appointments

原因:该分院下仍有未完结的预约或开放的治疗计划。

解决:完结、取消或将这些活跃业务重新绑定至其他分院。

“只读模式”:订阅已过期

error_subscription_expired

原因:诊所付费订阅期已满。

解决:系统已自动锁定编辑权限(只读模式)。请前往“计费与订阅”续费套餐。

当前员工数超出新套餐限额

error_downgrade_staff_limit_exceeded

原因:试图降级至员工上限低于当前已建人数的套餐。

解决:当前账号人数超出新套餐允许值。请先删除非活跃员工以满足限额要求。

禁止诊所降级为“个人版”

error_clinic_to_solo_forbidden

原因:诊所试图切换至“个人版”套餐。

解决:多员工/多分院的诊所在架构上无法降级为单用户的“个人版”。

积分余额不足以抵扣

error_insufficient_bonus_balance

原因:拟扣减金额大于患者当前积分余额。

解决:请输入小于或等于患者当前余额的积分数值。

礼品卡余额不足

error_insufficient_gift_card_balance

原因:扣款金额超出礼品卡剩余面值。

解决:在患者“忠诚度”标签页核实卡内余额,仅核销可用金额。

“第二诊疗意见”发帖频率超限

error_feed_rate_limit

原因:超出“第二诊疗意见”信息流的发布频率限制。

解决:试用版上限为每小时1条,付费版上限为每小时30条。请等待时间窗口重置。