StableVersion4.3/HL_FristAidPlatform_Emergen.../EMRInfo/Form_PHI.cs

293 lines
10 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DevExpress.XtraEditors;
using HL_FristAidPlatform_DTO;
using HL_FristAidPlatform_Public;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace HL_FristAidPlatform_EmergencyTriage
{
public partial class Form_PHI : XtraForm
{
private string guid;
private string _patientGuid;
private int flag;
private int systolicPressureScore;
private int pulseScore;
private int breathingScore;
private int sonsciousScore;
private int injuryScore;
private int phiLevel;
public Form_PHI(string patientGuid, int _flag)
{
InitializeComponent();
_patientGuid = patientGuid;
flag = _flag;
}
private void Form_PatientInfoPHI_Load(object sender, EventArgs e)
{
radio_BreathingScore.SelectedIndex = -1;
string url = string.Format("api/service/FirstAid_PatientScore/GetPHIByPatientGuid?PatientGuid={0}&flag={1}", _patientGuid, flag);
FirstAid_PatientPHI dto = DBHelpClass.GetDateModel<FirstAid_PatientPHI>(url);
if (dto != null)
{
radio_SystolicPressureScore.EditValue = dto.SystolicPressureScore;
radio_PulseScore.EditValue = dto.PulseScore;
radio_BreathingScore.EditValue = dto.BreathingScore;
radio_SonsciousScore.EditValue = dto.SonsciousScore;
radio_InjuryScore.EditValue = dto.InjuryScore;
lbl_TotalScore.Text = dto.TotalScore.ToString();
}
}
private void radioGroup1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (radio_SystolicPressureScore.SelectedIndex)
{
case 0:
systolicPressureScore = 0;
break;
case 1:
systolicPressureScore = 1;
break;
case 2:
systolicPressureScore = 3;
break;
case 3:
systolicPressureScore = 5;
break;
}
lbl_TotalScore.Text = (systolicPressureScore + pulseScore + breathingScore + sonsciousScore + injuryScore).ToString();
}
private void radioGroup2_SelectedIndexChanged(object sender, EventArgs e)
{
switch (radio_PulseScore.SelectedIndex)
{
case 0:
pulseScore = 0;
break;
case 1:
pulseScore = 1;
break;
case 2:
pulseScore = 3;
break;
case 3:
pulseScore = 5;
break;
}
lbl_TotalScore.Text = (systolicPressureScore + pulseScore + breathingScore + sonsciousScore + injuryScore).ToString();
}
private void radioGroup3_SelectedIndexChanged(object sender, EventArgs e)
{
switch (radio_BreathingScore.SelectedIndex)
{
case 0:
breathingScore = 0;
break;
case 1:
breathingScore = 1;
break;
case 2:
breathingScore = 3;
break;
case 3:
breathingScore = 5;
break;
}
lbl_TotalScore.Text = (systolicPressureScore + pulseScore + breathingScore + sonsciousScore + injuryScore).ToString();
}
private void radioGroup4_SelectedIndexChanged(object sender, EventArgs e)
{
switch (radio_SonsciousScore.SelectedIndex)
{
case 0:
sonsciousScore = 0;
break;
case 1:
sonsciousScore = 1;
break;
case 2:
sonsciousScore = 3;
break;
case 3:
sonsciousScore = 5;
break;
}
lbl_TotalScore.Text = (systolicPressureScore + pulseScore + breathingScore + sonsciousScore + injuryScore).ToString();
}
private void radioGroup5_SelectedIndexChanged(object sender, EventArgs e)
{
switch (radio_InjuryScore.SelectedIndex)
{
case 0:
injuryScore = 0;
break;
case 1:
injuryScore = 4;
break;
}
lbl_TotalScore.Text = (systolicPressureScore + pulseScore + breathingScore + sonsciousScore + injuryScore).ToString();
}
private void lbl_TotalScore_TextChanged(object sender, EventArgs e)
{
int scroe = int.Parse(lbl_TotalScore.Text);
if (scroe <= 3)
{
lbl_phiLevel.Text = "轻伤员";
phiLevel = 1;
lbl_phiLevel.Visible = true;
lbl_TotalScore.Visible = true;
}
if (scroe >= 4 && scroe <= 6)
{
lbl_phiLevel.Text = "重伤员";
phiLevel = 2;
lbl_phiLevel.Visible = true;
lbl_TotalScore.Visible = true;
}
if (scroe > 6)
{
lbl_phiLevel.Text = "危重伤员";
phiLevel = 3;
lbl_phiLevel.Visible = true;
lbl_TotalScore.Visible = true;
}
}
private void simpleButton1_Click(object sender, EventArgs e)
{
if (radio_SystolicPressureScore.SelectedIndex == -1)
{
XtraMessageBox.Show("收缩压选择项为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
radio_SystolicPressureScore.Focus();
return;
}
if (radio_PulseScore.SelectedIndex == -1)
{
XtraMessageBox.Show("脉搏选择项为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
radio_PulseScore.Focus();
return;
}
if (radio_BreathingScore.SelectedIndex == -1)
{
XtraMessageBox.Show("呼吸选择项为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
radio_BreathingScore.Focus();
return;
}
if (radio_SonsciousScore.SelectedIndex == -1)
{
XtraMessageBox.Show("神志选择项为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
radio_SonsciousScore.Focus();
return;
}
if (radio_InjuryScore.SelectedIndex == -1)
{
XtraMessageBox.Show("附加伤部及伤型选择项为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
radio_InjuryScore.Focus();
return;
}
List<FirstAid_PatientPHIDTO> list = new List<FirstAid_PatientPHIDTO>();
FirstAid_PatientPHIDTO dto = new FirstAid_PatientPHIDTO();
dto.PatientGUID = _patientGuid;
dto.CreateUser = Information.User.ID;
dto.BreathingScore = breathingScore;
dto.SonsciousScore = sonsciousScore;
dto.SystolicPressureScore = systolicPressureScore;
dto.PulseScore = pulseScore;
dto.InjuryScore = injuryScore;
dto.TotalScore = int.Parse(lbl_TotalScore.Text);
dto.PHILevel = phiLevel;
//flag=0表示院前PHI评分
dto.Flag = flag;
list.Add(dto);
string Url = string.Empty;
Url = "api/service/FirstAid_PatientScore/AddPHI";
//初始化两个工厂
ClientFactory<FirstAid_PatientPHIDTO> httpClient = new HttpClientFactory<FirstAid_PatientPHIDTO>();
Client<FirstAid_PatientPHIDTO> client = httpClient.VisitFactory();
ListEntity<FirstAid_PatientPHIDTO> t = client.Post(Url, list);
if (t.Success)
{
JObject jo = (JObject)JsonConvert.DeserializeObject(t.DataString);
string msg = jo["Msg"].ToString();
if (!string.IsNullOrEmpty(msg))
{
XtraMessageBox.Show(msg);
}
this.Close();
Form_PatientScore Patient;
Patient = (Form_PatientScore)this.Owner;
Patient.GetPatientTriageScoreList();
}
else
{
XtraMessageBox.Show("保存失败");
}
}
private class FirstAid_PatientPHI
{
public string GUID { get; set; }
// <summary>
/// 收缩压评分
/// </summary>
public int SystolicPressureScore { get; set; }
/// <summary>
/// 脉搏评分
/// </summary>
public int PulseScore { get; set; }
/// <summary>
/// 呼吸评分
/// </summary>
public int BreathingScore { get; set; }
/// <summary>
/// 神志评分
/// </summary>
public int SonsciousScore { get; set; }
/// <summary>
/// 附加伤及伤型评分
/// </summary>
public int InjuryScore { get; set; }
/// <summary>
/// 总分
/// </summary>
public int TotalScore { get; set; }
/// <summary>
/// 10-3分轻伤员 24-6 重伤员:36分以上危重伤员
/// </summary>
public int PHILevel { get; set; }
/// <summary>
/// 评分时间
/// </summary>
public DateTime ScoreTime { get; set; }
/// <summary>
/// 创建人
/// </summary>
public string CreateUser { get; set; }
}
}
}