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 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); /** * 查询单个在院患者的当前科室 / 病区 / 床位 * (与入院采集同一个接口 {@code dtcQueryHealthcareRecordList},用 {@code healthcareRecordNo} 单查)。 *

* ⚠️ 只取数,不落库:由调用方(数据采集模块的"在院信息刷新")自己与 * {@code pat_med_inhosp} 比对。取数失败(无响应 / 非 200)抛 RuntimeException, * 不用空列表冒充"该患者已不在院"。 *

* 入参约定:{@code orgId} + {@code campusId} + {@code statusList=["FH0109.24"]} + * {@code healthcareRecordNo}。{@code statusList} 由 HIS 侧过滤掉已出院/预出院的记录, * 因此返回空列表即表示"当前不在入院状态"。 * * @param reqVO 见上 * @return 当前位置记录;空列表 = 该患者当前不在"入院"状态 */ List queryInhospPosition(ServiceSLTDInhospReqVO reqVO); }