public static void UpdateList(List <ClaimValCodeLog> vCodes) { if (RemotingClient.RemotingRole == RemotingRole.ClientWeb) { Meth.GetVoid(MethodBase.GetCurrentMethod(), vCodes); return; } for (int i = 0; i < vCodes.Count; i++) { ClaimValCodeLog vc = vCodes[i]; if (vc.ClaimValCodeLogNum == 0) { Crud.ClaimValCodeLogCrud.Insert(vc); } else { Crud.ClaimValCodeLogCrud.Update(vc); } } }
///<summary>Updates this claim to the database.</summary> private void UpdateClaim(){ if(notAuthorized){ return; } //patnum ClaimCur.DateService=PIn.Date(textDateService.Text); if(textDateSent.Text==""){ ClaimCur.DateSent=DateTime.MinValue; } else{ ClaimCur.DateSent=PIn.Date(textDateSent.Text); } bool wasSentOrReceived=false; switch(comboClaimStatus.SelectedIndex){ case 0: ClaimCur.ClaimStatus="U"; break; case 1: ClaimCur.ClaimStatus="H"; break; case 2: ClaimCur.ClaimStatus="W"; break; case 3: ClaimCur.ClaimStatus="P"; break; case 4: ClaimCur.ClaimStatus="S"; wasSentOrReceived=true; break; case 5: ClaimCur.ClaimStatus="R"; wasSentOrReceived=true; break; } //claimType can't be changed here. ClaimCur.MedType=(EnumClaimMedType)comboMedType.SelectedIndex; if(comboClaimForm.SelectedIndex==0){ ClaimCur.ClaimForm=0; } else{ ClaimCur.ClaimForm=ClaimForms.ListShort[comboClaimForm.SelectedIndex-1].ClaimFormNum; } if(textDateRec.Text==""){ ClaimCur.DateReceived=DateTime.MinValue; } else{ ClaimCur.DateReceived=PIn.Date(textDateRec.Text); } //planNum ClaimCur.SpecialProgramCode=(EnumClaimSpecialProgram)comboSpecialProgram.SelectedIndex; ClaimCur.CustomTracking=0; if(comboCustomTracking.Visible && comboCustomTracking.SelectedIndex!=0) { ClaimCur.CustomTracking=DefC.Long[(int)DefCat.ClaimCustomTracking][comboCustomTracking.SelectedIndex-1].DefNum; } //patRelats will always be selected ClaimCur.PatRelat=(Relat)comboPatRelat.SelectedIndex; ClaimCur.PatRelat2=(Relat)comboPatRelat2.SelectedIndex; if(comboProvTreat.SelectedIndex!=-1){ ClaimCur.ProvTreat=ProviderC.ListShort[comboProvTreat.SelectedIndex].ProvNum; } ClaimCur.PriorAuthorizationNumber=textPriorAuth.Text; ClaimCur.PreAuthString=textPredeterm.Text; //isprosthesis handled earlier ClaimCur.PriorDate=PIn.Date(textPriorDate.Text); ClaimCur.ReasonUnderPaid=textReasonUnder.Text; ClaimCur.ClaimNote=textNote.Text; //ispreauth if(comboProvBill.SelectedIndex!=-1){ ClaimCur.ProvBill=ProviderC.ListShort[comboProvBill.SelectedIndex].ProvNum; } ClaimCur.IsOrtho=checkIsOrtho.Checked; ClaimCur.OrthoRemainM=PIn.Byte(textOrthoRemainM.Text); ClaimCur.OrthoDate=PIn.Date(textOrthoDate.Text); ClaimCur.RefNumString=textRefNum.Text; ClaimCur.PlaceService=(PlaceOfService)comboPlaceService.SelectedIndex; ClaimCur.EmployRelated=(YN)comboEmployRelated.SelectedIndex; switch(comboAccident.SelectedIndex){ case 0: ClaimCur.AccidentRelated=""; break; case 1: ClaimCur.AccidentRelated="A"; break; case 2: ClaimCur.AccidentRelated="E"; break; case 3: ClaimCur.AccidentRelated="O"; break; } //AccidentDate is further down ClaimCur.AccidentST=textAccidentST.Text; if(comboClinic.SelectedIndex==0){//none ClaimCur.ClinicNum=0; } else{ ClaimCur.ClinicNum=Clinics.List[comboClinic.SelectedIndex-1].ClinicNum; } ClaimCur.DateResent=PIn.Date(textDateResent.Text); ClaimCur.CorrectionType=(ClaimCorrectionType)Enum.GetValues(typeof(ClaimCorrectionType)).GetValue(comboCorrectionType.SelectedIndex); ClaimCur.ClaimIdentifier=textClaimIdentifier.Text; ClaimCur.OrigRefNum=textOrigRefNum.Text; //attachments ClaimCur.Radiographs=PIn.Byte(textRadiographs.Text); ClaimCur.AttachedImages=PIn.Int(textAttachImages.Text); ClaimCur.AttachedModels=PIn.Int(textAttachModels.Text); List<string> flags=new List<string>(); if(checkAttachEoB.Checked){ flags.Add("EoB"); } if(checkAttachNarrative.Checked){ flags.Add("Note"); } if(checkAttachPerio.Checked){ flags.Add("Perio"); } if(checkAttachMisc.Checked){ flags.Add("Misc"); } if(radioAttachMail.Checked){ flags.Add("Mail"); } if(radioAttachElect.Checked){ flags.Add("Elect"); } ClaimCur.AttachedFlags=""; for(int i=0;i<flags.Count;i++){ if(i>0){ ClaimCur.AttachedFlags+=","; } ClaimCur.AttachedFlags+=flags[i]; } ClaimCur.AttachmentID=textAttachID.Text; //Canadian--------------------------------------------------------------------------------- if(CultureInfo.CurrentCulture.Name.EndsWith("CA")) {//Canadian. en-CA or fr-CA ClaimCur.CanadianMaterialsForwarded=""; if(checkEmail.Checked) { ClaimCur.CanadianMaterialsForwarded+="E"; } if(checkCorrespondence.Checked) { ClaimCur.CanadianMaterialsForwarded+="C"; } if(checkModels.Checked) { ClaimCur.CanadianMaterialsForwarded+="M"; } if(checkXrays.Checked) { ClaimCur.CanadianMaterialsForwarded+="X"; } if(checkImages.Checked) { ClaimCur.CanadianMaterialsForwarded+="I"; } ClaimCur.CanadianReferralProviderNum=textReferralProvider.Text; ClaimCur.CanadianReferralReason=(byte)comboReferralReason.SelectedIndex; ClaimCur.AccidentDate=PIn.Date(textCanadianAccidentDate.Text); ClaimCur.IsOrtho=checkCanadianIsOrtho.Checked; //max prosth----------------------------------------------------------------------------------------------------- switch(comboMaxProsth.SelectedIndex) { case 0: ClaimCur.CanadianIsInitialUpper=""; break; case 1: ClaimCur.CanadianIsInitialUpper="Y"; break; case 2: ClaimCur.CanadianIsInitialUpper="N"; break; case 3: ClaimCur.CanadianIsInitialUpper="X"; break; } ClaimCur.CanadianDateInitialUpper=PIn.Date(textDateInitialUpper.Text); ClaimCur.CanadianMaxProsthMaterial=(byte)comboMaxProsthMaterial.SelectedIndex; //mand prosth----------------------------------------------------------------------------------------------------- switch(comboMandProsth.SelectedIndex) { case 0: ClaimCur.CanadianIsInitialLower=""; break; case 1: ClaimCur.CanadianIsInitialLower="Y"; break; case 2: ClaimCur.CanadianIsInitialLower="N"; break; case 3: ClaimCur.CanadianIsInitialLower="X"; break; } ClaimCur.CanadianDateInitialLower=PIn.Date(textDateInitialLower.Text); ClaimCur.CanadianMandProsthMaterial=(byte)comboMandProsthMaterial.SelectedIndex; //ortho treatment if(groupCanadaOrthoPredeterm.Enabled && textDateCanadaEstTreatStartDate.Text!="" && textCanadaInitialPayment.Text!="" && textCanadaExpectedPayCycle.Text!="" && textCanadaTreatDuration.Text!="" && textCanadaNumPaymentsAnticipated.Text!="" && textCanadaAnticipatedPayAmount.Text!="") { ClaimCur.CanadaEstTreatStartDate=DateTime.Parse(textDateCanadaEstTreatStartDate.Text); ClaimCur.CanadaInitialPayment=Double.Parse(textCanadaInitialPayment.Text); ClaimCur.CanadaPaymentMode=byte.Parse(textCanadaExpectedPayCycle.Text); ClaimCur.CanadaTreatDuration=byte.Parse(textCanadaTreatDuration.Text); ClaimCur.CanadaNumAnticipatedPayments=byte.Parse(textCanadaNumPaymentsAnticipated.Text); ClaimCur.CanadaAnticipatedPayAmount=Double.Parse(textCanadaAnticipatedPayAmount.Text); } else { ClaimCur.CanadaEstTreatStartDate=DateTime.MinValue; ClaimCur.CanadaInitialPayment=0; ClaimCur.CanadaPaymentMode=0; ClaimCur.CanadaTreatDuration=0; ClaimCur.CanadaNumAnticipatedPayments=0; ClaimCur.CanadaAnticipatedPayAmount=0; } }//End Canadian----------------------------------------------------------------------------- else { ClaimCur.AccidentDate=PIn.Date(textAccidentDate.Text); ClaimCur.IsOrtho=checkIsOrtho.Checked; } ClaimCur.UniformBillType=textBillType.Text; ClaimCur.AdmissionTypeCode=textAdmissionType.Text; ClaimCur.AdmissionSourceCode=textAdmissionSource.Text; ClaimCur.PatientStatusCode=textPatientStatus.Text; Claims.Update(ClaimCur); if(ListClaimValCodes!=null){ for(int i=0;i<ListClaimValCodes.Count;i++){ //update existing Value Code pairs ClaimValCodeLog vc = (ClaimValCodeLog)ListClaimValCodes[i]; TextBox code = (TextBox)Controls.Find("textVC" + i + "Code", true)[0]; vc.ValCode=code.Text.ToString(); TextBox amount = (TextBox)Controls.Find("textVC" + i + "Amount", true)[0]; string amt = amount.Text; if(amt=="") { amt = "0"; } vc.ValAmount=Double.Parse(amt); } for(int i=(ListClaimValCodes.Count);i<12;i++){ //add new Value Code pairs ClaimValCodeLog vc = new ClaimValCodeLog(); TextBox code = (TextBox)Controls.Find("textVC" + i + "Code", true)[0]; vc.ValCode=code.Text.ToString(); TextBox amount = (TextBox)Controls.Find("textVC" + i + "Amount", true)[0]; string amt = amount.Text; if(amt=="") { amt = "0"; } vc.ValAmount=Double.Parse(amt); vc.ClaimNum=ClaimCur.ClaimNum; vc.ClaimValCodeLogNum=0; if(vc.ValCode!="" || vc.ValAmount!=0){ ListClaimValCodes.Add(vc); } } ClaimValCodeLogs.UpdateList(ListClaimValCodes); } if(ClaimCondCodeLogCur!=null || textCode0.Text!="" || textCode1.Text!="" || textCode2.Text!="" || textCode3.Text!="" || textCode4.Text!="" || textCode5.Text!="" || textCode6.Text!="" || textCode7.Text!="" || textCode8.Text!="" || textCode9.Text!="" || textCode10.Text!="") { if(ClaimCondCodeLogCur==null) { ClaimCondCodeLogCur=new ClaimCondCodeLog(); ClaimCondCodeLogCur.ClaimNum=ClaimCur.ClaimNum; ClaimCondCodeLogCur.IsNew=true; } ClaimCondCodeLogCur.Code0=textCode0.Text; ClaimCondCodeLogCur.Code1=textCode1.Text; ClaimCondCodeLogCur.Code2=textCode2.Text; ClaimCondCodeLogCur.Code3=textCode3.Text; ClaimCondCodeLogCur.Code4=textCode4.Text; ClaimCondCodeLogCur.Code5=textCode5.Text; ClaimCondCodeLogCur.Code6=textCode6.Text; ClaimCondCodeLogCur.Code7=textCode7.Text; ClaimCondCodeLogCur.Code8=textCode8.Text; ClaimCondCodeLogCur.Code9=textCode9.Text; ClaimCondCodeLogCur.Code10=textCode10.Text; if(ClaimCondCodeLogCur.IsNew) { ClaimCondCodeLogs.Insert(ClaimCondCodeLogCur); } else { ClaimCondCodeLogs.Update(ClaimCondCodeLogCur); } } for(int i=0;i<ClaimProcsForClaim.Count;i++) { Procedure proc=Procedures.GetProcFromList(ProcList,ClaimProcsForClaim[i].ProcNum); if(proc.PlaceService!=ClaimCur.PlaceService) { Procedure oldProc=proc.Copy(); proc.PlaceService=ClaimCur.PlaceService; Procedures.Update(proc,oldProc); } } if(wasSentOrReceived){ SecurityLogs.MakeLogEntry(Permissions.ClaimSentEdit,ClaimCur.PatNum, PatCur.GetNameLF()+", " +Lan.g(this,"Date of service: ")+ClaimCur.DateService.ToShortDateString()); } }
///<summary>Updates this claim to the database.</summary> private void UpdateClaim(){ if(notAuthorized){ return; } //patnum ClaimCur.DateService=PIn.Date(textDateService.Text); if(textDateSent.Text==""){ ClaimCur.DateSent=DateTime.MinValue; } else{ ClaimCur.DateSent=PIn.Date(textDateSent.Text); } bool wasSentOrReceived=false; switch(listClaimStatus.SelectedIndex){ case 0: ClaimCur.ClaimStatus="U"; break; case 1: ClaimCur.ClaimStatus="H"; break; case 2: ClaimCur.ClaimStatus="W"; break; case 3: ClaimCur.ClaimStatus="P"; break; case 4: ClaimCur.ClaimStatus="S"; wasSentOrReceived=true; break; case 5: ClaimCur.ClaimStatus="R"; wasSentOrReceived=true; break; } if(textDateRec.Text==""){ ClaimCur.DateReceived=DateTime.MinValue; } else{ ClaimCur.DateReceived=PIn.Date(textDateRec.Text); } //planNum //patRelats will always be selected ClaimCur.PatRelat=(Relat)comboPatRelat.SelectedIndex; ClaimCur.PatRelat2=(Relat)comboPatRelat2.SelectedIndex; if(comboProvTreat.SelectedIndex!=-1){ ClaimCur.ProvTreat=ProviderC.ListShort[comboProvTreat.SelectedIndex].ProvNum; } ClaimCur.PreAuthString=textPreAuth.Text; if(comboProvBill.SelectedIndex!=-1){ ClaimCur.ProvBill=ProviderC.ListShort[comboProvBill.SelectedIndex].ProvNum; } if(comboClinic.SelectedIndex==0){//none ClaimCur.ClinicNum=0; } else{ ClaimCur.ClinicNum=Clinics.List[comboClinic.SelectedIndex-1].ClinicNum; } Claims.Update(ClaimCur); if(ClaimValCodes!=null){ for(int i=0;i<ClaimValCodes.Count;i++){ //update existing Value Code pairs ClaimValCodeLog vc = (ClaimValCodeLog)ClaimValCodes[i]; TextBox code = (TextBox)Controls.Find("textVC" + i + "Code", true)[0]; vc.ValCode=code.Text.ToString(); TextBox amount = (TextBox)Controls.Find("textVC" + i + "Amount", true)[0]; string amt = amount.Text; if(amt=="") { amt = "0"; } vc.ValAmount=Double.Parse(amt); } for(int i=(ClaimValCodes.Count);i<12;i++){ //add new Value Code pairs ClaimValCodeLog vc = new ClaimValCodeLog(); TextBox code = (TextBox)Controls.Find("textVC" + i + "Code", true)[0]; vc.ValCode=code.Text.ToString(); TextBox amount = (TextBox)Controls.Find("textVC" + i + "Amount", true)[0]; string amt = amount.Text; if(amt=="") { amt = "0"; } vc.ValAmount=Double.Parse(amt); vc.ClaimNum=ClaimCur.ClaimNum; vc.ClaimValCodeLogNum=0; if(vc.ValCode!="" || vc.ValAmount!=0){ ClaimValCodes.Add(vc); } } ClaimValCodeLogs.UpdateList(ClaimValCodes); } if(wasSentOrReceived){ SecurityLogs.MakeLogEntry(Permissions.ClaimSentEdit,ClaimCur.PatNum, PatCur.GetNameLF()+", " +Lan.g(this,"Date of service: ")+ClaimCur.DateService.ToShortDateString()); } }
private void FillMedValueCodes(){ ListClaimValCodeLog = ClaimValCodeLogs.GetForClaim(ClaimCur.ClaimNum); if(ListClaimValCodeLog.Count>0){ ClaimValCodeLog[] vcA; vcA = new ClaimValCodeLog[12]; for(int i=0;i<ListClaimValCodeLog.Count;i++){ vcA[i]=(ClaimValCodeLog)ListClaimValCodeLog[i]; } for(int i=ListClaimValCodeLog.Count;i<12;i++){ vcA[i]= new ClaimValCodeLog(); } for(int i=0;i<ClaimFormCur.Items.Length;i++){ switch(ClaimFormCur.Items[i].FieldName){ case "MedValCode39a": displayStrings[i]=vcA[0].ValCode; break; case "MedValAmount39a": if(vcA[0].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i]=vcA[0].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[0].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode39b": if(vcA[3]!=null) displayStrings[i]=vcA[3].ValCode; break; case "MedValAmount39b": if(vcA[3].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[3].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[3].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode39c": if(vcA[6]!=null) displayStrings[i]=vcA[6].ValCode; break; case "MedValAmount39c": if(vcA[6].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[6].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[6].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode39d": if(vcA[9]!=null) displayStrings[i]=vcA[9].ValCode; break; case "MedValAmount39d": if(vcA[9].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[9].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[9].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode40a": if(vcA[1]!=null) { displayStrings[i]=vcA[1].ValCode; } break; case "MedValAmount40a": if(vcA[1].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[1].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[1].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode40b": if(vcA[4]!=null) { displayStrings[i]=vcA[4].ValCode; } break; case "MedValAmount40b": if(vcA[4].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[4].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[4].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode40c": if(vcA[7]!=null) { displayStrings[i]=vcA[7].ValCode; } break; case "MedValAmount40c": if(vcA[7].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[7].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[7].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode40d": if(vcA[10]!=null) displayStrings[i]=vcA[10].ValCode; break; case "MedValAmount40d": if(vcA[10].ValAmount==0){ displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[10].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[10].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode41a": if(vcA[2]!=null) displayStrings[i]=vcA[2].ValCode; break; case "MedValAmount41a": if(vcA[2].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[2].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[2].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode41b": if(vcA[5]!=null) { displayStrings[i]=vcA[5].ValCode; } break; case "MedValAmount41b": if(vcA[5].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[5].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[5].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode41c": if(vcA[8]!=null) { displayStrings[i]=vcA[8].ValCode; } break; case "MedValAmount41c": if(vcA[8].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[8].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[8].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; case "MedValCode41d": if(vcA[11]!=null) displayStrings[i]=vcA[11].ValCode; break; case "MedValAmount41d": if(vcA[11].ValAmount==0) { displayStrings[i]=""; } else if(ClaimFormCur.Items[i].FormatString == "NoDec") { displayStrings[i] = vcA[11].ValAmount.ToString("F").Replace("."," "); } else { displayStrings[i]=vcA[11].ValAmount.ToString(ClaimFormCur.Items[i].FormatString); } break; } } } }
private void GetValCodes(List<ClaimValCodeLog> listClaimValCodes,int valCodeIdx,long claimNum,TextBox textVCCode,TextBox textVCAmount) { if(valCodeIdx<listClaimValCodes.Count) {//update existing ClaimValCodeLog listClaimValCodes[valCodeIdx].ValCode=textVCCode.Text; listClaimValCodes[valCodeIdx].ValAmount=PIn.Double(textVCAmount.Text); } else if(PIn.Double(textVCAmount.Text)>0 || textVCCode.Text!="") {//add a new ClaimValCodeLog ClaimValCodeLog claimVC=new ClaimValCodeLog(); claimVC.ValCode=textVCCode.Text; claimVC.ValAmount=PIn.Double(textVCAmount.Text); claimVC.ClaimNum=claimNum; listClaimValCodes.Add(claimVC); } }