⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patientsform.ascx.cs

📁 医疗决策支持系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
			dr[Patient.PtBirthPlace] = PtBirthPlace.Value;
			dr[Patient.PtDeathDateText] = Request.Form[PtDeathDateText.UniqueID].ToString();
			dr[Patient.PtDeathDate] = PageUtil.ObjToDateTime(PtDeathDate.Value);
			dr[Patient.PtDeathType] = Request.Form[PtDeathType.UniqueID].ToString();
			dr[Patient.PtDeathCause] = PtDeathCause.Value;
			dr[Patient.PtContactPerson] = PtContactPerson.Value;
			dr[Patient.PtContactAddress1] = PtContactAddress1.Value;
			dr[Patient.PtContactAddress2] = PtContactAddress2.Value;
			dr[Patient.PtContactCity] = PtContactCity.Value;
			dr[Patient.PtContactState] = Request.Form[PtContactState.UniqueID].ToString();
			dr[Patient.PtContactPostalCode] = PtContactPostalCode.Value;
			dr[Patient.PtContactPhone] = PtContactPhone.Value;
			dr[Patient.PtSpouse] = PtSpouse.Value;
			dr[Patient.PtRace] = Request.Form[PtRace.UniqueID].ToString();
			dr[Patient.PtEthnicity] = Request.Form[PtEthnicity.UniqueID].ToString();
			dr[Patient.PtLanguage] = Request.Form[PtLanguage.UniqueID].ToString();
		
			//when contactStatus is 'DoNotContactPerPt' or 'DoNotContactPerMD' its disabled so use value stored in hidden field
			if(Request.Form[PtContactStatus.UniqueID] != null )
			{
				dr[Patient.PtContactStatus] = Request.Form[PtContactStatus.UniqueID].ToString();
			}
			else
			{
				dr[Patient.PtContactStatus] = StoreDoNotContactValue.Value;
			}

			// update patient info in header in case name has changed
			string fname = PtFirstName.Value;
			if(PtMiddleName.Value.Length > 0)
			{
				fname += " " + PtMiddleName.Value[0] + ".";
			}
			Page.RegisterClientScriptBlock("changePatientInHeader", "<script language=JavaScript> top.changePatientInHeader('" + fname + "','" + dr[Patient.PtLastName] + "','"+ dr[Patient.PtMRN] + "','"+ dr[Patient.PtBirthDateText] + "');</script>");
			
			
			dr[Patient.PtNotes] = PtNotes.Value;

			AddBaseParams(dr);
			biz.Tables[Patient.Table_Patients].Rows.Add(dr);
			biz.AcceptChanges();
			return biz;

		}

		protected override void SetFields(BizObject bz)
		{
			Patient biz = (Patient)bz;
			DataRow dr = biz.Tables[Patient.Table_Patients].Rows[0];

			//selects use: PageUtil.SelectDropDownItem(fieldIdName, dr[Object.FieldName]);
			
			PtMRN.Value = dr[Patient.PtMRN].ToString();
			PatientId.Value = dr[Patient.PatientId].ToString();
			PageUtil.SelectDropDownItem(PtTitle, dr[Patient.PtTitle]);
			PtFirstName.Value = dr[Patient.PtFirstName].ToString();
			PtMiddleName.Value = dr[Patient.PtMiddleName].ToString();
			PtLastName.Value = dr[Patient.PtLastName].ToString();
			PageUtil.SelectDropDownItem(PtSuffix, dr[Patient.PtSuffix]);
			PtAlias.Value = dr[Patient.PtAlias].ToString();
			PtMaidenName.Value = dr[Patient.PtMaidenName].ToString();
			PageUtil.SelectDropDownItem(PtGender, dr[Patient.PtGender]);
			PtCompany.Value = dr[Patient.PtCompany].ToString();
			PtBusinessCity.Value = dr[Patient.PtBusinessCity].ToString();
			PtBusinessState.Value = dr[Patient.PtBusinessState].ToString();
			PtAddress1.Value = dr[Patient.PtAddress1].ToString();
			PtAddress2.Value = dr[Patient.PtAddress2].ToString();
			PtCity.Value = dr[Patient.PtCity].ToString();
			PtState.Value = dr[Patient.PtState].ToString();
			PtPostalCode.Value = dr[Patient.PtPostalCode].ToString();
			PtCountry.Value = dr[Patient.PtCountry].ToString();
			PtEmail.Value = dr[Patient.PtEmail].ToString();
			PtBirthDateText.Value = dr[Patient.PtBirthDateText].ToString();
			PtBirthDate.Value = PageUtil.ObjToDateString(dr[Patient.PtBirthDate]);
			PtBirthPlace.Value = dr[Patient.PtBirthPlace].ToString();
			PtDeathDateText.Value = dr[Patient.PtDeathDateText].ToString();
			PtDeathDate.Value = PageUtil.ObjToDateString(dr[Patient.PtDeathDate]);
			PageUtil.SelectDropDownItem(PtDeathType, dr[Patient.PtDeathType]);
			PtDeathCause.Value = dr[Patient.PtDeathCause].ToString();
			PtContactPerson.Value = dr[Patient.PtContactPerson].ToString();
			PtContactAddress1.Value = dr[Patient.PtContactAddress1].ToString();
			PtContactAddress2.Value = dr[Patient.PtContactAddress2].ToString();
			PtContactCity.Value = dr[Patient.PtContactCity].ToString();
			PtContactState.Value = dr[Patient.PtContactState].ToString();
			PtContactPostalCode.Value = dr[Patient.PtContactPostalCode].ToString();
			PtContactPhone.Value = dr[Patient.PtContactPhone].ToString();
			PtSpouse.Value = dr[Patient.PtSpouse].ToString();
			PageUtil.SelectDropDownItem(PtRace, dr[Patient.PtRace]);
			PtEthnicity.Value = dr[Patient.PtEthnicity].ToString();
			PtLanguage.Value = dr[Patient.PtLanguage].ToString();
			PtNotes.Value = dr[Patient.PtNotes].ToString();

			//Contact Status should be uneditable if set to anything like Do Not Contact
			//If look up codes change..this will no longer work. temp fix. eventually add permission for this. 
			PageUtil.SelectDropDownItem(PtContactStatus, dr[Patient.PtContactStatus]);
			//doesn't work. enables afterwards?
			
			//calculate age
			this.CalcAge(PtBirthDate.Value);
	
			SetBaseFields(dr);
		}

		protected override BizObject GetRecord()
		{
			DataEntryController ct = this.GetController();
			BizObject ds = ct.GetRecord(this.patientID);
			return ds;
		}

		protected override void OnInit(EventArgs e)
		{
			this._containsGrid = true;
			base.OnInit (e);
		}	


		override public void DeleteBtn_Click()  
		{
			//secondary check for DeletePatient permission
			if(PermissionManager.HasPermission("DeletePatient"))  
			{
			
				PatientDa da = new PatientDa();
				DataTable dt = da.ValidatePatientDeletion(this.patientID).Tables[0];

				if (dt.Rows.Count.Equals(0))
				{	
					Session[SessionKey.PatientId] = null;
					Session[SessionKey.PtFirstName] = null;
					Session[SessionKey.PtLastName] = null;
					Session[SessionKey.PtMRN] = null;

					string clearPatientString;
					clearPatientString = "<script>";
					//				clearPatientString += "top.changePatientInHeader('------------ ','------------','------------');";
					clearPatientString += "alert('The patient and associated data\\nhave been removed from the database.');";
					// clearPatientString += "top.navigate('../Other/Splash.aspx');"; - old - brandon
					clearPatientString += "top.navigate('../Utilities/Splash.aspx');";
					clearPatientString += "</script>";

					Page.RegisterClientScriptBlock("clearPatient", clearPatientString);



					base.DeleteBtn_Click();
				}
				else
				{

					int y = dt.Rows.Count;
						
					string validationMessageString;
					validationMessageString = "<script> alert('";
					validationMessageString += "This patient cannot be deleted at this time.\\n\\n";
					validationMessageString += "The following tables contain data for this patient:\\n";

					for (int i=0; i < y ; i ++ )
					{
						validationMessageString += "    " + dt.Rows[i]["TableName"].ToString() + ": " + dt.Rows[i]["TableCount"].ToString() + " Record";
						if (((int)dt.Rows[i]["TableCount"]) > 1)
						{
							validationMessageString += 	"s";
						}
						validationMessageString += "\\n";
					}

					validationMessageString += "\\nThe data listed above must be deleted before this\\npatient can be removed from the database.";
					validationMessageString += "');</script>";

					Page.RegisterClientScriptBlock("validationMessage", validationMessageString);
				}
			}
			else//tell user they don't have permission to delete patient. Button should be disable so should not get to this point
			{
				string validationMessageString;
				validationMessageString = "<script> alert('";
				validationMessageString += "You do not have rights to delete patients. \\n\\n";
				validationMessageString += "Please contact the system administrator to obtain rights\\n";
				validationMessageString += "or have the patient deleted\\n";
				validationMessageString += "');</script>";

				Page.RegisterClientScriptBlock("validationMessage", validationMessageString);
			}
		}

		protected void CalcAge(string birthDate)
		{
			try
			{
				//calc age if birthdate has been entered and pt not dead
				if(birthDate.Length > 0 && PtDeathDate.Value.Equals(""))
				{
					DateTime bDate = DateTime.Parse(birthDate);
			
					int currentAge = System.DateTime.Now.Year - bDate.Year;

					bDate = bDate.AddYears(currentAge);

					//subtract one if this year's bday has not occured yet
					if(bDate.ToShortDateString().CompareTo(DateTime.Now.ToShortDateString()) > 0)
					{
						currentAge = currentAge - 1;
					}

					age.Value = currentAge.ToString();
				}
			}
			catch
			{
				//do nothing if error- should still display birthday etc and continue executing
			}
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -