public ActionResult Index() { PatientOrder ptOrder = new PatientOrder(); HttpCookie lastEpiRowId = new HttpCookie("EpiRowId"); repo = new FloorPlanRepository(); if (Request.QueryString["epiRowId"] != null) { epiRowId = Request.QueryString["epiRowId"]; lastEpiRowId["lastEpiRowId"] = epiRowId; lastEpiRowId.Expires = DateTime.Now.AddHours(1); Response.Cookies.Add(lastEpiRowId); } if (string.IsNullOrEmpty(epiRowId)) { if (Request.Cookies["EpiRowId"] == null) { return View(); } epiRowId = Request.Cookies["EpiRowId"]["lastEpiRowId"]; } ptOrder = repo.GetPatientOrder(epiRowId); ViewData["PatientOrder"] = ptOrder; return View(); }
public ActionResult Create(PatientOrder patientOrder) { PatientOrder po = new PatientOrder(); //po.CreationDate = DateTime.Now; try { if (ModelState.IsValid) { db.PatientOrders.Add(patientOrder); db.SaveChanges(); return(RedirectToAction("Index")); } } catch (RetryLimitExceededException) { ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } catch (Exception ex) { ModelState.AddModelError("", ex); //System.Console.WriteLine(ex); } return(View(patientOrder)); }
public static PatientOrder DataTableToPatientOrder(DataTable dtOneDay, DataTable dtContinue) { PatientOrder ptOrder = new PatientOrder(); List <Order> orderOneDayList = new List <Order>(); List <Order> orderContinueList = new List <Order>(); foreach (DataRow row in dtOneDay.Rows) { Order orderOneDay = new Order(); orderOneDay.ARCIM_Desc = row["ARCIM_Desc"].ToString(); orderOneDay.OEORI_PhQtyOrd = Convert.ToDecimal(row["OEORI_PhQtyOrd"].ToString()); orderOneDay.CTUOM_Code = row["CTUOM_Code"].ToString(); orderOneDay.PHCIN_Desc1 = row["PHCIN_Desc1"].ToString(); orderOneDayList.Add(orderOneDay); } foreach (DataRow row in dtContinue.Rows) { Order orderContinue = new Order(); orderContinue.ARCIM_Desc = row["ARCIM_Desc"].ToString(); orderContinue.OEORI_PhQtyOrd = Convert.ToDecimal(row["OEORI_PhQtyOrd"].ToString()); orderContinue.CTUOM_Code = row["CTUOM_Code"].ToString(); orderContinue.PHCIN_Desc1 = row["PHCIN_Desc1"].ToString(); orderContinueList.Add(orderContinue); } ptOrder.OneDay = orderOneDayList; ptOrder.Continue = orderContinueList; return(ptOrder); }
public void ORMOutBound(ORMOutbound pAck) { if (pAck != null) { bool ret = false; PatientOrder order = null; StatusManagerParams parms = null; try { switch (pAck.OrderStatus) { case "IP": case "SC": order = new PatientOrder(); ret = order.startOrder(pAck.OrderId, "", parms); break; case "CM": order = new PatientOrder(); ret = order.completeOrder(pAck.OrderId, "", parms); break; case "DC": order = new PatientOrder(); ret = order.discontinueOrder(pAck.OrderId, "", parms); break; case "CA": order = new PatientOrder(); parms = new StatusManagerParams(); parms.comments = pAck.Comment; ret = order.cancelOrder(pAck.OrderId, "", parms); break; } } catch (Exception ex) { ret = false; Log.createLog(pAck.MessageControlId, mzk_messagetype.ORM01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AE, ex.Message); throw ex; } if (ret) { if (!Log.createLog(pAck.MessageControlId, mzk_messagetype.ORM01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AA, "")) { throw new ValidationException("Unable to create ADT08 message log"); } } } }
public ActionResult Delete(int id = 0) { PatientOrder patientOrder = db.PatientOrders.SingleOrDefault(p => p.PatientOrderId == id); if (patientOrder == null) { return(HttpNotFound()); } return(View(patientOrder)); }
public static PatientOrder GetPatientOrder(string epiRowId) { PatientOrder ptOrder = new PatientOrder(); var dtOneDay = InterSystemsDA.DTBindDataCommand(PatientFloorPlanQueryString.GetPatientOrder(epiRowId, "OneDay"), conString); var dtContinue = InterSystemsDA.DTBindDataCommand(PatientFloorPlanQueryString.GetPatientOrder(epiRowId, "Continue"), conString); ptOrder = Helper.DataTableToPatientOrder(dtOneDay, dtContinue); return(ptOrder); }
public ActionResult DeleteConfirmed(int id) { PatientOrder patOrder = new PatientOrder(); PatientOrder patientOrder = db.PatientOrders.SingleOrDefault(p => p.PatientOrderId == id); db.PatientOrders.Remove(patientOrder); TryUpdateModel <PatientOrder>(patOrder); db.SaveChanges(); return(RedirectToAction("Index")); }
public PatientOrder GetPatientOrder(string epiRowId, string dateFrom, string dateTo) { PatientOrder ptOrder = new PatientOrder(); var dtOneDay = InterSystemsDA.DTBindDataCommand(QueryString.GetOrders(epiRowId, dateFrom, dateTo, "OneDay"), conString); var dtContinue = InterSystemsDA.DTBindDataCommand(QueryString.GetOrders(epiRowId, dateFrom, dateTo, "Continue"), conString); ptOrder = Helper.DataTableToPatientOrder(epiRowId, dtOneDay, dtContinue); return(ptOrder); }
//Get : /Patient Order /Update public ActionResult Edit(int?id) { PatientOrder patOrder = new PatientOrder(); //id = pat.MedicalRecordNumber; PatientOrder patientOrder = db.PatientOrders.SingleOrDefault(p => p.PatientOrderId == id); if (patientOrder == null) { return(HttpNotFound());//Check code } return(View(patientOrder)); }
public void ORUResult(RIS_OrderResult pAck) { if (pAck != null) { bool ret = false; PatientOrder order = null; StatusManagerParams parms = null; PatientRadiologyOrder radiologyOrder = null; try { if (pAck.ResultStatus == "F" && pAck.ReportStatus == "GDT") { order = new PatientOrder(); ret = order.verifiedReportedOrder(pAck.OrderId, "", parms); } radiologyOrder = new PatientRadiologyOrder(); radiologyOrder.Id = pAck.OrderId; radiologyOrder.ReportPath = pAck.ReportPath; radiologyOrder.ResultStatus = pAck.ResultStatus; radiologyOrder.RISLink = pAck.ImageUrl; if (!radiologyOrder.updateResult(radiologyOrder).Result) { throw new ValidationException("Unable to update patient result"); } ret = true; } catch (Exception ex) { ret = false; Log.createLog(pAck.MessageControlId, mzk_messagetype.ORU01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AE, ex.Message); throw ex; } if (ret) { if (!Log.createLog(pAck.MessageControlId, mzk_messagetype.ORU01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AA)) { throw new ValidationException("Unable to create ORU message log"); } } } }
public async Task <HttpResponseMessage> createCaseTransByCase(PatientOrder inputmodel) { bool result = false; Dictionary <string, string> dictionary = new Dictionary <string, string>(); try { ApiResponseModel <bool> model = new ApiResponseModel <bool>(); var client = ServiceFactory.GetService(typeof(PatientOrder)); //dictionary = await client.getWorkOrderProduct(inputmodel.Id); //result = await client.createCaseTransByCase(dictionary["mzk_caseid"] , "", dictionary["msdyn_product"], mzk_orderstatus.Ordered, dictionary["mzk_axclinicrefrecid"]); result = await client.createCaseTransByCase(inputmodel.CaseId, "", inputmodel.product, mzk_orderstatus.Ordered, inputmodel.clinicid); model.data.records = result; return(Response.Success <bool>(model)); } catch (Exception ex) { return(Response.Exception(ex)); } }
public static PatientOrder GetPatientOrderTest(string epiRowId) { PatientOrder ptOrder = new PatientOrder(); List <Order> orderOneDay = new List <Order> { new Order { ARCIM_Desc = "เทส1", CTUOM_Code = "test1", OEORI_PhQtyOrd = 1, PHCIN_Desc1 = "ใส่ใจ" }, new Order { ARCIM_Desc = "testO2", CTUOM_Code = "test2", OEORI_PhQtyOrd = 1, PHCIN_Desc1 = "test2" }, new Order { ARCIM_Desc = "testO3", CTUOM_Code = "test3", OEORI_PhQtyOrd = 1, PHCIN_Desc1 = "test3" } }; List <Order> orderContinue = new List <Order> { new Order { ARCIM_Desc = "testC1", CTUOM_Code = "test1", OEORI_PhQtyOrd = 1, PHCIN_Desc1 = "test1" }, new Order { ARCIM_Desc = "testC2", CTUOM_Code = "test2", OEORI_PhQtyOrd = 1, PHCIN_Desc1 = "test2" }, new Order { ARCIM_Desc = "เทส3", CTUOM_Code = "test3", OEORI_PhQtyOrd = 1, PHCIN_Desc1 = "test3" } }; ptOrder.OneDay = orderOneDay; ptOrder.Continue = orderContinue; return(ptOrder); }
public string ORUResult(LIS_OrderResult pAck) { if (pAck != null) { bool ret = false; PatientOrder order = null; StatusManagerParams parms = null; PatientLabOrder labOrder = new PatientLabOrder(); try { PatientLabOrder labOrderDetails = labOrder.getPatientOrder(null, null, null, null, DateTime.MinValue, DateTime.MinValue, false, pAck.OrderId).Result.FirstOrDefault(); if (labOrderDetails != null) { if (pAck.ResultStatus == "F" && labOrderDetails.OrderStatus != ((int)mzk_orderstatus.VerifiedandReported).ToString()) { order = new PatientOrder(); ret = order.verifiedReportedOrder(pAck.OrderId, "", parms); } labOrder = new PatientLabOrder(); labOrder.Id = pAck.OrderId; labOrder.ResultStatus = pAck.ResultStatus; labOrder.LISLink = Helper.decodeEscapeChar(pAck.ImageUrl); labOrder.ReportPath = pAck.ReportPath; if (!labOrder.updateResult(labOrder).Result) { throw new ValidationException("Unable to update patient result"); } if (!string.IsNullOrEmpty(pAck.AbnormalResult) && pAck.AbnormalResult.ToLower() == "panic") { string testName = ""; string patientName = ""; testName = labOrderDetails.TestName; Patient patient = new Patient().getPatientDetails(labOrderDetails.PatientId).Result; if (patient != null) { patientName = patient.name; } if (!labOrder.sendPanicResult(labOrder.Id, string.Format("Panic result received for Patient {0} and Test {1} ", patientName, testName))) { throw new ValidationException("Unable to send panic result"); } } ret = true; } else { throw new ValidationException("Unable to find lab order"); } } catch (Exception ex) { ret = false; Log.createLog(pAck.MessageControlId, HMHL7MessageType.ORU01, pAck.OrderId, HMHL7MessageDirection.Inbound, "AE", ex.Message); return(Helper.generateACK("R01", pAck.MessageControlId, "AE", ex.Message)); } if (ret) { if (!Log.createLog(pAck.MessageControlId, mzk_messagetype.ORU01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AA)) { throw new ValidationException("Unable to create ORU message log"); } return(Helper.generateACK("R01", pAck.MessageControlId, "AA", "")); } else { if (!Log.createLog(pAck.MessageControlId, mzk_messagetype.ORU01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AE, "Unknown error in updating result")) { throw new ValidationException("Unable to create ORU message log"); } return(Helper.generateACK("R01", pAck.MessageControlId, "AE", "Unknown error in updating result")); } } else { if (!Log.createLog("", mzk_messagetype.ORU01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AE, "Invalid message format")) { throw new ValidationException("Unable to create ORU message log"); } return(MazikCareService.Core.Models.HL7.Helper.generateACK("R01", "", "AE", "Invalid message format")); } }
public string ORMOutBound(ORMOutbound pAck) { if (pAck != null) { bool ret = false; PatientOrder order = null; StatusManagerParams parms = null; try { switch (pAck.OrderStatus.ToLower().Trim()) { case "sample collected": order = new PatientOrder(); parms = new StatusManagerParams(); if (!string.IsNullOrEmpty(pAck.Location)) { parms.location = pAck.Location; } ret = order.sampleCollected(pAck.OrderId, "", parms); break; case "sample received": order = new PatientOrder(); parms = new StatusManagerParams(); if (!string.IsNullOrEmpty(pAck.Location)) { parms.location = pAck.Location; } ret = order.sampleReceived(pAck.OrderId, "", parms); break; case "sample dispatched": order = new PatientOrder(); parms = new StatusManagerParams(); if (!string.IsNullOrEmpty(pAck.Location)) { parms.location = pAck.Location; } ret = order.sampleDispatched(pAck.OrderId, "", parms); break; case "sample in process": order = new PatientOrder(); parms = new StatusManagerParams(); ret = order.sampleinProcess(pAck.OrderId, "", parms); break; case "quantity not sufficient": order = new PatientOrder(); parms = new StatusManagerParams(); ret = order.quantityNotSufficient(pAck.OrderId, "", parms); break; case "sample sent out": order = new PatientOrder(); parms = new StatusManagerParams(); if (!string.IsNullOrEmpty(pAck.Location)) { parms.location = pAck.Location; } ret = order.sampleSentOut(pAck.OrderId, "", parms); break; case "need second sample": order = new PatientOrder(); parms = new StatusManagerParams(); if (!string.IsNullOrEmpty(pAck.Location)) { parms.location = pAck.Location; } ret = order.needSecondSample(pAck.OrderId, "", parms); break; case "ca": order = new PatientOrder(); parms = new StatusManagerParams(); if (pAck.NTE != null) { parms.comments = pAck.NTE.CommentDescription; } ret = order.cancelOrder(pAck.OrderId, "", parms); break; case "dc": order = new PatientOrder(); parms = new StatusManagerParams(); if (pAck.NTE != null) { parms.comments = pAck.NTE.CommentDescription; } ret = order.discontinueOrder(pAck.OrderId, "", parms); break; } } catch (Exception ex) { ret = false; Log.createLog(pAck.MessageControlId, mzk_messagetype.ORM01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AE, ex.Message); return(Helper.generateACK("O01", pAck.MessageControlId, "AE", ex.Message)); } if (ret) { if (!Log.createLog(pAck.MessageControlId, mzk_messagetype.ORM01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AA)) { throw new ValidationException("Unable to create ORM message log"); } return(Helper.generateACK("O01", pAck.MessageControlId, "AA", "")); } else { if (parms != null) { if (!Log.createLog(pAck.MessageControlId, mzk_messagetype.ORM01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AE, "Unknown error in changing order status")) { throw new ValidationException("Unable to create ORM message log"); } return(Helper.generateACK("O01", pAck.MessageControlId, "AE", "Unknown error in changing order status")); } else { if (!Log.createLog(pAck.MessageControlId, mzk_messagetype.ORM01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AE, "Unable to find any valid status for the order")) { throw new ValidationException("Unable to create ORM message log"); } return(Helper.generateACK("O01", pAck.MessageControlId, "AE", "Unable to find any valid status for the order")); } } } else { if (!Log.createLog("", mzk_messagetype.ORM01, pAck.OrderId, mzk_messagedirection.Inbound, mzk_acknowledgecode.AE, "Invalid message format")) { throw new ValidationException("Unable to create ORM message log"); } return(MazikCareService.Core.Models.HL7.Helper.generateACK("O01", "", "AE", "Invalid message format")); } }
private async Task <ConsultationSummary> getConsultationSummaryModel(List <PatientEncounter> listPatientEncounter, bool isStartEncounter = false) { var json = string.Empty; string triagePatientEncounterId = string.Empty; ConsultationSummary model = new ConsultationSummary(); string patientEncounterId = listPatientEncounter[0].EncounterId; string EncounterTemplateId = listPatientEncounter[0].EncounterTemplateId; model.listPatientEncounter = listPatientEncounter; patientCaseId = model.listPatientEncounter[0].CaseId; patientId = new PatientCase().getCaseDetails(patientCaseId).Result.PatientId; model.patientEncounterId = patientEncounterId; model.patientId = patientId; model.patientCaseId = patientCaseId; model.patient = new Patient().getPatientDetails(patientId).Result; model.listVisitReason = new PatientVisit().getVisitReason("", "", patientCaseId, model.listPatientEncounter[0].AppointmentId).Result.ToList(); model.listCheifComplaint = new List <CheifComplaint>();//new CheifComplaint().getCheifComplaint(null, patientEncounterId, 0, "").Result.ToList(); model.listPatientAllergy = new PatientAllergy().getPatientAllergies(patientId, null, null, DateTime.MinValue, DateTime.MinValue, true).Result.ToList(); model.listPatientVitals = new PatientVitals().getPatientEncounterVitals(null, patientEncounterId, false, false, "", false).Result.ToList(); if (model.listPatientVitals.Count == 0 && model.listPatientEncounter[0].EncounterType != "1") { PatientEncounter triageEncounter = new PatientEncounter(); triageEncounter.CaseId = patientCaseId; triageEncounter.EncounterType = "1"; List <PatientEncounter> triageEncounterList = triageEncounter.getEncounterDetails(triageEncounter).Result.ToList(); if (triageEncounterList.Count > 0) { triagePatientEncounterId = triageEncounterList.First <PatientEncounter>().EncounterId; model.listPatientVitals = new PatientVitals().getPatientEncounterVitals(null, triagePatientEncounterId, false, false, "", false).Result.ToList(); } } if (!isStartEncounter && listPatientEncounter[0].EncounterType != ((int)mzk_encountertype.Triage).ToString()) { EntityCollection patientOrderDetailsCollection = new PatientOrder().getPatientOrderDetails(patientEncounterId); if (patientOrderDetailsCollection != null) { model.listPatientRadiologyOrder = new PatientRadiologyOrder().getPatientOrder(patientOrderDetailsCollection.Entities.Where(item => (item["mzk_type"] as OptionSetValue).Value.ToString() == ((int)mzk_patientordermzk_Type.Radiology).ToString()).ToList()).Result.ToList(); model.listPatientLabOrder = new PatientLabOrder().getPatientOrder(patientOrderDetailsCollection.Entities.Where(item => (item["mzk_type"] as OptionSetValue).Value.ToString() == ((int)mzk_patientordermzk_Type.Lab).ToString()).ToList()).Result.ToList(); model.listPatientSpecialTest = new PatientSpecialTest().getPatientOrder(patientOrderDetailsCollection.Entities.Where(item => (item["mzk_type"] as OptionSetValue).Value.ToString() == ((int)mzk_patientordermzk_Type.SpecialTest).ToString()).ToList()).Result.ToList(); model.listPatientTherapy = new List <PatientTherapy>(); model.listPatientReferral = new PatientReferralOrder().getPatientOrder(patientOrderDetailsCollection.Entities.Where(item => (item["mzk_type"] as OptionSetValue).Value.ToString() == ((int)mzk_patientordermzk_Type.Referral).ToString()).ToList()).Result.ToList(); model.listPatientProcedure = new PatientProcedure().getPatientOrder(patientOrderDetailsCollection.Entities.Where(item => (item["mzk_type"] as OptionSetValue).Value.ToString() == ((int)mzk_patientordermzk_Type.Procedure).ToString()).ToList()).Result.ToList(); model.listPatientMedication = new PatientMedication().getPatientOrder(patientOrderDetailsCollection.Entities.Where(item => (item["mzk_type"] as OptionSetValue).Value.ToString() == ((int)mzk_patientordermzk_Type.Medication).ToString()).ToList()).Result.ToList(); } } else { model.listPatientRadiologyOrder = new List <PatientRadiologyOrder>(); model.listPatientLabOrder = new List <PatientLabOrder>(); model.listPatientSpecialTest = new List <PatientSpecialTest>(); model.listPatientTherapy = new List <PatientTherapy>(); model.listPatientReferral = new List <PatientReferralOrder>(); model.listPatientProcedure = new List <PatientProcedure>(); model.listPatientMedication = new List <PatientMedication>(); } if (!isStartEncounter && listPatientEncounter[0].EncounterType != ((int)mzk_encountertype.Triage).ToString()) { model.listPatientDiagnosis = new PatientDiagnosis().getPatientDiagnosis(patientEncounterId, null, null, DateTime.MinValue, DateTime.MinValue, 0, "").Result.ToList(); } else { model.listPatientDiagnosis = new List <PatientDiagnosis>(); } // model.listPatientProblem = new PatientProblem().getPatientProblems(patientId, true, null, null, DateTime.MinValue, DateTime.MinValue).Result.ToList(); model.listPatientProblem = new List <PatientProblem>(); if (!isStartEncounter && listPatientEncounter[0].EncounterType != ((int)mzk_encountertype.Triage).ToString()) { model.listPatientDisposition = new PatientDisposition().getPatientDisposition(patientEncounterId, null, null, DateTime.MinValue, DateTime.MinValue).Result.ToList(); } else { model.listPatientDisposition = new List <PatientDisposition>(); } if (!isStartEncounter) { model.listClinicalTemplate = new ClinicalTemplate().getPatientClinicalTemplates(patientId, patientEncounterId).Result; } else { model.listClinicalTemplate = new List <ClinicalTemplate>(); } if (listPatientEncounter[0].EncounterType != ((int)mzk_encountertype.Triage).ToString()) { model.listProgressNotes = new Notes().getCaseNotes(patientCaseId).Result; } else { model.listProgressNotes = new List <Notes>(); } model.SummaryUpdatedDate = DateTime.Now; json = JsonConvert.SerializeObject(model); string compressJson = string.Empty; compressJson = StringHelper.Compress(json); new PatientEncounter().updateSummaryJson(patientEncounterId, compressJson); return(model); }
public void UpdatePatientOrder(PatientOrder patientOrder) { _context.PatientOrders.Update(patientOrder); _context.SaveChanges(); }
public void AddPatientOrder(PatientOrder patientOrder) { _context.PatientOrders.Add(patientOrder); _context.SaveChanges(); }