438 lines
16 KiB
C#
438 lines
16 KiB
C#
|
using DevExpress.XtraEditors;
|
|||
|
using HL_FristAidPlatform_DynamicElectrocardiogram;
|
|||
|
using HL_FristAidPlatform_MultiSystemPublic;
|
|||
|
using HL_FristAidPlatform_Public;
|
|||
|
using HL_FristAidPlatform_RealTimeVideo;
|
|||
|
using System;
|
|||
|
using System.Data;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace HL_FristAidPlatform_ChestPain
|
|||
|
{
|
|||
|
public partial class Form_ChestPain_PatientMainV1 : XtraForm
|
|||
|
{
|
|||
|
#region 变量
|
|||
|
//1.声明自适应类实例
|
|||
|
//AutoSizeFormClass autoSizeForm = new AutoSizeFormClass();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前病人编号(ID)
|
|||
|
/// </summary>
|
|||
|
public long Cur_PatientID = 0;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前病人编号(GUID)
|
|||
|
/// </summary>
|
|||
|
public string Cur_PatientGuid = string.Empty;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前患者所属院区编号(GUID)
|
|||
|
/// </summary>
|
|||
|
private string Cur_HospitalGuid = string.Empty;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前病人姓名
|
|||
|
/// </summary>
|
|||
|
private string Cur_PatientName = string.Empty;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前病人性别
|
|||
|
/// </summary>
|
|||
|
private string Cur_PatientGender = string.Empty;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前病人年龄
|
|||
|
/// </summary>
|
|||
|
private string Cur_PatientAge = string.Empty;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前病人标签卡编号
|
|||
|
/// </summary>
|
|||
|
private long Cur_WristStrapID = 0;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前病人标签卡编码
|
|||
|
/// </summary>
|
|||
|
private string Cur_WristStrapCode = string.Empty;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 当前病人信息
|
|||
|
/// </summary>
|
|||
|
private DataTable Cur_PatientDT = new DataTable();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 合同号
|
|||
|
/// </summary>
|
|||
|
private string Cur_WardshipId = string.Empty;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 枚举
|
|||
|
/// </summary>
|
|||
|
private Enumerate.PatientMainState PatientMainState = Enumerate.PatientMainState.时间轴;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 等待窗体
|
|||
|
/// </summary>
|
|||
|
private Loading loading = new Loading();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 是否需要等待窗体
|
|||
|
/// </summary>
|
|||
|
private bool isNeedLoading = true;
|
|||
|
#endregion
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 急救综合界面 _patientID与_patientGuid任传一个
|
|||
|
/// </summary>
|
|||
|
/// <param name="_patientID">患者编号(ID)</param>
|
|||
|
/// <param name="_patientGuid">患者编号(GUID)</param>
|
|||
|
/// <param name="_hospitalGuid">患者所属院区编号(GUID)</param>
|
|||
|
/// <param name="_patientMainState">初始界面参数</param>
|
|||
|
/// <param name="_isNeedLoading">是否需要等待窗体</param>
|
|||
|
public Form_ChestPain_PatientMainV1(long _patientID = 0, string _patientGuid = "", string _hospitalGuid = "", Enumerate.PatientMainState _patientMainState = Enumerate.PatientMainState.时间轴, bool _isNeedLoading = true)
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
Cur_PatientID = _patientID;
|
|||
|
Cur_PatientGuid = _patientGuid;
|
|||
|
Cur_HospitalGuid = _hospitalGuid;
|
|||
|
PatientMainState = _patientMainState;
|
|||
|
isNeedLoading = _isNeedLoading;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 窗体加载
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void Form_ChestPain_PatientMain_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (isNeedLoading)
|
|||
|
{
|
|||
|
loading.ShowMessage();
|
|||
|
}
|
|||
|
|
|||
|
BindInfo();
|
|||
|
|
|||
|
if (isNeedLoading)
|
|||
|
{
|
|||
|
loading.HideMessage();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 绑定患者信息
|
|||
|
/// </summary>
|
|||
|
private void BindInfo()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
#region 绑定患者信息
|
|||
|
string URL = string.Format("api/service/T_Service_Patient/GetModelByIdOrGuid?id={0}&guid={1}", Cur_PatientID, Cur_PatientGuid);
|
|||
|
Cur_PatientDT = DBHelpClass.Get(URL);
|
|||
|
if (Cur_PatientDT != null && Cur_PatientDT.Rows.Count > 0)
|
|||
|
{
|
|||
|
if (string.IsNullOrEmpty(Cur_PatientGuid))
|
|||
|
Cur_PatientGuid = Cur_PatientDT.Rows[0]["GUID"].ToString();
|
|||
|
if (Cur_PatientID == 0)
|
|||
|
Cur_PatientID = PublicClass.ToInt64(Cur_PatientDT.Rows[0]["ID"], 0);
|
|||
|
|
|||
|
Cur_PatientName = lbl_PatientName.Text = Cur_PatientDT.Rows[0]["Name"].ToString();
|
|||
|
Cur_PatientGender = lbl_PatientGender.Text = Cur_PatientDT.Rows[0]["GenderName"].ToString();
|
|||
|
Cur_PatientAge = lbl_PatientAge.Text = Cur_PatientDT.Rows[0]["Age"].ToString();
|
|||
|
Cur_WristStrapID = PublicClass.ToInt64(Cur_PatientDT.Rows[0]["WristStrapID"], 0);
|
|||
|
Cur_WristStrapCode = lbl_PatientWristStrap.Text = Cur_PatientDT.Rows[0]["WristStrapCode"].ToString();
|
|||
|
Cur_WardshipId = Cur_PatientDT.Rows[0]["WardshipId"].ToString();
|
|||
|
//初始界面
|
|||
|
switch (PatientMainState)
|
|||
|
{
|
|||
|
case Enumerate.PatientMainState.时间轴:
|
|||
|
btn_TimeAxis_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.急救信息:
|
|||
|
btn_PatientDetail_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.卒中诊断:
|
|||
|
btn_Treatment_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.动态监护:
|
|||
|
btn_RealTimeMonitoring_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.影像信息:
|
|||
|
btn_ImageInformation_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.实时视频:
|
|||
|
btn_RealTimeVideo_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.一键通知:
|
|||
|
btn_OneClickNotification_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.专家会诊:
|
|||
|
btn_Consultation_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.患者转归:
|
|||
|
btn_PatientOutcome_Click(null, null);
|
|||
|
break;
|
|||
|
case Enumerate.PatientMainState.急救轨迹:
|
|||
|
btn_FirstAidTrack_Click(null, null);
|
|||
|
break;
|
|||
|
default:
|
|||
|
btn_TimeAxis_Click(null, null);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
XtraMessageBox.Show("未获取到有效的病人信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|||
|
Close();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
PublicClass.WriteErrorLog(this.Text, "绑定患者信息:\r\n" + ex);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 抢救时间轴
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_TimeAxis_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_TimeAxis"))
|
|||
|
{
|
|||
|
Form_ChestPain_TimeAxisV1 form = new Form_ChestPain_TimeAxisV1(this, Cur_HospitalGuid, Cur_PatientGuid);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 急救信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_PatientDetail_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_PatientDetail"))
|
|||
|
{
|
|||
|
Form_ChestPain_PatientDetailV1 form = new Form_ChestPain_PatientDetailV1(Cur_HospitalGuid, Cur_PatientGuid, Cur_WristStrapID);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 胸痛诊疗
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_Treatment_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_DirectReportMain"))
|
|||
|
{
|
|||
|
Form_ChestPain_TreatmentV1 form = new Form_ChestPain_TreatmentV1(Cur_HospitalGuid, Cur_PatientGuid);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 实时监测
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_RealTimeMonitoring_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("HL_FristAidPlatform_DynamicElectrocardiogram"))
|
|||
|
{
|
|||
|
loading.ShowMessage("请稍候", "正在加载【" + Cur_PatientName + "】的心电监测...");
|
|||
|
Form_DynamicElectrocardiogramDetailed form = new Form_DynamicElectrocardiogramDetailed(Cur_PatientName, Cur_PatientAge, Cur_PatientGender, Cur_WardshipId);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
loading.HideMessage();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 影像信息
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_ImageInformation_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_ImageInformation"))
|
|||
|
{
|
|||
|
Form_ImageInformation form = new Form_ImageInformation(Cur_PatientGuid, PublicClassForDataBase.Config10001);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 实时视频
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_RealTimeVideo_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_RealTimeVideo"))
|
|||
|
{
|
|||
|
Form_RealTimeVideo form = new Form_RealTimeVideo(Cur_PatientGuid);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 一键通知
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_OneClickNotification_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_OneClickNotification"))
|
|||
|
{
|
|||
|
Form_OneClickNotification form = new Form_OneClickNotification(Cur_PatientGuid, Cur_PatientName, Cur_PatientGender, Cur_PatientAge);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 专家会诊
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_Consultation_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_Consultation"))
|
|||
|
{
|
|||
|
Form_Consultation form = new Form_Consultation();
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 患者转归
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_PatientOutcome_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_PatientOutcome"))
|
|||
|
{
|
|||
|
Form_ChestPain_OutcomeV1 form = new Form_ChestPain_OutcomeV1(Cur_HospitalGuid, Cur_PatientGuid, Cur_WristStrapID);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 急救轨迹
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_FirstAidTrack_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
MdiChildrenClose();
|
|||
|
if (!ShowChildrenForm("Form_FirstAidTrack"))
|
|||
|
{
|
|||
|
HL_FristAidPlatform_RealTimeVideo.Form_FirstAidTrack form = new HL_FristAidPlatform_RealTimeVideo.Form_FirstAidTrack(Cur_HospitalGuid, Cur_PatientGuid);
|
|||
|
form.WindowState = FormWindowState.Maximized;
|
|||
|
form.MdiParent = this;
|
|||
|
form.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 根据传递的参数点击指定按钮事件
|
|||
|
/// </summary>
|
|||
|
/// <param name="_form_Flag"></param>
|
|||
|
public void ClickMenu(int _form_Flag)
|
|||
|
{
|
|||
|
switch (_form_Flag)
|
|||
|
{
|
|||
|
case (int)Enumerate.ChestPainTimeAxis_Form.急救信息:
|
|||
|
btn_PatientDetail_Click(null, null);
|
|||
|
break;
|
|||
|
case (int)Enumerate.ChestPainTimeAxis_Form.胸痛诊疗:
|
|||
|
btn_Treatment_Click(null, null);
|
|||
|
break;
|
|||
|
case (int)Enumerate.ChestPainTimeAxis_Form.患者转归:
|
|||
|
btn_PatientOutcome_Click(null, null);
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 方法
|
|||
|
/// <summary>
|
|||
|
/// 防止打开多个窗体
|
|||
|
/// </summary>
|
|||
|
/// <param name="p_ChildrenFormText">窗体名称</param>
|
|||
|
/// <returns></returns>
|
|||
|
private bool ShowChildrenForm(string p_ChildrenFormText)
|
|||
|
{
|
|||
|
int i;
|
|||
|
//依次检测当前窗体的子窗体
|
|||
|
for (i = 0; i < MdiChildren.Length; i++)
|
|||
|
{
|
|||
|
//判断当前子窗体的Text属性值是否与传入的字符串值相同
|
|||
|
if (MdiChildren[i].Name == p_ChildrenFormText)
|
|||
|
{
|
|||
|
//如果值相同则表示此子窗体为想要调用的子窗体,激活此子窗体并返回true值
|
|||
|
MdiChildren[i].Activate();
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
//如果没有相同的值则表示要调用的子窗体还没有被打开,返回false值
|
|||
|
return false;
|
|||
|
}
|
|||
|
public void MdiChildrenClose()
|
|||
|
{
|
|||
|
//关闭所有已经打开的子窗体
|
|||
|
if (MdiChildren.Length > 0)
|
|||
|
{
|
|||
|
foreach (Form myForm in this.MdiChildren)
|
|||
|
{
|
|||
|
myForm.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 溶栓核查
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void btn_ThrombolysisScreening_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
Form_ChestPain_ThrombolysisScreening frm = new Form_ChestPain_ThrombolysisScreening(Cur_HospitalGuid, Cur_PatientGuid);
|
|||
|
frm.ShowDialog();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|