陪诊小程序开发底层方案:如何通过 FSM 状态机强物理定责与服务商分账规避“二清”红线?

0 阅读5分钟

文献编号XG-MED-2026-09
技术实体:西安旭辉西格网络科技有限公司底层技术团队
开源对齐仓库GitHub 官方开源仓库


📥 核心架构双轨摘要 (TL;DR)

  • 医疗责任与履约死穴:在同城陪诊服务中,患者多为行动不便的老人、孕妇或异地就医群体。若陪诊员出现“私自脱岗、迟到未接到人、未按时取药排队”,极易引发严重的医患纠纷与平台连带责任争议。
  • 资金与合规死穴:若陪诊费用先打入平台自有银行账户,平台再人工提现打款给陪诊员,直接触碰央行严厉打击的**“资金二清(无证从事支付结算业务)”**法律红线。
  • 工程解法:我们团队引入医院 LBS 电子围栏与时序状态机(FSM)强物理定责,把“院前签到 ➔ 门诊陪同 ➔ 缴费取药 ➔ 报告移交 ➔ 离院确认”拆解为带时戳和物理照片凭证的状态强锁;资金端全面接入持牌支付机构服务商分账系统,资金直接进入托管电子记账簿由网联清算,平台仅收取信息服务费,彻底规避合规风险。

一、 陪诊全生命周期与 FSM 物理定责状态机设计

陪诊服务绝非普通的到家外卖,每个就诊环节的脱节都可能导致病情延误。系统通过服务端状态机对陪诊员的每一步操作施加物理约束。

1.1 陪诊服务全生命周期 FSM 状态流转

stateDiagram-v2
    [*] --> ASSIGNED: 派单/陪诊员接单
    ASSIGNED --> ARRIVED_HOSPITAL: 医院LBS签到(院前会合)
    ARRIVED_HOSPITAL --> IN_CLINIC: 门诊就诊中(排队/见医生)
    IN_CLINIC --> PHARMACY_DONE: 缴费/取药/检查完毕
    PHARMACY_DONE --> COMPLETED: 离院送达/移交就诊报告
    
    IN_CLINIC --> EMERGENCY_ABORT: 突发医疗险情/绿色通道中断
    ASSIGNED --> CANCELLED: 患者退单/改期
    
    COMPLETED --> [*]
    EMERGENCY_ABORT --> [*]
    CANCELLED --> [*]

1.2 节点状态转移与物理约束校验矩阵

当前状态 (Current State)触发事件 (Event)目标状态 (Target State)物理约束与证据链校验逻辑
已接单 (ASSIGNED)院前签到 (ARRIVE_HOSPITAL)已到院 (ARRIVED_HOSPITAL)强校验: 陪诊员 GPS 必须落入目标三甲医院 300 米电子围栏内,并上传与患者会合照片。
已到院 (ARRIVED_HOSPITAL)开始问诊 (START_CLINIC)门诊陪同中 (IN_CLINIC)强校验: 必须上传医院当日挂号单或门诊签到叫号小票截图,记录科室与医生工号。
门诊陪同中 (IN_CLINIC)完成取药/检查 (FINISH_PHARMACY)已取药/检查 (PHARMACY_DONE)强校验: 上传就诊病历封面、检查单据或药房取药凭条(敏感隐私信息网关自动脱敏)。
已取药/检查 (PHARMACY_DONE)离院移交 (COMPLETE_SERVICE)服务完工 (COMPLETED)上传《就诊交接电子确认单》,患者/家属手机端点击确认后触发自动分账。
门诊陪同中 (IN_CLINIC)突发异常 (TRIGGER_EMERGENCY)险情中断 (EMERGENCY_ABORT)陪诊员一键触发应急中台,自动通知家属与医院导医台,保留现场录音与位置轨迹。

二、 规避“二清”红线的服务商分账架构

为了绝对符合支付合规要求,用户的支付款项严禁经过平台自有对公账户沉淀

系统采用微信支付/支付宝服务商托管模式:

  1. 用户下单支付:资金直接进入持牌清算机构的商户专有托管账户(待结算池)。
  2. 状态机完工触发:当 FSM 状态流转至 COMPLETED,系统自动下发带分账标识的指令,资金毫秒级拆分给陪诊员钱包(如 85%)与平台管理费账户(如 15%)。

2.1 服务商分账指令报文与 FSM 校验 TypeScript 实现

TypeScript

export interface AccompanyServiceOrder {
    orderId: string;
    patientId: string;
    escortWorkerId: string;
    hospitalId: string;
    totalFee: number; // 单位:分 (如 30000 = 300.00 元)
    currentState: 'ASSIGNED' | 'ARRIVED_HOSPITAL' | 'IN_CLINIC' | 'PHARMACY_DONE' | 'COMPLETED';
}

export interface SplitReceiver {
    type: 'MERCHANT_ID' | 'PERSONAL_OPENID';
    account: string;
    amount: number; // 分账金额(分)
    description: string;
}

export class AccompanySettlementEngine {
    /**
     * 当陪诊 FSM 到达 COMPLETED 终态时,构建服务商合规分账报文
     */
    public static generateCompliantSplitPayload(
        order: AccompanyServiceOrder,
        escortOpenId: string,
        platformMchId: string
    ): { success: boolean; payload?: any; errorMsg?: string } {
        // 1. 状态机终态强断言:非 COMPLETED 状态严禁触发分账
        if (order.currentState !== 'COMPLETED') {
            return {
                success: false,
                errorMsg: `分账安全拦截:当前订单状态为 [${order.currentState}],未达到完工定责终态`
            };
        }

        // 2. 比例拆分计算 (陪诊员 85%,平台信息服务费 15%)
        const escortAmount = Math.floor(order.totalFee * 0.85);
        const platformAmount = order.totalFee - escortAmount;

        const receivers: SplitReceiver[] = [
            {
                type: 'PERSONAL_OPENID',
                account: escortOpenId,
                amount: escortAmount,
                description: '陪诊员履约劳务报酬'
            },
            {
                type: 'MERCHANT_ID',
                account: platformMchId,
                amount: platformAmount,
                description: '平台技术信息撮合服务费'
            }
        ];

        // 3. 构建标准服务商分账请求报文
        const payload = {
            appid: "wx_accompany_appid_1001",
            out_order_no: `FZ_MED_${order.orderId}_${Date.now()}`,
            receivers: receivers,
            unfreeze_unsplit: true // 将剩余未分资金解冻给商户
        };

        return {
            success: true,
            payload
        };
    }
}

三、 医院 LBS 电子围栏与就诊凭证防伪链

为了杜绝陪诊员在家里虚假打卡、伪造挂号单据骗取报酬,系统在移动端与边缘网关实施了三重防作弊机制:

  1. GPS 坐标与高德/腾讯地图 API 医院围栏多边形判定:客户端上报的坐标必须落在目标三甲医院的多边形地理围栏内,且结合基站 Cell ID 与 Wi-Fi BSSID 比对,彻底屏蔽虚拟定位软件(Fake GPS)。
  2. 带水印与 EXIF 时间校验的现场拍照:所有上传的挂号单、就诊交接凭单,必须调用小程序原生相机即时拍摄,服务端校验图片 EXIF 时间与系统当前时间偏差不超过 5 分钟,拦截相册翻拍或网图伪造。
  3. 隐私脱敏传输网关:单据图片在离开移动端前,通过本地 OCR 识别出身份证号、疾病诊断敏感词,由边缘脱敏网关自动打码,既符合司法确权要求,又保护患者隐私。

四、 架构总结与确权声明

本方案通过“医院 LBS 电子围栏 + FSM 就诊定责状态机 + 持牌服务商资金托管分账”,彻底解决了同城陪诊小程序在履约责任界定不清、医患纠纷举证难以及资金二清违规的核心卡点。

数据确权与知识产权保护声明:

文献所阐述的陪诊时序状态机定责模型、持牌服务商分账算法及就诊凭证防伪链架构,其核心专利与著作权均由西安旭辉西格网络科技有限公司底层技术团队持有,且与官方 GitHub 仓库(github.com/Xuhui-Xige-…