/// <summary> /// </summary> private Patient CreatePatient(String LastName, String FirstName, DateTime birthDate, WebSheets.SheetAndSheetField sAnds) { Patient newPat = new Patient(); newPat.LName = LastName; newPat.FName = FirstName; newPat.Birthdate = birthDate; newPat.ClinicNum = Security.CurUser.ClinicNum; Type t = newPat.GetType(); FieldInfo[] fi = t.GetFields(); foreach (FieldInfo field in fi) { // find match for fields in Patients in the web_sheetfieldlist var WebSheetFieldList = sAnds.web_sheetfieldlist.Where(sf => sf.FieldName.ToLower() == field.Name.ToLower()); if (WebSheetFieldList.Count() > 0) { // this loop is used to fill a field that may generate mutiple values for a single field in the patient. //for example the field gender has 2 eqivalent sheet fields in the web_sheetfieldlist for (int i = 0; i < WebSheetFieldList.Count(); i++) { WebSheets.webforms_sheetfield sf = WebSheetFieldList.ElementAt(i); String SheetWebFieldValue = sf.FieldValue; String RadioButtonValue = sf.RadioButtonValue; FillPatientFields(newPat, field, SheetWebFieldValue, RadioButtonValue); } } } try{ Patients.Insert(newPat, false); //set Guarantor field the same as PatNum Patient patOld = newPat.Copy(); newPat.Guarantor = newPat.PatNum; Patients.Update(newPat, patOld); } catch (Exception e) { gridMain.EndUpdate(); MessageBox.Show(e.Message); } return(newPat); }
/// <summary> /// </summary> private Sheet CreateSheet(long PatNum, WebSheets.SheetAndSheetField sAnds) { Sheet newSheet = null; try{ SheetDef sheetDef = new SheetDef((SheetTypeEnum)sAnds.web_sheet.SheetType); newSheet = SheetUtil.CreateSheet(sheetDef, PatNum); SheetParameter.SetParameter(newSheet, "PatNum", PatNum); newSheet.DateTimeSheet = sAnds.web_sheet.DateTimeSheet; newSheet.Description = sAnds.web_sheet.Description; newSheet.Height = sAnds.web_sheet.Height; newSheet.Width = sAnds.web_sheet.Width; newSheet.FontName = sAnds.web_sheet.FontName; newSheet.FontSize = sAnds.web_sheet.FontSize; newSheet.SheetType = (SheetTypeEnum)sAnds.web_sheet.SheetType; newSheet.IsLandscape = sAnds.web_sheet.IsLandscape == (sbyte)1?true:false; newSheet.InternalNote = ""; newSheet.IsWebForm = true; //loop through each variable in a single sheetfield for (int i = 0; i < sAnds.web_sheetfieldlist.Count(); i++) { SheetField sheetfield = new SheetField(); sheetfield.FieldName = sAnds.web_sheetfieldlist[i].FieldName; sheetfield.FieldType = (SheetFieldType)sAnds.web_sheetfieldlist[i].FieldType; //sheetfield.FontIsBold=sAnds.web_sheetfieldlist[i].FontIsBold==(sbyte)1?true:false; if (sAnds.web_sheetfieldlist[i].FontIsBold == (sbyte)1) { sheetfield.FontIsBold = true; } else { sheetfield.FontIsBold = false; } sheetfield.FontIsBold = sAnds.web_sheetfieldlist[i].FontIsBold == (sbyte)1?true:false; sheetfield.FontName = sAnds.web_sheetfieldlist[i].FontName; sheetfield.FontSize = sAnds.web_sheetfieldlist[i].FontSize; sheetfield.Height = sAnds.web_sheetfieldlist[i].Height; sheetfield.Width = sAnds.web_sheetfieldlist[i].Width; sheetfield.XPos = sAnds.web_sheetfieldlist[i].XPos; sheetfield.YPos = sAnds.web_sheetfieldlist[i].YPos; //sheetfield.IsRequired=sAnds.web_sheetfieldlist[i].IsRequired==(sbyte)1?true:false; if (sAnds.web_sheetfieldlist[i].IsRequired == (sbyte)1) { sheetfield.IsRequired = true; } else { sheetfield.IsRequired = false; } sheetfield.TabOrder = sAnds.web_sheetfieldlist[i].TabOrder; sheetfield.RadioButtonGroup = sAnds.web_sheetfieldlist[i].RadioButtonGroup; sheetfield.RadioButtonValue = sAnds.web_sheetfieldlist[i].RadioButtonValue; sheetfield.GrowthBehavior = (GrowthBehaviorEnum)sAnds.web_sheetfieldlist[i].GrowthBehavior; sheetfield.FieldValue = sAnds.web_sheetfieldlist[i].FieldValue; newSheet.SheetFields.Add(sheetfield); } // end of j loop Sheets.SaveNewSheet(newSheet); return(newSheet); } catch (Exception e) { gridMain.EndUpdate(); MessageBox.Show(e.Message); } return(newSheet); }
/// <summary> /// </summary> private Patient CreatePatient(String LastName, String FirstName, DateTime birthDate, WebSheets.SheetAndSheetField sAnds) { Patient newPat = new Patient(); newPat.LName = LastName; newPat.FName = FirstName; newPat.Birthdate = birthDate; newPat.ClinicNum = sAnds.web_sheet.ClinicNum; if (PrefC.GetBool(PrefName.EasyNoClinics)) { //Set the patients primary provider to the practice default provider. newPat.PriProv = Providers.GetDefaultProvider().ProvNum; } else //Using clinics. //Set the patients primary provider to the clinic default provider. { newPat.PriProv = Providers.GetDefaultProvider(Clinics.ClinicNum).ProvNum; } Type t = newPat.GetType(); FieldInfo[] fi = t.GetFields(); foreach (FieldInfo field in fi) { // find match for fields in Patients in the web_sheetfieldlist var WebSheetFieldList = sAnds.web_sheetfieldlist.Where(sf => sf.FieldName.ToLower() == field.Name.ToLower()); if (WebSheetFieldList.Count() > 0) { // this loop is used to fill a field that may generate mutiple values for a single field in the patient. //for example the field gender has 2 eqivalent sheet fields in the web_sheetfieldlist for (int i = 0; i < WebSheetFieldList.Count(); i++) { WebSheets.webforms_sheetfield sf = WebSheetFieldList.ElementAt(i); String SheetWebFieldValue = sf.FieldValue; String RadioButtonValue = sf.RadioButtonValue; FillPatientFields(newPat, field, SheetWebFieldValue, RadioButtonValue); } } } try{ Patients.Insert(newPat, false); SecurityLogs.MakeLogEntry(Permissions.PatientCreate, newPat.PatNum, "Created from Web Forms."); //set Guarantor field the same as PatNum Patient patOld = newPat.Copy(); newPat.Guarantor = newPat.PatNum; Patients.Update(newPat, patOld); //If there is an existing HL7 def enabled, send an ADT message if there is an outbound ADT message defined if (HL7Defs.IsExistingHL7Enabled()) { MessageHL7 messageHL7 = MessageConstructor.GenerateADT(newPat, newPat, EventTypeHL7.A04); //patient is guarantor //Will be null if there is no outbound ADT message defined, so do nothing if (messageHL7 != null) { HL7Msg hl7Msg = new HL7Msg(); hl7Msg.AptNum = 0; hl7Msg.HL7Status = HL7MessageStatus.OutPending; //it will be marked outSent by the HL7 service. hl7Msg.MsgText = messageHL7.ToString(); hl7Msg.PatNum = newPat.PatNum; HL7Msgs.Insert(hl7Msg); #if DEBUG MessageBox.Show(this, messageHL7.ToString()); #endif } } } catch (Exception e) { gridMain.EndUpdate(); MessageBox.Show(e.Message); } return(newPat); }