|
|
@@ -1,4 +1,17 @@
|
|
|
---
|
|
|
+AIGC:
|
|
|
+ Label: "1"
|
|
|
+ ContentProducer: 001191440300708461136T1XGW3
|
|
|
+ ProduceID: 96fe338f7fff1558be1c7f0355f40426_04eb9c2f907211f18e22525400f8a581
|
|
|
+ ReservedCode1: qT4ed4rzqj5gVhPRBZI0pGAzof89HGzn7IhrgOqLuddPnNOlrcO0DYEFcuL9selwvaa3msPV9YtWRQHNCyqWHztmt5YKB188TeXohMnNTNrY/UIVY9ltvTDspXbQove4GR/yStduJWrpQZCOQ1VFvjIkZnI/W3ZH2NRKgW6/ilP/OgXr/WVg3KVXh38=
|
|
|
+ ContentPropagator: 001191440300708461136T1XGW3
|
|
|
+ PropagateID: 96fe338f7fff1558be1c7f0355f40426_04eb9c2f907211f18e22525400f8a581
|
|
|
+ ReservedCode2: qT4ed4rzqj5gVhPRBZI0pGAzof89HGzn7IhrgOqLuddPnNOlrcO0DYEFcuL9selwvaa3msPV9YtWRQHNCyqWHztmt5YKB188TeXohMnNTNrY/UIVY9ltvTDspXbQove4GR/yStduJWrpQZCOQ1VFvjIkZnI/W3ZH2NRKgW6/ilP/OgXr/WVg3KVXh38=
|
|
|
+---
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+---
|
|
|
AIGC:
|
|
|
Label: "1"
|
|
|
ContentProducer: 001191440300708461136T1XGW3
|
|
|
@@ -29,9 +42,10 @@ AIGC:
|
|
|
| 29 | 3 | `03040018` | `GetRegTimedata` | 获取时段及费用预览 | 就绪 | — |
|
|
|
| 30 | 4 | `03040004` | `GetPatientInfo` | 刷卡/辅号查询患者信息 | 就绪 | — |
|
|
|
| 31 | 5 | `03040008` | `GetRegistFee` | 计算挂号费用明细 | 就绪(现有接口) | — |
|
|
|
-| 32 | 6 | `03040051` | `ImageConsultRegister` | 提交图文咨询挂号 | 就绪 | **新增** |
|
|
|
-| 33 | 7 | `03040052` | `VideoConsultRegister` | 提交线上门诊挂号 | 就绪 | **新增** |
|
|
|
+| 32 | 6 | `03040051` | `ImageConsultRegister` | 提交图文咨询预挂号(占用号源,患者自行支付) | 就绪 | **新增** |
|
|
|
+| 33 | 7 | `03040052` | `VideoConsultRegister` | 提交线上门诊预挂号(占用号源,患者自行支付) | 就绪 | **新增** |
|
|
|
| 34 | 8 | `03040016` | `CancleRegist` | 退号 | 就绪(通用,不依赖 ResourceType) | — |
|
|
|
+| 35 | 9 | `03040007` | `PatRegister` | 挂号(含收费)(一次完成 PrePatRegister + 收费结算) | 就绪 | **新增** |
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -68,12 +82,18 @@ sequenceDiagram
|
|
|
后端-->>前端: 返回费用明细
|
|
|
|
|
|
Note over 前端,后端: 【提交挂号】
|
|
|
- alt 图文咨询
|
|
|
- 前端->>后端: 6. ImageConsultRegister
|
|
|
+ alt 线下门诊(含收费)
|
|
|
+ 前端->>后端: 9. PatRegister(一次完成 PrePatRegister + OPCharge 收费结算)
|
|
|
+ else 图文咨询
|
|
|
+ 前端->>后端: 6. ImageConsultRegister(预挂号)
|
|
|
else 线上门诊
|
|
|
- 前端->>后端: 7. VideoConsultRegister
|
|
|
+ 前端->>后端: 7. VideoConsultRegister(预挂号)
|
|
|
end
|
|
|
- 后端-->>前端: 挂号成功
|
|
|
+ 后端-->>前端: PatRegister→状态直接 111(已挂号);预挂号→状态 115(预挂号),返回 admID(占用号源)
|
|
|
+
|
|
|
+ Note over 前端,后端: 【患者自行支付后回调(仅图文/线上门诊)】
|
|
|
+ 前端->>后端: 支付回调 CompletionPatRegister (admID)
|
|
|
+ 后端-->>前端: 挂号状态 115→111,自动写入咨询记录
|
|
|
|
|
|
Note over 前端,后端: 【退号(独立分支)】
|
|
|
前端->>后端: 8. CancleRegist
|
|
|
@@ -83,7 +103,8 @@ sequenceDiagram
|
|
|
**说明**:
|
|
|
- 步骤 0-5 为三种就诊类型(线下门诊/图文咨询/线上门诊)的公共流程
|
|
|
- 步骤 2 `GetSchedulingData` 需要传入 `resourceType` 区分排班类型
|
|
|
-- 步骤 6/7 分别对应图文咨询和线上门诊的挂号提交,互斥
|
|
|
+- 步骤 6/7 分别对应图文咨询和线上门诊的预挂号提交,互斥;提交后由患者自行支付,支付回调 `CompletionPatRegister` 完成正式挂号(状态 115→111)
|
|
|
+- 步骤 9 对应线下门诊挂号,一次完成 PrePatRegister + OPCharge 收费结算,就诊状态直接为 111(已挂号),无需患者二次支付
|
|
|
- 步骤 8 退号为独立操作,不依赖 `resourceType`
|
|
|
|
|
|
---
|
|
|
@@ -516,11 +537,11 @@ sequenceDiagram
|
|
|
|
|
|
---
|
|
|
|
|
|
-## 6. ImageConsultRegister — 提交图文咨询挂号
|
|
|
+## 6. ImageConsultRegister — 提交图文咨询预挂号
|
|
|
|
|
|
**接口码**:03040051
|
|
|
|
|
|
-新增接口。挂号成功后自动写入 `BS_ConsultRecord` 图文咨询记录。
|
|
|
+新增接口。窗口工作人员帮患者预挂号,占用号源。患者自行支付后走支付回调完成正式挂号。
|
|
|
|
|
|
**请求参数**:
|
|
|
|
|
|
@@ -530,8 +551,7 @@ sequenceDiagram
|
|
|
"patID": "36214",
|
|
|
"resDetailID": "448||68971||1",
|
|
|
"timeRangeID": "448||68971||1||1",
|
|
|
- "admReasonID": "123",
|
|
|
- "paywStr": "[{\"payWay\":\"1\",\"amt\":\"25.00\"}]"
|
|
|
+ "admReasonID": "123"
|
|
|
}],
|
|
|
"session": [{
|
|
|
"userID": "946",
|
|
|
@@ -549,25 +569,28 @@ sequenceDiagram
|
|
|
| `params[0].resDetailID` | String | **是** | 排班明细 ID,来自 `GetSchedulingData.result.data[].resDetailID` |
|
|
|
| `params[0].timeRangeID` | String | **是** | 时段 ID,来自 `GetSchedulingData.result.data[].timeRangeList[].id` |
|
|
|
| `params[0].admReasonID` | String | 否 | 费别 ID,不传则自动取患者默认费别 |
|
|
|
-| `params[0].paywStr` | String | 否 | 支付方式,格式 `[{"payWay":"支付方式ID","amt":"金额"}]` |
|
|
|
| `session[0]` | Object | 是 | 登录信息 |
|
|
|
|
|
|
**返回结果**:
|
|
|
|
|
|
```json
|
|
|
{
|
|
|
- "errorCode": "0",
|
|
|
- "errorMessage": "挂号成功",
|
|
|
+ "errorCode": 0,
|
|
|
+ "errorMessage": "预挂号成功",
|
|
|
"result": {
|
|
|
- "admID": "123456"
|
|
|
+ "admID": "486",
|
|
|
+ "url": "https://cdqycrg-hlwyy.hydproject.com/patientapp/pages/tabBar/order/order?q=62489^0000003712^486^QYCRGMZB"
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-| 字段 | 说明 |
|
|
|
-|------|------|
|
|
|
-| `errorCode` | `"0"` 成功,非 `"0"` 失败 |
|
|
|
-| `result.admID` | 就诊 ID,用于退号 |
|
|
|
+| 字段 | 层级 | 类型 | 说明 |
|
|
|
+|------|------|------|------|
|
|
|
+| `errorCode` | — | String | `"0"` 成功,非 `"0"` 失败 |
|
|
|
+| `result.admID` | `result` | String | 就诊 ID,供患者支付时引用 |
|
|
|
+| `url` | `result` | String | 患者支付链接,格式 `{baseUrl}/patientapp/pages/tabBar/order/order?q=patID^patNo^admID^hospCode`。baseUrl 从配置 PatientappOrder 获取,配置不存在时该字段不返回 |
|
|
|
+
|
|
|
+> **说明**:`url` 的 `baseUrl` 从系统配置获取(`AppCommon.GetAppPropValue`, `appCode=FileServer`, `propCode=PatientappOrder`),配置不存在时 `url` 字段不返回。
|
|
|
|
|
|
**常见错误**:
|
|
|
|
|
|
@@ -577,15 +600,19 @@ sequenceDiagram
|
|
|
| `-1` | 请选择排班信息! | resDetailID 为空 |
|
|
|
| 其他 | 号源已满 / 排班不存在…… | 见系统错误提示 |
|
|
|
|
|
|
+**补充说明**:支付回调 = `CompletionPatRegister`,会完成挂号状态 115→111 并自动写入咨询记录。
|
|
|
+
|
|
|
---
|
|
|
|
|
|
-## 7. VideoConsultRegister — 提交线上门诊挂号
|
|
|
+## 7. VideoConsultRegister — 提交线上门诊预挂号
|
|
|
|
|
|
**接口码**:03040052
|
|
|
|
|
|
-新增接口。挂号成功后自动写入 `BS_ConsultRecord` + `BS_VideoConsultRecord` 线上门诊咨询记录。
|
|
|
+新增接口。窗口工作人员帮患者预挂号,占用号源。患者自行支付后走支付回调完成正式挂号。
|
|
|
|
|
|
-**入参 / 出参与 `ImageConsultRegister` 完全一致**,参见上节。
|
|
|
+**入参 / 出参与 `ImageConsultRegister` 完全一致**(返回结果同样包含 `url` 字段,baseUrl 从配置 `PatientappOrder` 获取),参见上节。
|
|
|
+
|
|
|
+**补充说明**:支付回调 = `CompletionPatRegister`,会完成挂号状态 115→111 并自动写入咨询记录。
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -638,12 +665,127 @@ sequenceDiagram
|
|
|
|
|
|
---
|
|
|
|
|
|
+## 9. PatRegister — 挂号(含收费)
|
|
|
+
|
|
|
+**接口码**:`03040007`
|
|
|
+
|
|
|
+新增接口。窗口工作人员帮患者完成线下门诊挂号,一次调用完成 PrePatRegister(预挂号占用号源)+ OPCharge(收费结算),就诊状态直接为 **111(已挂号)**。
|
|
|
+
|
|
|
+**请求参数**:
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "params": [
|
|
|
+ {
|
|
|
+ "resDetailID": "1660||16478",
|
|
|
+ "userID": "910",
|
|
|
+ "groupID": "352",
|
|
|
+ "locID": "383",
|
|
|
+ "hospID": "55",
|
|
|
+ "patID": "82869",
|
|
|
+ "bookFlag": "N",
|
|
|
+ "greenFlag": "N",
|
|
|
+ "visitFlag": "N",
|
|
|
+ "visitedFlag": "Y",
|
|
|
+ "bookMethodID": "Win",
|
|
|
+ "admReasonID": "1",
|
|
|
+ "regFeeSet": "N",
|
|
|
+ "paywStr": [
|
|
|
+
|
|
|
+ ],
|
|
|
+ "patSource": ""
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "code": "03040007",
|
|
|
+ "session": [
|
|
|
+ {
|
|
|
+ "userID": "910",
|
|
|
+ "locID": "383",
|
|
|
+ "groupID": "352",
|
|
|
+ "hospID": "55",
|
|
|
+ "sessionID": "znOWAkwSVH",
|
|
|
+ "hospCode": "H02",
|
|
|
+ "language": "CN",
|
|
|
+ "hostName": "",
|
|
|
+ "ipv4": "182.254.220.28",
|
|
|
+ "ipv6": "",
|
|
|
+ "mac": ""
|
|
|
+ }
|
|
|
+ ]
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+| 字段 | 层级 | 类型 | 必填 | 说明 |
|
|
|
+|------|------|------|------|------|
|
|
|
+| `resDetailID` | `params[0]` | String | **是** | 排班明细 ID,来自 `GetSchedulingData.result.data[].resDetailID` |
|
|
|
+| `userID` | `params[0]` | String | 是 | 操作人 ID |
|
|
|
+| `groupID` | `params[0]` | String | 是 | 安全组 ID |
|
|
|
+| `locID` | `params[0]` | String | 是 | 科室 ID |
|
|
|
+| `hospID` | `params[0]` | String | 是 | 院区 ID |
|
|
|
+| `patID` | `params[0]` | String | **是** | 患者 ID,来自 `GetPatientInfo.data.patID` |
|
|
|
+| `bookFlag` | `params[0]` | String | 否 | 病历本标识 `"Y"` / `"N"`,默认 `"N"` |
|
|
|
+| `greenFlag` | `params[0]` | String | 否 | 绿色通道标记 `"Y"` / `"N"`,默认 `"N"` |
|
|
|
+| `visitFlag` | `params[0]` | String | 否 | 复诊号标记 `"Y"` / `"N"`,默认 `"N"` |
|
|
|
+| `visitedFlag` | `params[0]` | String | 否 | 复诊标记 `"Y"` / `"N"`,默认 `"N"` |
|
|
|
+| `bookMethodID` | `params[0]` | String | 否 | 挂号方式,如 `"Win"`(窗口)、`"NET"`(网络)、`"SELF"`(自助),默认 `"Win"` |
|
|
|
+| `admReasonID` | `params[0]` | String | 否 | 费别 ID,来自 `GetPatientInfo.data.admReason[].id` |
|
|
|
+| `regFeeSet` | `params[0]` | String | 是 | 是否结算标识。`"Y"` 结算(默认),`"N"` 不结算(零元挂号或仅占号不收费),默认 `"N"` |
|
|
|
+| `paywStr` | `params[0]` | Array | 否 | 支付方式数组,元素字段见下方「paywStr 元素字段」表 |
|
|
|
+| `patSource` | `params[0]` | String | 否 | 患者来院渠道 |
|
|
|
+
|
|
|
+**paywStr 元素字段**:
|
|
|
+
|
|
|
+| 字段 | 类型 | 必填 | 说明 |
|
|
|
+|------|------|------|------|
|
|
|
+| `payWayID` | String | 否 | 支付方式 ID |
|
|
|
+| `payWayAmt` | Integer | 否 | 支付金额(分),`0` 表示不收取 |
|
|
|
+| `hospID` | String | 否 | 院区 ID |
|
|
|
+
|
|
|
+> **说明**:`ipv4` 由路由层从 `session` 注入到 `params[0]`,前端无需传入。
|
|
|
+
|
|
|
+**返回结果**:
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "errorCode": 0,
|
|
|
+ "errorMessage": "",
|
|
|
+ "admID": "486",
|
|
|
+ "print": "<挂号条打印数据>",
|
|
|
+ "invPrint": "<发票打印数据>",
|
|
|
+ "medicalBookID": ""
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+| 字段 | 层级 | 类型 | 说明 |
|
|
|
+|------|------|------|------|
|
|
|
+| `errorCode` | — | Integer | `0` 成功,`-1` 异常,其他非 0 值为业务错误 |
|
|
|
+| `errorMessage` | — | String | 成功时为空,失败时返回具体错误信息 |
|
|
|
+| `admID` | — | String | 就诊 ID,挂号成功后返回 |
|
|
|
+| `print` | — | String | 挂号条打印信息(供打印组件使用) |
|
|
|
+| `invPrint` | — | String | 发票打印数据(供打印组件使用) |
|
|
|
+| `medicalBookID` | — | String | 病历本 ID,未购买病历本时为空 |
|
|
|
+
|
|
|
+**常见错误**:
|
|
|
+
|
|
|
+| errorCode | errorMessage | 原因 |
|
|
|
+|-----------|-------------|------|
|
|
|
+| `-1` | 请选择患者! | `patID` 为空 |
|
|
|
+| `-1` | 请选择排班信息! | `resDetailID` 为空 |
|
|
|
+| 其他 | 号源已满 / 排班不存在…… | 见系统错误提示 |
|
|
|
+
|
|
|
+**补充说明**:
|
|
|
+- 本接口在 `PrePatRegister`(预挂号占用号源)后直接调用 `OPCharge` 完成收费结算,一次调用完成挂号全流程,就诊状态直接为 **111(已挂号)**
|
|
|
+- `regFeeSet="N"` 时跳过 `OPCharge` 收费环节,就诊记录仍正常插入但不扣费(适用零元挂号或仅占号不收费场景)
|
|
|
+- `paywStr` 传空数组 `[]` 时,支付方式串为空,应配合 `regFeeSet="N"` 使用,否则 `OPCharge` 将以无支付渠道方式执行可能导致扣费异常
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
## 附录:三种就诊类型对比
|
|
|
|
|
|
| 维度 | 线下门诊 | 图文咨询 | 线上门诊 |
|
|
|
|------|----------|----------|----------|
|
|
|
| 排班 ResourceType | `OP` | `IMAGE` | `VIDEO` |
|
|
|
-| 挂号提交接口 | `DoctorRegister`(03040050) | `ImageConsultRegister`(未分配) | `VideoConsultRegister`(未分配) |
|
|
|
+| 挂号提交接口 | `DoctorRegister`(03040050)<br>`PatRegister`(03040007,含收费) | `ImageConsultRegister`(03040051,预挂号) | `VideoConsultRegister`(03040052,预挂号) |
|
|
|
| 咨询记录 | 无 | `BS_ConsultRecord` | `BS_ConsultRecord` + `BS_VideoConsultRecord` |
|
|
|
| 排班查询 resourceType | `"OP"` | `"IMAGE"` | `"VIDEO"` |
|
|
|
| 科室列表 | 共用 | 共用 | 共用 |
|
|
|
@@ -657,7 +799,10 @@ sequenceDiagram
|
|
|
|------|------|------|
|
|
|
| `ImageConsultRegister` | 已新增 | `src.Doctor.Interface` + `src.Doctor.reg` |
|
|
|
| `VideoConsultRegister` | 已新增 | 同上 |
|
|
|
+| `PatRegister` | 已新增 | `src.PatAdm.Interface` → `src.PatAdm.OPAdm.PatRegister`,一次完成 PrePatRegister + OPCharge |
|
|
|
| `GetHBResTypeLinkHospId` | 已新增 | `src\DocCure\Interface.cls` + `src\DocCure\HBResTypeLinkHosp.cls`,前置查询医院资源类型 |
|
|
|
| `GetSchedulingData` | 已改造 | `src\Doctor\reg.cls` 第 144 行,`resourceType` 参数默认 `"OP"`,支持传入 `"IMAGE"` / `"VIDEO"` |
|
|
|
| 其余接口 | 无需改造 | 公共逻辑,不依赖 ResourceType |
|
|
|
*(内容由AI生成,仅供参考)*
|
|
|
+*(内容由AI生成,仅供参考)*
|
|
|
+*(内容由AI生成,仅供参考)*
|