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

237 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# xk-api 重点功能
## 处方流转体系
```mermaid
graph TB
subgraph 开方
D1[医生接诊] --> D2[选择患者]
D2 --> D3{处方类型}
D3 -->|中药| D4[中医处方]
D3 -->|西药| D5[西药处方]
D3 -->|颗粒| D6[颗粒处方]
D3 -->|中成药| D7[中成药处方]
D3 -->|服务包| D8[服务包处方]
end
subgraph 审方
D4 --> R1[医生初审]
D5 --> R1
D6 --> R1
D7 --> R1
R1 -->|通过| R2[药师复审]
R1 -->|拒绝| R3[退回修改]
R2 -->|通过| R4[处方生效]
R2 -->|拒绝| R3
end
subgraph 履约
R4 --> P1[患者购药]
P1 --> P2{配送方式}
P2 -->|快递| P3[仓库发货]
P2 -->|自提| P4[门店自提]
P2 -->|代煎| P5[MES 下单]
end
```
### 处方状态机
| 状态 | 值 | 说明 |
|------|-----|------|
| 待审核 | 0 | 医生已开方,等待审核 |
| 通过 | 1 | 审核通过 |
| 未通过 | 2 | 审核拒绝 |
| 无需审核 | 3 | 免审处方 |
### 处方类型
| 类型 | 值 | 说明 |
|------|-----|------|
| 中药 | 1 | 中药饮片处方 |
| 西药 | 2 | 西药处方 |
| 颗粒 | 3 | 配方颗粒处方 |
| 中成药 | 4 | 中成药处方 |
| 产品服务包 | 5 | 服务包处方 |
### 转诊处方
转诊处方是跨门店的处方流转机制:
- **转诊方**(发起方)获得 100% 利润
- **接收方**(被转方)负责履约
- 处方来源自动设为接收方门店(`store_id = delegate_store_id`
- 支持线上转诊和线下转诊两种模式
## 分账结算体系
```mermaid
graph TB
subgraph 收入
PAY1[产品订单付款] --> LED[分账记录]
PAY2[挂号订单付款] --> LED
end
subgraph 分账规则
LED --> S1[门店分账]
LED --> S2[平台分账]
LED --> S3[供应商分账]
end
subgraph 结算
S1 --> SET[结算单]
S2 --> SET
S3 --> SET
SET --> WITH[提现申请]
WITH --> AUDIT[审核]
AUDIT -->|通过| PAY3[打款]
AUDIT -->|拒绝| REJECT[退回]
end
```
### 分账记录 (yii_ledger)
| 字段 | 说明 |
|------|------|
| `fee_type` | 费用类型:药品/挂号/快递/处方费/加工费/诊疗费 |
| `status` | 0=待结算, 1=已结算, 2=已取消 |
| `user_type` | 0=用户, 1=诊所, 2=平台 |
### 可提现金额变更
每次分账、退款、提现都会在 `xk_account_able_change_log` 中记录:
- **来源类型**: settle分账、withdraw提现、refund退款
- **变更前后金额**: before_amount → after_amount
- **关联订单**: order_id, order_type, order_no
## 佣金体系
```mermaid
graph TB
subgraph 佣金来源
O1[产品订单] --> C1[佣金记录]
O2[挂号订单] --> C1
end
subgraph 佣金计算
C1 --> CAL{计算方式}
CAL -->|固定佣金| F1[按模板/药品配置]
CAL -->|百分比佣金| F2[按比例计算]
end
subgraph 佣金结算
F1 --> SET[推广员结算单]
F2 --> SET
SET --> PAY[打款]
end
subgraph 退款冲销
REF[订单退款] --> REV[佣金冲销记录]
REV --> SET2[结算调整]
end
```
### 佣金模板
- 按门店配置佣金模板
- 模板下按药品配置单品佣金
- 支持固定金额和百分比两种模式
### 佣金结算
- 支持按时段和按订单两种结算方式
- 结算时生成凭证图片
- 退款时自动冲销已结算佣金
## MES 对接(中药智造)
与和利康 MES 系统对接,实现处方自动下发到中药煎煮中心:
```mermaid
sequenceDiagram
participant API as xk-api
participant MES as 和利康 MES
participant DRUG as 煎煮中心
API->>MES: H001 提交处方 (HTTP+JSON)
MES-->>API: 返回处理结果
Note over MES: 失败时自动降级
API->>MES: W001 提交处方 (SOAP+XML)
MES-->>API: 返回处理结果
API->>API: 记录同步状态
```
### 处方字段映射
- 煎煮方式: 28 种(先煎、煎煮、后下、烊化等)
- 服法: 内服/外用
- 剂量数、包装数、煎煮容量(ml)
## 互联网医院监管上报
```mermaid
graph TB
subgraph 数据类型
T1[在线咨询]
T2[在线复诊]
T3[在线处方]
T4[处方核销]
end
subgraph 流程
T1 --> P[拉取打包]
T2 --> P
T3 --> P
T4 --> P
P --> ENC[加密]
ENC --> FWD[xk-hy-forward-go 转发]
FWD --> GOV[浙江省政务云]
GOV --> CB[回调结果]
CB --> UPD[更新状态]
end
```
### 监管数据接口
| 接口 | 说明 |
|------|------|
| `uploadConsultIndicators` | 咨询信息上报 |
| `uploadReferralIndicators` | 转诊/复诊信息上报 |
| `uploadRecipeIndicators` | 处方信息上报(含中药扩展) |
| `uploadRecipeVerificationIndicators` | 处方核销信息上报 |
### 加密规则
- 算法: AES-128-ECB + PKCS7 + Base64
- 密钥: `substr(sha256(HY_TRANSIT_API_TOKEN), 0, 16)`
### 签名规则
- `sign = HmacSHA256(requestBody + secret + header params sorted alphabetically)`
## 药品价格同步
```mermaid
graph LR
WH[仓库药品] -->|价格变更| PUB[xk_api 公共接口]
PUB --> SUB1[订阅门店1]
PUB --> SUB2[订阅门店2]
PUB --> SUB3[订阅门店N]
subgraph 同步方式
A[全量同步<br/>SyncDrugPriceBySubscribeJob]
B[单品同步<br/>SyncSingleDrugPriceBySubscribeJob]
C[批量同步<br/>BatchSyncDrugPriceJob]
end
```
### 价格计算规则
- 门店采购价 = 仓库价 × 采购比例 (`z_buy_percent`)
- 门店销售价 = 仓库价 × 销售比例 (`z_sale_percent`)
- 支持门店独立调价
## 特色处方体系
特色处方是标准化的处方产品,具有独立的 SKU 和定价体系:
| 概念 | 说明 |
|------|------|
| 特色处方 | 标准化的处方产品,如"感冒方"、"养生方" |
| SKU | 剂量规格,如 7 剂、14 剂、21 剂 |
| 价格方案 | 固定价 / 门店浮动价 |
| 药品分摊 | 每个 SKU 下各药品的分摊价格 |
| 患者记录 | 患者选择特色处方的记录(待应用→已应用→完成) |