StableVersion4.3/HL_FristAidPlatform_Emergen.../Form_PatientEMR.cs

592 lines
23 KiB
C#

using DevExpress.XtraEditors;
using HL_FristAidPlatform_MultiSystemPublic;
using HL_FristAidPlatform_Public;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace HL_FristAidPlatform_EmergencyTriage
{
public partial class Form_PatientEMR : XtraForm
{
string pageIndex;
public string PatientGuid;
public string Name;
public string Age;
public string ComeHospital;
public string Gender;
public string PatientId;
public int scoreType;
//public Form_PatientBaseInfo PatientBaseInfo;
public Form_PatientInfo PatientInfo;
public Form_PatientTriage PatientTriage;
public Form_OneClickNotification OneClickNotification;
public Form_HealthCheckupInfo HealthCheckupInfo;
public Form_AssistantExaminationInfo AssistantExaminationInfo;
public Form_SpecialityCheckUpInfo SpecialityCheckUpInfo;
public Form_PatientScore PateintScore;
public Form_EpidemicNotifcation EpidemicNotifcation;
public Form_ECG ECG;
public Form_CTNT CTNT;
// public Form_ChestPain_ECG ECG;
public Form_PatientEMR(string patientGuid, string name, string age, string comeHospital, string gender, string id)
{
InitializeComponent();
PatientGuid = patientGuid;
Name = name;
Age = age;
ComeHospital = comeHospital;
Gender = gender;
PatientId = id;
}
private void Form_PatientEMR_Load(object sender, EventArgs e)
{
lbl_name.Text = Name;
//if (Name.Contains("无名氏"))
// panelControl7.Location = new Point(300, 2);
if (Name.Length > 11)
panelControl7.Location = new Point(300, 2);
lbl_Age.Text = Age;
if (Gender == "0")
lbl_Gender.Text = "未知";
if (Gender == "1")
lbl_Gender.Text = "男";
if (Gender == "2")
lbl_Gender.Text = "女";
if (ComeHospital == "1")
lbl_comeHospital.Text = "自行来院";
if (ComeHospital == "2")
lbl_comeHospital.Text = "120来院";
if (ComeHospital == "3")
lbl_comeHospital.Text = "院内发病";
if (ComeHospital == "4")
lbl_comeHospital.Text = "乡镇转诊";
if (ComeHospital == "5")
lbl_comeHospital.Text = "乡镇转120";
if (ComeHospital == "6")
lbl_comeHospital.Text = "其他";
MenuClick(panel_info, "1");
GetTimeByPatientGUID();
}
#region 顶部菜单点击
private void pic_info_Click(object sender, EventArgs e)
{
MenuClick(panel_info, "1");
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void lbl_info_Click(object sender, EventArgs e)
{
MenuClick(panel_info, "1");
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void picture_triageinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_triageinfo, "2");
MenuNonClick(panel_info);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void lbl_triageinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_triageinfo, "2");
MenuNonClick(panel_info);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void picture_physicalexaminationinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_physicalexaminationinfo, "3");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void lbl_physicalexaminationinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_physicalexaminationinfo, "3");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void picture_examinationsinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_examinationsinfo, "4");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void lbl_examinationsinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_examinationsinfo, "4");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void picture_specialitycheckupinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_specialitycheckupinfo, "5");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void lbl_specialitycheckupinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_specialitycheckupinfo, "5");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void picture_ecginfo_Click(object sender, EventArgs e)
{
MenuClick(panel_ecginfo, "6");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void lbl_ecginfo_Click(object sender, EventArgs e)
{
MenuClick(panel_ecginfo, "6");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void picture_poctinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_poctinfo, "7");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void lbl_poctinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_poctinfo, "7");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void picture_scoreinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_scoreinfo, "8");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void lbl_scoreinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_scoreinfo, "8");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_notificationinfo);
MenuNonClick(panel_notice);
}
private void picture_notificationinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_notificationinfo, "9");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notice);
}
private void lbl_notificationinfo_Click(object sender, EventArgs e)
{
MenuClick(panel_notificationinfo, "9");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notice);
}
private void picture_notice_Click(object sender, EventArgs e)
{
MenuClick(panel_notice, "10");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
}
private void lbl_notice_Click(object sender, EventArgs e)
{
MenuClick(panel_notice, "10");
MenuNonClick(panel_info);
MenuNonClick(panel_triageinfo);
MenuNonClick(panel_physicalexaminationinfo);
MenuNonClick(panel_examinationsinfo);
MenuNonClick(panel_specialitycheckupinfo);
MenuNonClick(panel_ecginfo);
MenuNonClick(panel_poctinfo);
MenuNonClick(panel_scoreinfo);
MenuNonClick(panel_notificationinfo);
}
#endregion
public void MenuClick(PanelControl panel, string index)
{
panel.BackColor = Color.FromArgb(17, 131, 251);
pageIndex = index;
panel_Content.Controls.Clear();
panel_Save.Visible = true;
switch (index)
{
case "1":
PatientInfo = new Form_PatientInfo(PatientGuid);
PatientInfo.TopLevel = false;
PatientInfo.FormBorderStyle = FormBorderStyle.None;
PatientInfo.Parent = this.panel_Content;
PatientInfo.Dock = DockStyle.Fill;
PatientInfo.Show();
break;
case "2":
PatientTriage = new Form_PatientTriage(PatientGuid);
PatientTriage.TopLevel = false;
PatientTriage.FormBorderStyle = FormBorderStyle.None;
PatientTriage.Parent = this.panel_Content;
PatientTriage.Dock = DockStyle.Fill;
PatientTriage.Show();
break;
case "3":
HealthCheckupInfo = new Form_HealthCheckupInfo(PatientGuid);
HealthCheckupInfo.TopLevel = false;
HealthCheckupInfo.FormBorderStyle = FormBorderStyle.None;
HealthCheckupInfo.Parent = this.panel_Content;
HealthCheckupInfo.Dock = DockStyle.Fill;
HealthCheckupInfo.Show();
break;
case "4":
AssistantExaminationInfo = new Form_AssistantExaminationInfo(PatientGuid);
AssistantExaminationInfo.TopLevel = false;
AssistantExaminationInfo.FormBorderStyle = FormBorderStyle.None;
AssistantExaminationInfo.Parent = this.panel_Content;
AssistantExaminationInfo.Dock = DockStyle.Fill;
AssistantExaminationInfo.Show();
break;
case "5":
SpecialityCheckUpInfo = new Form_SpecialityCheckUpInfo(PatientGuid);
SpecialityCheckUpInfo.TopLevel = false;
SpecialityCheckUpInfo.FormBorderStyle = FormBorderStyle.None;
SpecialityCheckUpInfo.Parent = this.panel_Content;
SpecialityCheckUpInfo.Dock = DockStyle.Fill;
SpecialityCheckUpInfo.Show();
break;
case "6":
ECG = new Form_ECG(PatientGuid);
ECG.TopLevel = false;
ECG.FormBorderStyle = FormBorderStyle.None;
ECG.Parent = this.panel_Content;
ECG.Dock = DockStyle.Fill;
ECG.Show();
panel_Save.Visible = false;
break;
case "7":
CTNT = new Form_CTNT(PatientGuid);
CTNT.TopLevel = false;
CTNT.FormBorderStyle = FormBorderStyle.None;
CTNT.Parent = this.panel_Content;
CTNT.Dock = DockStyle.Fill;
CTNT.Show();
panel_Save.Visible = false;
break;
case "8":
PateintScore = new Form_PatientScore(PatientGuid, ComeHospital);
PateintScore.TopLevel = false;
PateintScore.FormBorderStyle = FormBorderStyle.None;
PateintScore.Parent = this.panel_Content;
PateintScore.Dock = DockStyle.Fill;
PateintScore.Show();
panel_Save.Visible = false;
break;
case "9":
EpidemicNotifcation = new Form_EpidemicNotifcation(PatientGuid, "1");
EpidemicNotifcation.TopLevel = false;
EpidemicNotifcation.FormBorderStyle = FormBorderStyle.None;
EpidemicNotifcation.Parent = this.panel_Content;
EpidemicNotifcation.Dock = DockStyle.Fill;
EpidemicNotifcation.Show();
break;
case "10":
OneClickNotification = new Form_OneClickNotification(PatientGuid, Name, Gender, Age, PatientId);
OneClickNotification.TopLevel = false;
OneClickNotification.FormBorderStyle = FormBorderStyle.None;
OneClickNotification.Parent = this.panel_Content;
OneClickNotification.Dock = DockStyle.Fill;
OneClickNotification.Show();
panel_Save.Visible = false;
break;
}
}
public void MenuNonClick(PanelControl panel)
{
panel.BackColor = Color.Transparent;
}
private void btn_Save_Click(object sender, EventArgs e)
{
switch (pageIndex)
{
case "1":
List<string> list = new List<string>();
list = PatientInfo.SavePatientInfo();
if (list != null && list.Count > 0)
{
lbl_name.Text = list[0].ToString();
lbl_Age.Text = list[1].ToString();
if (list[2].ToString() == "0")
lbl_Gender.Text = "未知";
if (list[2].ToString() == "1")
lbl_Gender.Text = "男";
if (list[2].ToString() == "2")
lbl_Gender.Text = "女";
}
break;
case "2":
string comeway= PatientTriage.SavePatientTriage();
if (comeway == "1")
lbl_comeHospital.Text = "自行来院";
if (comeway == "2")
lbl_comeHospital.Text = "120来院";
if (comeway == "3")
lbl_comeHospital.Text = "院内发病";
if (comeway == "4")
lbl_comeHospital.Text = "乡镇转诊";
if (comeway == "5")
lbl_comeHospital.Text = "乡镇转120";
if (comeway == "6")
lbl_comeHospital.Text = "其他";
break;
case "3":
HealthCheckupInfo.SaveHealthCheckup();
break;
case "4":
AssistantExaminationInfo.SaveAssistantExaminatonInfo();
break;
case "5":
SpecialityCheckUpInfo.SaveSpecialityCheckUpInfo();
break;
case "9":
EpidemicNotifcation.Save();
break;
}
}
public void GetTimeByPatientGUID()
{
FirstAidPatientInfoModel dto = new FirstAidPatientInfoModel();
string url = string.Format("api/service/T_Service_EmergencyTriage/GetTimeByPatientGUID?patientGuid={0}", PatientGuid);
dto = DBHelpClass.GetDateModel<FirstAidPatientInfoModel>(url);
if (dto != null)
{
if (dto.Attack_Time!=null&&!string.IsNullOrEmpty(dto.Attack_Time.ToString()))
lbl_Attack_Time.Text = dto.Attack_Time.ToString();
if (ComeHospital == "2")
{
lbl_TimeText2.Text = "呼救时间";
if (dto.CallTime != null && !string.IsNullOrEmpty(dto.CallTime.ToString()))
lbl_TimeValue2.Text = dto.CallTime;
lbl_TimeText3.Text = "首次医疗接触时间";
lbl_TimeValue3.Text = dto.FMCTime;
lbl_TimeText4.Text = "分诊时间";
lbl_TimeValue4.Text = dto.TriageTime;
lbl_TimeText5.Text = "到达医院大门时间";
lbl_TimeValue5.Text = dto.ArrivalDoorTime;
}
else
{
lbl_TimeText2.Text = "首次医疗接触时间";
lbl_TimeValue2.Text = dto.FMCTime;
lbl_TimeText3.Text = "分诊时间";
lbl_TimeValue3.Text = dto.TriageTime;
lbl_TimeText4.Text = "到达医院大门时间";
lbl_TimeValue4.Text = dto.ArrivalDoorTime;
tablePanel2.Columns[4].Visible = false;
tablePanel3.Columns[4].Visible = false;
}
}
}
private void Form_PatientEMR_FormClosed(object sender, FormClosedEventArgs e)
{
Form_PatientList PatientList;
PatientList = (Form_PatientList)this.Owner;
PatientList.GetMedicalRecordList();
}
private class FirstAidPatientInfoModel
{
/// <summary>
/// 患者GUID
/// </summary>
public string PatientGUID { get; set; }
/// <summary>
/// 发病时间
/// </summary>
public string Attack_Time { get; set; }
/// <summary>
/// 呼救时间
/// </summary>
public string CallTime { get; set; }
/// <summary>
/// 首次医疗接触时间
/// </summary>
public string FMCTime { get; set; }
/// <summary>
/// 到达大门时间
/// </summary>
public string ArrivalDoorTime { get; set; }
/// <summary>
/// 分诊时间
/// </summary>
public string TriageTime { get; set; }
}
}
}