/// <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 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); //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; }