liusheng
5 天以前 cc479e6a056785103996cc7ea67dbd5faa3e800e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package com.smartor.service;
 
import afu.org.checkerframework.checker.oigj.qual.O;
import com.ruoyi.common.core.service.dto.InhospPositionRecord;
import com.smartor.domain.MedicationItem;
import com.smartor.domain.ServiceSLTDDeptReqVO;
import com.smartor.domain.ServiceSLTDInhospReqVO;
import com.smartor.domain.ServiceSLTDInhospResDTO;
 
import java.util.List;
import java.util.Map;
 
/**
 * 省立同德健康记录查询Service接口
 *
 * @author smartor
 * @date 2025-08-14
 */
public interface IServiceSLTDHealthcareRecordService {
 
    /**
     * 采集在院患者出入院、门急诊信息
     *
     * @param reqVO 查询请求参数
     * @return 健康记录列表
     * 参考
     * {
     * "orgId": 20001001,
     * "campusIds": 30001002,
     * "startHeadTime":"2025-08-14",
     * "startTailTime":"2025-08-14",
     * "healthcareRecordTypeList":["FH0108.01"],
     * "subjectCode": null,
     * "healthcareRecordNo":null,
     * "orgSubjectCode": null,
     * "deptDimensions": null,
     * "serviceScopes": null,
     * "inpatientArea": null,
     * "status": null
     * }
     */
    List<ServiceSLTDInhospResDTO> queryHealthcareRecordList(ServiceSLTDInhospReqVO reqVO);
 
    /**
     * 采集在院患者用药信息
     *
     * @param reqVO 查询请求参数
     * @return 实际获取到的药品数据条数
     */
    Integer queryMedicationItemList(ServiceSLTDInhospReqVO reqVO);
 
    /**
     * 采集医院用户信息
     *
     * @param reqVO
     * @return 参考
     * {
     * "orgId": 20001001,
     * "campusId": 30001002,
     * "unitIds": null,
     * "relationType": null,
     * "searchText": null,
     * "status": 1
     * }
     */
    Boolean queryHospUserInfoList(ServiceSLTDInhospReqVO reqVO);
 
    /**
     * 采集科室病区信息
     *
     * @param serviceSLTDDeptReqVO
     * @return 参考
     * {
     * "orgId": 20001001,
     * "campusIds": 30001002,
     * "unitIds": null,
     * "relationType": null,
     * "searchText": null,
     * "status": 1
     * }
     */
    Boolean queryDeptWardAreaInfoList(ServiceSLTDDeptReqVO serviceSLTDDeptReqVO);
 
    /**
     * 查询单个在院患者的<b>当前</b>科室 / 病区 / 床位
     * (与入院采集同一个接口 {@code dtcQueryHealthcareRecordList},用 {@code healthcareRecordNo} 单查)。
     * <p>
     * ⚠️ <b>只取数,不落库</b>:由调用方(数据采集模块的"在院信息刷新")自己与
     * {@code pat_med_inhosp} 比对。取数失败(无响应 / 非 200)<b>抛 RuntimeException</b>,
     * 不用空列表冒充"该患者已不在院"。
     * <p>
     * 入参约定:{@code orgId} + {@code campusId} + {@code statusList=["FH0109.24"]} +
     * {@code healthcareRecordNo}。{@code statusList} 由 HIS 侧过滤掉已出院/预出院的记录,
     * 因此<b>返回空列表即表示"当前不在入院状态"</b>。
     *
     * @param reqVO 见上
     * @return 当前位置记录;空列表 = 该患者当前不在"入院"状态
     */
    List<InhospPositionRecord> queryInhospPosition(ServiceSLTDInhospReqVO reqVO);
 
 
}