public static string RunOne(bool showForms) { string retVal = ""; long provNum = ProviderC.ListShort[0].ProvNum; //dentist #1 Patient pat = Patients.GetPat(PatientTC.PatNum1); //patient#1 if (pat.PriProv != provNum) { Patient oldPat = pat.Copy(); pat.PriProv = provNum; //this script uses the primary provider for the patient Patients.Update(pat, oldPat); } PatPlan patplan = PatPlans.GetPatPlan(pat.PatNum, 1); InsSub sub = InsSubs.GetOne(patplan.InsSubNum); InsPlan plan = InsPlans.GetPlan(sub.PlanNum, new List <InsPlan>()); //the UI would block this due to carrier not supporting this transaction type. Clearinghouse clearinghouseHq = Clearinghouses.GetDefaultDental(); Clearinghouse clearinghouseClin = Clearinghouses.OverrideFields(clearinghouseHq, Clinics.ClinicNum); long etransNum = CanadianOutput.SendElegibility(clearinghouseClin, pat.PatNum, plan, new DateTime(1999, 1, 1), patplan.Relationship, patplan.PatID, showForms, sub); Etrans etrans = Etranss.GetEtrans(etransNum); string message = EtransMessageTexts.GetMessageText(etrans.EtransMessageTextNum); CCDFieldInputter formData = new CCDFieldInputter(message); string responseStatus = formData.GetValue("G05"); if (responseStatus != "R") { throw new Exception("Should be R"); } retVal += "Eligibility #1 successful.\r\n"; return(retVal); }
private void FormEtrans277Edit_Load(object sender, EventArgs e) { MessageText = EtransMessageTexts.GetMessageText(EtransCur.EtransMessageTextNum); x277 = new X277(MessageText); FillHeader(); FillGrid(); }
public static string RunFour(bool showForms) { string retVal = ""; long provNum = ProviderC.ListShort[1].ProvNum; //dentist #2 Patient pat = Patients.GetPat(PatientTC.PatNum6); //patient#6 if (pat.PriProv != provNum) { Patient oldPat = pat.Copy(); pat.PriProv = provNum; //this script uses the primary provider for the patient Patients.Update(pat, oldPat); } PatPlan patplan = PatPlans.GetPatPlan(pat.PatNum, 1); InsSub sub = InsSubs.GetOne(patplan.InsSubNum); InsPlan plan = InsPlans.GetPlan(sub.PlanNum, new List <InsPlan>()); long etransNum = CanadianOutput.SendElegibility(pat.PatNum, plan, new DateTime(1999, 1, 1), patplan.Relationship, patplan.PatID, showForms, sub); Etrans etrans = Etranss.GetEtrans(etransNum); string message = EtransMessageTexts.GetMessageText(etrans.EtransMessageTextNum); CCDFieldInputter formData = new CCDFieldInputter(message); string responseStatus = formData.GetValue("G05"); if (responseStatus != "M") { throw new Exception("Should be M"); } retVal += "Eligibility #4 successful.\r\n"; return(retVal); }
private void FormEtrans270Edit_Load(object sender, EventArgs e) { MessageText = EtransMessageTexts.GetMessageText(EtransCur.EtransMessageTextNum); MessageTextAck = ""; //textMessageText.Text=MessageText; textNote.Text = EtransCur.Note; EtransAck271 = Etranss.GetEtrans(EtransCur.AckEtransNum); x271 = null; if (EtransAck271 != null) { MessageTextAck = EtransMessageTexts.GetMessageText(EtransAck271.EtransMessageTextNum); //.Replace("~","~\r\n"); if (EtransAck271.Etype == EtransType.BenefitResponse271) { x271 = new X271(MessageTextAck); } } listDTP = new List <DTP271>(); if (x271 != null) { listDTP = x271.GetListDtpSubscriber(); } radioBenefitSendsPat.Checked = (!_isConinsuranceInverted); radioBenefitSendsIns.Checked = (_isConinsuranceInverted); FillGridDates(); CreateListOfBenefits(); FillGrid(); FillGridBen(); if (IsInitialResponse) { SelectForImport(); } long patNum = (EtransCur.PatNum == 0?_subPatNum:EtransCur.PatNum); //Older 270/217s were always for the subscriber and have etrans.PatNum of 0. this.Text += ": " + Patients.GetNameLF(patNum); }
private void FormEtrans270Edit_Load(object sender, EventArgs e) { MessageText = EtransMessageTexts.GetMessageText(EtransCur.EtransMessageTextNum); MessageTextAck = ""; //textMessageText.Text=MessageText; textNote.Text = EtransCur.Note; EtransAck271 = Etranss.GetEtrans(EtransCur.AckEtransNum); x271 = null; if (EtransAck271 != null) { MessageTextAck = EtransMessageTexts.GetMessageText(EtransAck271.EtransMessageTextNum); //.Replace("~","~\r\n"); if (EtransAck271.Etype == EtransType.BenefitResponse271) { x271 = new X271(MessageTextAck); } } listDTP = new List <DTP271>(); if (x271 != null) { listDTP = x271.GetListDtpSubscriber(); } FillGridDates(); CreateListOfBenefits(); FillGrid(); FillGridBen(); if (IsInitialResponse) { SelectForImport(); } }
private void FormEtrans277Edit_Load(object sender, EventArgs e) { MessageText = EtransMessageTexts.GetMessageText(EtransCur.EtransMessageTextNum); try { x277 = new X277(MessageText); } catch (Exception ex) { MessageBox.Show(Lan.g(this, "Claim Status Response not valid. An error occurred while loading: ") + "\r\n" + ex.Message); DialogResult = DialogResult.Cancel; return; } FillHeader(); FillGrid(); }
private void FormEtransEdit_Load(object sender, EventArgs e) { MessageText = EtransMessageTexts.GetMessageText(EtransCur.EtransMessageTextNum); textMessageText.Text = MessageText; textDateTimeTrans.Text = EtransCur.DateTimeTrans.ToString(); textClaimNum.Text = EtransCur.ClaimNum.ToString(); textBatchNumber.Text = EtransCur.BatchNumber.ToString(); textTransSetNum.Text = EtransCur.TransSetNum.ToString(); textAckCode.Text = EtransCur.AckCode; textNote.Text = EtransCur.Note; if (EtransCur.Etype == EtransType.ClaimSent) { if (X12object.IsX12(MessageText)) { X12object x12obj = new X12object(MessageText); if (x12obj.IsFormat4010()) { X837_4010 x837 = new X837_4010(MessageText); checkAttachments.Checked = x837.AttachmentsWereSent(EtransCur.ClaimNum); //This function does not currently work, so the corresponding checkbox is hidden on the form as well. } else if (x12obj.IsFormat5010()) { X837_5010 x837 = new X837_5010(MessageText); checkAttachments.Checked = x837.AttachmentsWereSent(EtransCur.ClaimNum); //This function does not currently work, so the corresponding checkbox is hidden on the form as well. } } } if (EtransCur.AckEtransNum > 0) { AckCur = Etranss.GetEtrans(EtransCur.AckEtransNum); if (AckCur != null) { textAckMessage.Text = EtransMessageTexts.GetMessageText(AckCur.EtransMessageTextNum); textAckDateTime.Text = AckCur.DateTimeTrans.ToString(); textAckNote.Text = AckCur.Note; } } else { AckCur = null; groupAck.Visible = false; } if (!CultureInfo.CurrentCulture.Name.EndsWith("CA")) //Not Canadian. { butPrintAck.Visible = false; } }
private void FormEtrans270Edit_Load(object sender, EventArgs e) { MessageText = EtransMessageTexts.GetMessageText(EtransCur.EtransMessageTextNum); MessageTextAck = ""; //textMessageText.Text=MessageText; textNote.Text = EtransCur.Note; EtransAck271 = Etranss.GetEtrans(EtransCur.AckEtransNum); x271 = null; if (EtransAck271 != null) { MessageTextAck = EtransMessageTexts.GetMessageText(EtransAck271.EtransMessageTextNum); //.Replace("~","~\r\n"); if (EtransAck271.Etype == EtransType.BenefitResponse271) { x271 = new X271(MessageTextAck); } } listDTP = new List <DTP271>(); if (x271 != null) { listDTP = x271.GetListDtpSubscriber(); textResponseGroupNum.Text = x271.GetGroupNum(); } if (textCurrentGroupNum.Text != textResponseGroupNum.Text) { errorProviderGroupNum.SetError(textCurrentGroupNum, Lan.g(this, "Mismatched group number.")); } radioBenefitSendsPat.Checked = (!_isConinsuranceInverted); radioBenefitSendsIns.Checked = (_isConinsuranceInverted); FillGridDates(); CreateListOfBenefits(); FillGrid(); FillGridBen(); if (IsInitialResponse) { SelectForImport(); } long patNum = (EtransCur.PatNum == 0?_subPatNum:EtransCur.PatNum); //Older 270/217s were always for the subscriber and have etrans.PatNum of 0. this.Text += ": " + Patients.GetNameLF(patNum); if (Clearinghouses.GetFirstOrDefault(x => x.ClearinghouseNum == EtransCur.ClearingHouseNum)?.CommBridge == EclaimsCommBridge.EDS && EtransAck271 != null && EtransAck271.AckEtransNum != 0) { _htmlResponse = EtransMessageTexts.GetMessageText(Etranss.GetEtrans(EtransAck271.AckEtransNum).EtransMessageTextNum); butPrint.Visible = true; } }
public static string Run(int scriptNum, string responseExpected, Claim claim) { string retVal = ""; InsPlan insPlan = InsPlans.GetPlan(claim.PlanNum, null); InsSub insSub = InsSubs.GetOne(claim.InsSubNum); long etransNum = CanadianOutput.SendClaimReversal(claim, insPlan, insSub); Etrans etrans = Etranss.GetEtrans(etransNum); string message = EtransMessageTexts.GetMessageText(etrans.EtransMessageTextNum); CCDFieldInputter formData = new CCDFieldInputter(message); string responseStatus = formData.GetValue("G05"); if (responseStatus != responseExpected) { return("G05 should be " + responseExpected + "\r\n"); } retVal += "Reversal #" + scriptNum.ToString() + " successful.\r\n"; return(retVal); }
public static string Run(int scriptNum, string responseExpected, string responseTypeExpected, Claim claim, bool showForms, int pageNumber, int lastPageNumber, double firstExamFee, double diagnosticPhaseFee) { string retVal = ""; ClaimSendQueueItem queueItem = Claims.GetQueueList(claim.ClaimNum, claim.ClinicNum, 0)[0]; Clearinghouse clearinghouseHq = ClearinghouseL.GetClearinghouseHq(queueItem.ClearinghouseNum); Clearinghouse clearinghouseClin = Clearinghouses.OverrideFields(clearinghouseHq, Clinics.ClinicNum); Eclaims.GetMissingData(clearinghouseClin, queueItem); //,out warnings); if (queueItem.MissingData != "") { return("Cannot send predetermination until missing data is fixed:\r\n" + queueItem.MissingData + "\r\n"); } #if DEBUG Canadian.testNumber = scriptNum; claim.PreAuthString = "" + pageNumber + "," + lastPageNumber + "," + firstExamFee + "," + diagnosticPhaseFee; #endif long etransNum = Canadian.SendClaim(clearinghouseClin, queueItem, showForms); Etrans etrans = Etranss.GetEtrans(etransNum); string message = EtransMessageTexts.GetMessageText(etrans.EtransMessageTextNum); CCDFieldInputter formData = new CCDFieldInputter(message); string responseType = formData.GetValue("A04"); if (responseType != responseTypeExpected) { return("Form type is '" + responseType + "' but should be '" + responseTypeExpected + "'\r\n"); } string responseStatus = formData.GetValue("G05"); if (responseStatus != responseExpected) { return("G05 is '" + responseStatus + "' but should be '" + responseExpected + "'\r\n"); } if (responseExpected == "R" && responseTypeExpected == "11") { //so far, only for #6. We need some other way to test if successful transaction string errorMsgCount = formData.GetValue("G06"); if (errorMsgCount == "00") { return("Wrong message count.\r\n"); } } retVal += "Predetermination #" + scriptNum + " page " + pageNumber + " of " + lastPageNumber + " successful.\r\n"; return(retVal); }
public static string Run(int scriptNum, string responseExpected, string responseTypeExpected, Claim claim, bool showForms) { string retVal = ""; ClaimSendQueueItem queueItem = Claims.GetQueueList(claim.ClaimNum, claim.ClinicNum, 0)[0]; Clearinghouse clearinghouseHq = ClearinghouseL.GetClearinghouseHq(queueItem.ClearinghouseNum); Clearinghouse clearinghouseClin = Clearinghouses.OverrideFields(clearinghouseHq, Clinics.ClinicNum); Eclaims.GetMissingData(clearinghouseClin, queueItem); //,out warnings); if (queueItem.MissingData != "") { return("Cannot send claim until missing data is fixed:\r\n" + queueItem.MissingData + "\r\n"); } #if DEBUG Canadian.testNumber = scriptNum; #endif long etransNum = Canadian.SendClaim(clearinghouseClin, queueItem, showForms); Etrans etrans = Etranss.GetEtrans(etransNum); string message = EtransMessageTexts.GetMessageText(etrans.EtransMessageTextNum); CCDFieldInputter formData = new CCDFieldInputter(message); string responseType = formData.GetValue("A04"); if (responseType != responseTypeExpected) { return("Form type should be " + responseTypeExpected + "\r\n"); } string responseStatus = formData.GetValue("G05"); if (responseStatus != responseExpected) { return("G05 should be " + responseExpected + "\r\n"); } if (responseExpected == "R" && responseTypeExpected == "11") { //so far, only for #6. We need some other way to test if successful transaction string errorMsgCount = formData.GetValue("G06"); if (errorMsgCount == "00") { return("Wrong message count.\r\n"); } } retVal += "Claim #" + scriptNum.ToString() + " successful.\r\n"; return(retVal); }
public static string Run(int scriptNum, string responseExpected, Claim claim) { string retVal = ""; InsPlan insPlan = InsPlans.GetPlan(claim.PlanNum, null); InsSub insSub = InsSubs.GetOne(claim.InsSubNum); Carrier carrier = Carriers.GetCarrier(insPlan.CarrierNum); Clearinghouse clearinghouseHq = Clearinghouses.GetClearinghouse(Clearinghouses.AutomateClearinghouseHqSelection(carrier.ElectID, claim.MedType)); Clearinghouse clearinghouseClin = Clearinghouses.OverrideFields(clearinghouseHq, Clinics.ClinicNum); long etransNum = CanadianOutput.SendClaimReversal(clearinghouseClin, claim, insPlan, insSub); Etrans etrans = Etranss.GetEtrans(etransNum); string message = EtransMessageTexts.GetMessageText(etrans.EtransMessageTextNum); CCDFieldInputter formData = new CCDFieldInputter(message); string responseStatus = formData.GetValue("G05"); if (responseStatus != responseExpected) { return("G05 should be " + responseExpected + "\r\n"); } retVal += "Reversal #" + scriptNum.ToString() + " successful.\r\n"; return(retVal); }
private void FormEtransEdit_Load(object sender, EventArgs e) { MessageText = EtransMessageTexts.GetMessageText(EtransCur.EtransMessageTextNum); textMessageText.Text = MessageText; textDateTimeTrans.Text = EtransCur.DateTimeTrans.ToString(); textClaimNum.Text = EtransCur.ClaimNum.ToString(); textBatchNumber.Text = EtransCur.BatchNumber.ToString(); textTransSetNum.Text = EtransCur.TransSetNum.ToString(); textAckCode.Text = EtransCur.AckCode; textNote.Text = EtransCur.Note; if (EtransCur.Etype == EtransType.ClaimSent) { if (X12object.IsX12(MessageText)) { //TODO: we need to do something different here for 5010s. X837_4010 x837 = new X837_4010(MessageText); checkAttachments.Checked = x837.AttachmentsWereSent(EtransCur.ClaimNum); } } if (EtransCur.AckEtransNum > 0) { AckCur = Etranss.GetEtrans(EtransCur.AckEtransNum); if (AckCur != null) { textAckMessage.Text = EtransMessageTexts.GetMessageText(AckCur.EtransMessageTextNum); textAckDateTime.Text = AckCur.DateTimeTrans.ToString(); } groupAck.Text = Lan.g(this, "Acknowledgement"); } else { AckCur = null; groupAck.Visible = false; } if (!CultureInfo.CurrentCulture.Name.EndsWith("CA")) //Not Canadian. { butPrintAck.Visible = false; } }
private void FormEtrans835Edit_Load(object sender, EventArgs e) { MessageText = EtransMessageTexts.GetMessageText(EtransCur.EtransMessageTextNum); x835 = new X835(MessageText); FillAll(); }