Files
xk-docs/docs/projects/xk-api/modules/prescription.md
2026-07-08 15:04:42 +08:00

8.8 KiB
Raw Blame History

处方管理模块

概述

处方管理模块是 XK 系统的核心业务模块,负责处方的开具、审核、转诊、打印等全流程管理。


处方开具

接口

方法 路径 说明
GET prescription/list 处方列表
GET prescription/detail 处方详情
POST prescription/add-chinese 创建中药处方
POST prescription/add-west 创建西药处方
POST prescription/add-granular 创建颗粒处方
POST prescription/add-simple 创建简单处方(中成药/服务包/非药品/医疗器械)
POST prescription/update 更新处方
POST prescription/delete 删除处方
GET prescription/print 处方打印

关联类

文件 说明
PrescriptionController app/Http/Controllers/admin/business/prescription/PrescriptionController.php 控制器
PrescriptionService app/Service/admin/business/prescription/PrescriptionService.php 业务服务
PrescriptionModel app/Models/old/prescription/PrescriptionModel.php 主处方模型
PrescriptionChineseModel app/Models/old/prescription/PrescriptionChineseModel.php 中药处方模型
PrescriptionWestModel app/Models/old/prescription/PrescriptionWestModel.php 西药处方模型
PrescriptionGranularModel app/Models/old/prescription/PrescriptionGranularModel.php 颗粒处方模型
PrescriptionServerModel app/Models/old/prescription/PrescriptionServerModel.php 服务包处方模型
PrescriptionPrintService app/Service/admin/hy/PrescriptionPrintService.php 打印服务
HyRecipeHtmlRenderer app/Service/admin/hy/HyRecipeHtmlRenderer.php HTML 渲染

关联模型

模型 表名 说明
PrescriptionModel yii_prescription 主处方表
PrescriptionChineseModel yii_prescription_chinese 中药处方
PrescriptionWestModel yii_prescription_west 西药处方
PrescriptionGranularModel yii_prescription_granular 颗粒处方
PrescriptionServerModel yii_prescription_server 服务包处方

处方状态机

stateDiagram-v2
    [*] --> 待审核: 医生开方
    待审核 --> 通过: 医生初审通过
    待审核 --> 未通过: 审核拒绝
    通过 --> 药师复审: 药师审核
    药师复审 --> 生效: 复审通过
    药师复审 --> 未通过: 复审拒绝
    生效 --> 已使用: 患者购药
    生效 --> 已过期: 超时未用

处方类型

类型 说明
中药 1 中药饮片处方
西药 2 西药处方
颗粒 3 配方颗粒处方
中成药 4 中成药处方
产品服务包 5 服务包处方

处方状态

状态 说明
待审核 0 医生已开方,等待审核
通过 1 审核通过
未通过 2 审核拒绝
无需审核 3 免审处方

处方开具流程

sequenceDiagram
    participant D as 医生
    participant C as PrescriptionController
    participant S as PrescriptionService
    participant M as PrescriptionModel
    participant DB as 数据库

    D->>C: POST prescription/add-chinese
    C->>S: addChinesePrescription(data)
    S->>S: validateData(data)
    S->>M: create(prescription)
    M->>DB: INSERT INTO yii_prescription
    S->>M: createChinese(items)
    M->>DB: INSERT INTO yii_prescription_chinese
    S-->>C: prescription_id
    C-->>D: 处方创建成功

处方审核

接口

方法 路径 说明
GET audit-prescription/list 待审处方列表
GET audit-prescription/detail 处方详情
POST audit-prescription/audit 审核操作
POST audit-prescription/reject 拒绝操作

关联类

文件 说明
AuditPrescriptionController app/Http/Controllers/admin/business/prescription/AuditPrescriptionController.php 控制器
AuditPrescriptionService app/Service/admin/business/prescription/AuditPrescriptionService.php 业务服务

关联模型

模型 表名 说明
PrescriptionModel yii_prescription 主处方表

审核流程

sequenceDiagram
    participant A as 审核员
    participant C as AuditPrescriptionController
    participant S as AuditPrescriptionService
    participant M as PrescriptionModel

    A->>C: POST audit-prescription/audit
    C->>S: audit(prescription_id, action)
    S->>M: findById(prescription_id)
    S->>S: checkPermission(audit_user)
    
    alt 医生初审
        S->>M: update(status=1, first_view, first_sign)
    else 药师复审
        S->>M: update(status=1, again_view, again_sign)
    end
    
    S-->>C: audit_result
    C-->>A: 审核成功

转诊处方

接口

方法 路径 说明
GET transfer-prescription/list 转诊处方列表
GET transfer-prescription/detail 转诊详情
POST transfer-prescription/create 创建转诊
POST transfer-prescription/confirm 确认转诊
POST transfer-prescription/import 导入转诊
POST transfer-prescription/cancel 取消转诊

关联类

文件 说明
TransferPrescriptionController app/Http/Controllers/admin/business/prescription/TransferPrescriptionController.php 控制器
TransferPrescriptionService app/Service/admin/business/prescription/TransferPrescriptionService.php 业务服务
TransferPrescriptionModel app/Models/old/prescription/TransferPrescriptionModel.php 模型
TransferQuestionService app/Service/admin/business/prescription/TransferQuestionService.php 问题配置
TransferAssistantConfigService app/Service/admin/business/prescription/TransferAssistantConfigService.php 助手配置

关联模型

模型 表名 说明
TransferPrescriptionModel yii_transfer_prescription 转诊处方
TransferQuestionModel xk_transfer_question 转诊问题
TransferPrescriptionQuestionModel xk_transfer_prescription_question 转诊问答
TransferAssistantConfigModel xk_transfer_assistant_config 转诊助手配置

转诊流程

sequenceDiagram
    participant O as 转诊方(发起)
    participant R as 接收方(接收)
    participant DB as 数据库

    O->>DB: 创建转诊处方(transfer_prescription)
    O->>O: 设置 is_from_transfer=1
    
    Note over O,R: 转诊方获得 100% 利润
    
    R->>DB: 确认接收
    R->>DB: 导入为注册订单(register)
    R->>DB: 创建处方(prescription)
    R->>DB: 设置 store_id = delegate_store_id

转诊分账规则

::: warning 关键逻辑

  • 转诊方(发起方)获得 100% 利润
  • 接收方(被转方)获得 0% 利润
  • 处方来源自动设为接收方门店(store_id = delegate_store_id :::

常用处方

接口

方法 路径 说明
GET common-prescription/list 常用处方列表
POST common-prescription/create 创建常用处方
POST common-prescription/update 更新常用处方
POST common-prescription/delete 删除常用处方

关联类

文件 说明
CommonPrescriptionController app/Http/Controllers/admin/business/doctor/CommonPrescriptionController.php 控制器
CommonPrescriptionService app/Service/admin/business/doctor/CommonPrescriptionService.php 业务服务

转诊问题配置

接口

方法 路径 说明
GET transfer-question/list 问题列表
POST transfer-question/create 创建问题
POST transfer-question/update 更新问题
POST transfer-question/delete 删除问题

关联类

文件 说明
TransferQuestionController app/Http/Controllers/admin/business/prescription/TransferQuestionController.php 控制器
TransferQuestionService app/Service/admin/business/prescription/TransferQuestionService.php 业务服务

转诊助手配置

接口

方法 路径 说明
GET transfer-assistant-config/detail 助手配置详情
POST transfer-assistant-config/update 更新助手配置

关联类

文件 说明
TransferAssistantConfigController app/Http/Controllers/admin/business/prescription/TransferAssistantConfigController.php 控制器
TransferAssistantConfigService app/Service/admin/business/prescription/TransferAssistantConfigService.php 业务服务