3. 医疗App信息架构与交互设计
患者端医疗App与普通电商或内容类App最大的区别在于:它承载的是“就医旅程”,而不是“浏览—下单”的单次交易。一次完整的线上就医通常跨越挂号、候诊、问诊、开单、报告查看、处方确认、支付、取药或复诊等多个环节,且这些环节之间存在严格的时间顺序和状态依赖。因此,信息架构设计的核心任务不是把功能罗列清楚,而是把“患者当前处于哪一步、下一步该做什么、历史记录在哪里找”这三件事表达清楚。
一、以“就医任务”而非“功能模块”组织一级导航
很多医疗App的底部导航习惯性做成“首页、挂号、问诊、我的”四栏,看似清晰,实际使用中患者经常找不到“我上次的报告”或“待支付的处方”。原因在于:挂号、问诊、报告、处方、支付本质上是同一就医任务的不同阶段,把它们拆成互不相关的入口,会迫使患者自己在脑中维护流程状态。
更合理的做法是采用“任务主线 + 工具入口”的双层结构。一级导航保留四个位置:首页(聚合当前进行中的任务与常用入口)、就诊(承载挂号、问诊、报告、处方、支付的全流程记录)、健康(健康档案、用药提醒、复诊计划等长期内容)、我的(账号、就诊人、设置)。其中“就诊”页是信息架构的重心,它按时间倒序展示每一次就医事件,每个事件卡片内聚挂号信息、问诊会话、报告、处方和支付状态。
这样组织的直接收益是:患者不需要记住“报告在哪个Tab”,只需要进入“就诊”,找到对应那次就医,所有相关材料都在同一张卡片里。下面这张结构图展示了核心模块之间的信息归属与跳转关系。
二、状态驱动:让界面自己告诉患者“现在能做什么”
医疗流程中大量操作具有前置条件:没有挂号就不能问诊,报告未出具就不能查看,处方未生成就不能支付。如果界面把所有按钮都平铺展示,患者会反复点击无效入口,产生“App坏了”的错觉。因此交互设计应遵循状态驱动原则:每个模块只暴露当前状态下真正可执行的动作。
以一次线上复诊为例,可以用一个状态字段贯穿整个就诊事件。假设就诊事件对象包含 status 字段,取值依次为 registered、consulting、report_ready、prescribed、paid、completed。前端根据该字段决定卡片上显示哪个主按钮:
// 就诊事件卡片主按钮渲染逻辑(示例)
const actionMap = {
registered: { text: '进入问诊', route: '/consult/room' },
consulting: { text: '继续问诊', route: '/consult/room' },
report_ready: { text: '查看报告', route: '/report/detail' },
prescribed: { text: '去支付', route: '/payment/confirm' },
paid: { text: '查看处方', route: '/prescription/detail' },
completed: { text: '再次问诊', route: '/consult/room' }
};
const action = actionMap[event.status] || { text: '查看详情', route: '/visit/detail' };
这段逻辑的价值在于:患者永远只看到一个明确的下一步,而不是面对五个并列入口自行判断。同时,状态字段也决定了哪些信息需要高亮。例如 report_ready 状态下,报告卡片应带红点提示;prescribed 状态下,支付入口应带倒计时(如“请在23:59内完成支付”),因为处方通常有时效限制。
三、信息分层:详情页不要一次倒出所有内容
挂号、问诊、报告、处方、支付各自都有大量字段。如果详情页把所有字段平铺,患者很难快速定位关键信息。建议采用“摘要层—操作层—明细层”三层结构:
- 摘要层:卡片上只显示时间、科室/医生、当前状态、一个主按钮。目标是让患者3秒内判断“这是哪次就医、现在该做什么”。
- 操作层:进入详情后,顶部固定显示当前状态和主操作,如“查看报告”“立即支付”“进入问诊室”。
- 明细层:折叠展示完整字段,如挂号单号、医生职称、报告各项指标、处方药品明细、支付流水号。默认收起,点击展开。
以报告模块为例,摘要层只显示“血常规 · 2024-06-12 · 3项异常”;操作层提供“查看完整报告”“咨询医生”;明细层才展示白细胞、中性粒细胞百分比等具体数值和参考区间。这样既满足快速浏览,也保留专业信息的完整性。
四、导航设计中的两个关键约束
第一,返回路径必须可预期。从问诊会话跳转到报告详情后,返回应回到问诊会话,而不是回到首页。实现上需要保证路由栈正确压栈,避免使用 redirect 替换当前页。第二,跨模块跳转要携带上下文。从处方跳转到支付时,应携带 prescriptionId 和 visitId,支付成功后能准确回到该次就诊卡片并刷新状态,而不是让患者重新寻找。
总体而言,医疗App的信息架构应以“就医事件”为聚合单元,以状态字段驱动界面动作,以三层信息结构控制详情页复杂度,以可预期的返回路径和上下文传递保证跨模块跳转的连贯性。这四点落实后,挂号、问诊、报告、处方、支付就不再是五个孤立功能,而是一条患者能看懂、能走完的就医主线。