StableVersion4.3/HL_FristAidPlatform_IService/Service/IT_Service_Patient.cs

476 lines
18 KiB
C#
Raw Normal View History

2024-03-11 09:47:34 +08:00

using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_Models;
using System;
using System.Collections.Generic;
namespace HL_FristAidPlatform_IDataBase
{
public interface IT_Service_Patient
{
#region 增
/// <summary>
/// 添加
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
T_Service_Patient Add(T_Service_Patient entity);
/// <summary>
/// 新增 仅更新赋值的字段
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int AddNotNullColumns(T_Service_Patient model);
/// <summary>
/// 新增(用于第三方)
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
bool AddFromApp(T_Service_Patient entity);
/// <summary>
/// 新增 仅更新赋值的字段
/// 用于移动端
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int AddForApp(T_Service_Patient model);
#endregion
#region 删
/// <summary>
/// 批量删除
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
int Dels(string ids);
/// <summary>
/// 根据病人ID集合删除患者信息
/// 用于移动端
/// </summary>
/// <param name="guids">病人GUID集合格式'{0}','{1}'</param>
/// <returns></returns>
int DeleteForApp(string guids);
/// 院前删除已经分诊和录入病例患者
int DeleteYQ(string patientGuid);
#endregion
#region 改
/// <summary>
/// 只更新指定字段
/// 更新住院科室和住院号
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int UpdateAdmissionNumber(T_Service_Patient entity);
/// <summary>
/// 只更新指定字段 更新患者绿色通道
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int UpdateGreenChannel(T_Service_Patient model);
/// <summary>
/// 编辑
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
int Update(T_Service_Patient entity);
/// <summary>
/// 更新所有字段
/// 更新前必须在客户端先查询一遍数据库,然后将界面中没有的数据重新给实体类赋值,否则将会把以前有的数据更新成空值
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int UpdateByModel(T_Service_Patient model);
/// <summary>
/// 仅更新赋值的字段
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
int UpdateNotNullColumns(T_Service_Patient model);
int UpdateIsGreenChannel(T_Service_Patient model);
int UpdateEMRSPath(T_Service_Patient model);
/// <summary>
/// 修改--仅更新赋值的字段
/// 用于移动端
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
int UpdateForApp(T_Service_Patient model);
/// <summary>
/// 修改治疗类型
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int UpdateacZLType(T_Service_Patient patient);
/// <summary>
/// 平台要求建档时间 Specified_Archiving_Time
/// </summary>
/// <param name="patient"></param>
/// <returns></returns>
int UpdateSpecifiedArchivingTime(T_Service_Patient patient);
/// <summary>
/// 更新信息
/// 脑出血手术数据直报表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int UpdateInfoForHematencephalon(T_Service_Patient model);
/// <summary>
/// 更新信息
/// 颅内动脉瘤手术数据直报表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int UpdateInfoForIntracranialAneurysm(T_Service_Patient model);
/// <summary>
/// 更新信息
/// CEA、CAS数据直报表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int UpdateInfoForCEACAS(T_Service_Patient model);
/// <summary>
/// 更新信息
/// 静脉溶栓/血管内介入治疗数据直报表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
int UpdateInfoForIntravenousThrombolysis(T_Service_Patient model);
/// <summary>
/// 更改病人状态
/// </summary>
/// <param name="model">病人编号+状态</param>
/// <returns></returns>
int UpdateEmergencyState(T_Service_Patient model);
/// <summary>
/// 更改患者CCPC上传状态
/// </summary>
/// <param name="model">病人编号+返回的注册码</param>
/// <returns></returns>
int Update_CCPC_State(T_Service_Patient model);
/// <summary>
/// 更改患者所属系统模块(患者类型)
/// </summary>
/// <param name="model">病人编号(GUID)+模块类型编号(ID)</param>
/// <returns></returns>
int UpdateSystemModule(T_Service_Patient model);
/// <summary>
/// 更改病人档案填报状态 Status
/// 填报状态 1:填报中 2:填报完成 3:待审核 4:审核通过 5:质疑 6:待归档 7:归档成功
/// </summary>
/// <param name="model">患者实体</param>
/// <returns></returns>
int UpdateStatus(T_Service_Patient model);
#endregion
#region 查
/// <summary>
/// 分页查询
/// </summary>
/// <param name="pageIndex">起始页</param>
/// <param name="pageSize">每页大小</param>
/// <param name="hospitalGuid">所属院区GUID</param>
/// <param name="systemModuleID">所属模块ID</param>
/// <param name="emergencyState">急救状态:-1全部 0未结束(对应急救中0+住院中1) 1已结束(对应已转归2)</param>
/// <param name="registerTimeStart">登记开始时间</param>
/// <param name="registerTimeEnd">登记结束时间</param>
/// <param name="gender">性别</param>
/// <param name="category">是否三无人员</param>
/// <param name="ageStart">年龄开始</param>
/// <param name="ageEnd">年龄结束</param>
/// <param name="keyWord">关键词</param>
/// <returns></returns>
TableModel<T_Service_PatientModel> GetPageList(int pageIndex, int pageSize, string hospitalGuid, long systemModuleID, int emergencyState, string registerTimeStart, string registerTimeEnd, int gender, int category, int ageStart, int ageEnd, string keyWord);
/// <summary>
/// 获取单个
/// </summary>
/// <param name="guid">GUID</param>
/// <returns></returns>
T_Service_Patient Get(string guid);
/// <summary>
/// 查询卒中患者基本信息和院前信息
/// </summary>
/// <param name="PatientGUID"></param>
/// <returns></returns>
public T_Service_PatientApoplexyBaseModel GetApoplexyBaseModel(string PatientGUID);
/// <summary>
/// 保存卒中患者基本信息和院前信息
/// </summary>
/// <param name="patient"></param>
/// <param name="prehospital"></param>
/// <returns></returns>
public bool SaveApoplexyBaseModel(T_Service_Patient patient, T_Service_Apoplexy_Prehospital prehospital);
GUIDModel GetGUID(string guid);
/// <summary>
/// 根据ID或者GUID获取患者Model类
/// </summary>
/// <param name="id">患者编号</param>
/// <param name="guid">GUID</param>
/// <returns></returns>
TableModel<T_Service_PatientModel> GetModelByIdOrGuid(long id, string guid);
/// <summary>
/// 胸痛急救综合界面所需数据
/// </summary>
/// <param name="hospital"></param>
/// <param name="guid"></param>
/// <returns></returns>
ChestPainMianModel GetChestPainMianModel(string guid);
/// <summary>
/// 根据ID或者GUID获取患者Model类
/// 用于移动端
/// </summary>
/// <param name="id">患者编号</param>
/// <param name="guid">GUID</param>
/// <returns></returns>
TableModel<T_Service_PatientModel> GetByIDForApp(long id, string guid);
/// <summary>
/// HIS获取胸痛病人信息
/// </summary>
/// <param name="Phone">电话</param>
/// <param name="Name">姓名</param>
/// <param name="IDCard">身份证</param>
/// <returns></returns>
TableModel<T_Service_PatientModel> GetPatientToHIS(string Phone, string Name, string IDCard);
/// <summary>
/// 云心电获取胸痛系统患者列表接口
/// </summary>
/// <param name=""></param>
/// <returns></returns>
TableModel<PatientECG> GetPatientList();
TableModel<T_Service_Patient> GetModelByReport(string where);
/// <summary>
/// 根据时间参数获取大于当前时间节点的无名氏人员
/// </summary>
/// <param name="registerTime">登记时间</param>
/// <returns></returns>
TableModel<T_Service_Patient> GetCategoryList(string registerTime);
/// <summary>
/// 获取三无名称
/// </summary>
/// <param name="hospitalGuid"></param>
/// <returns></returns>
string GetCategoryNumber(string hospitalGuid);
/// <summary>
/// 获取患者列表--胸痛患者信息上传至CCPC列表
/// </summary>
/// <param name="pageIndex">起始页</param>
/// <param name="pageSize">每页大小</param>
/// <param name="hospitalGuid">所属院区GUID</param>
/// <param name="systemModuleID">所属模块ID</param>
/// <param name="startTime">开始时间(创建)</param>
/// <param name="endTime">结束时间(创建)</param>
/// <param name="ccpc_state">上报状态是否上传到胸痛数据平台1是0否,-1查询全部</param>
/// <param name="keyWord">关键词</param>
/// <returns></returns>
string GetChestPainPatientListForCCPC(int pageIndex, int pageSize, string hospitalGuid, long systemModuleID, string startTime, string endTime, int ccpc_state, string keyWord);
/// <summary>
/// 获取患者列表--胸痛患者信息上传至CCPC列表
/// </summary>
/// <param name="pageIndex">起始页</param>
/// <param name="pageSize">每页大小</param>
/// <param name="hospitalGuid">所属院区GUID</param>
/// <param name="systemModuleID">所属模块ID</param>
/// <param name="startTime">开始时间(创建)</param>
/// <param name="endTime">结束时间(创建)</param>
/// <param name="ccpc_state">上报状态是否上传到胸痛数据平台1是0否,-1查询全部</param>
/// <param name="isPCI">是否PCI1是0否,-1查询全部</param>
/// <param name="preliminaryDiagnosis">诊断,用','分割,为空查全部</param>
/// <param name="keyWord">关键词</param>
/// <returns></returns>
string GetChestPainPatientListForCCPC2(int pageIndex, int pageSize, string hospitalGuid, long systemModuleID, string startTime, string endTime, int ccpc_state, int isPCI, string preliminaryDiagnosis, string keyWord);
#endregion
TableModel<MedicalRecordListModel> GetMedicalRecordList(string name, int systemModelID, string startTime, string endTime, string killip, string causeOfDisease, string department, int gender, int ageOne, int ageTwo, int pageIndex, int pageSize);
List<ElectronicMedicalRecordModel> GetElectronicMedicalRecord(string GUID, string MobilePhone, string StartTime, string EndTime);
/// <summary>
/// 患者电子病历 === 成都金牛
/// </summary>
/// <param name="GUID"></param>
/// <param name="MobilePhone"></param>
/// <param name="StartTime"></param>
/// <param name="EndTime"></param>
/// <returns></returns>
TableModel<PatientMedicalOfJNModel> GetPatientMedicalOfJN(string GUID);
List<ElectronicMedicalRecordModel> GetElectronicMedicalRecord(string GUID);
TableModel<MedicalRecordPrintModel> MedicalRecordPrint(string guid);
HandoverModel GetPatientsInfo(string callGuid);
/// <summary>
/// 更新患者院前基本信息
/// </summary>
/// <param name="patient"></param>
/// <param name="info"></param>
/// <returns></returns>
bool UpdateFirstAidPatientsInfo(T_Service_Patient patient, T_Service_FirstAid_PatientInfo info);
/// <summary>
/// 获取绑定院前急救出警任务的患者
/// </summary>
/// <param name="guid"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
TableModel<MedicalRecordListModel> GetTaskOfPatientInfo(string guid);
/// <summary>
///
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
List<PatientInfoOfCallModel> GetTaskOfPatientInfoList(string guid);
/// <summary>
/// 获取患者信息 --患者列表
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
PatientsInfoModel GetPatientsInfoModel(string guid);
/// <summary>
/// 获取基本信息 电子病历
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
PatientsModel GetPatients(string guid);
/// <summary>
/// 更新 患者分诊
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
bool UpdatePatientTriagem(T_Service_Patient patient, T_Service_FirstAid_PatientInfo info, T_Service_ChestPain_FirstAIDInfo aid, T_Service_Apoplexy_Prehospital prehospital);
/// <summary>
/// 专病患者列表=== 富县人员医院(院前专病列表查询)
/// </summary>
/// <returns></returns>
TableModel<SpecialDiseasePatientListModel> GetSpecialDiseasePatientList(string hospitalGuid, string name, int gender, int systemModel, string startTime, string endTime, int pageIndex, int pageSize);
/// <summary>
/// 专病患者详情
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
SpecialDiseasePatientDetailModel GetSpecialDiseasePatientDetail(string guid);
/// <summary>
/// 逻辑删除
/// </summary>
/// <param name="patient"></param>
/// <returns></returns>
int DeleteSpecialDiseasePatient(T_Service_Patient patient);
/// <summary>
/// 卒中患者上报列表
/// </summary>
/// <param name="hospitalGuid"></param>
/// <param name="userId"></param>
/// <returns></returns>
TableModel<ApoplexyReportPatientModel> GetApoplexyReportPatientList(string hospitalGuid, string acZLType, string name, string acHzCode, string cytimeOne, string cytimeTwo, int pageSize, int pageIndex);
/// <summary>
/// 单个患者上报 XML格式数据
/// </summary>
/// <param name="patientGuid"></param>
/// <returns></returns>
ApoplexyReportModel ReportSinglePatientXML(string patientGuid);
List<T_Service_PatientTOASTModel> GetModelBySystemModuleIDANDHospitalGuid(DateTime startTime, DateTime endTime, long systemModuleID, string hospitalGuid);
public TableModel<T_Service_PatientModel> GetProvince(long id, string guid);
/// <summary>
/// 获取治疗类型,审核状态
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
ACZLTypeAuditModel GetApoplexyHospitalModel(string guid);
/// <summary>
/// 获取所有卒中待患者待上传病例数据
/// </summary>
/// <param name="hosptial"></param>
/// <returns></returns>
List<GUIDModel> GetApoplexyPaientList();
GUIDModel GetApoplexyPaient();
/// <summary>
/// 根据院区id来获取toast分型
/// </summary>
/// <param name="hospitalGuid"></param>
/// <returns></returns>
TableModel<T_Service_Patient> GetListByHospitalGuid(int pageIndex, int pageSize, DateTime startTime, DateTime endTime, string hospitalGuid);
/// <summary>
/// 卒中患者基本信息
/// </summary>
/// <param name="patientGuid"></param>
/// <returns></returns>
ApoplexyPatientInfoModel GetApoplexyPaitentInfo(string patientGuid);
/// <summary>
/// 保存卒中患者基本信息、院前信息
/// </summary>
/// <param name="patient"></param>
/// <param name="prehospital"></param>
/// <returns></returns>
string SaveApoplexyPaitentInfo(T_Service_Patient patient, T_Service_Apoplexy_Prehospital prehospital);
string SaveApoplexyPaitentInfoForTriage(T_Service_Apoplexy_Prehospital prehospital);
/// <summary>
/// 保存院前NIHSS卒中如果初步诊断填写了评分并且治疗类型选择了溶栓或介入手术时并且溶栓表或介入表中对应字段值为空时把对应的溶栓表或介入手术表插入数据
/// </summary>
/// <returns></returns>
bool SaveNIHSS(SaveNIHSSModel model);
}
}