public int AddLabOrderDetails(LabDetailsEntity labDetailsEntity) { using (UnitOfWork _unitOfWork = new UnitOfWork(new GreencardContext())) { _unitOfWork.PatientLabDetailsRepository.Add(labDetailsEntity); Result = _unitOfWork.Complete(); _unitOfWork.Dispose(); return(labDetailsEntity.Id); } }
/// <summary> /// Saves the patient lab order. /// </summary> /// <param name="patientID">The patient identifier.</param> /// <param name="patient_Pk">The patient pk.</param> /// <param name="userId">The user identifier.</param> /// <param name="facilityID">The facility identifier.</param> /// <param name="moduleId">The module identifier.</param> /// <param name="patientMasterVisitId">The patient master visit identifier.</param> /// <param name="labOrderDate">The lab order date.</param> /// <param name="orderNotes">The order notes.</param> /// <param name="patientLabOrder">The patient lab order.</param> /// <param name="orderStatus">The order status.</param> /// <returns>order Id</returns> public int savePatientLabOrder(int patientID, int patient_Pk, int userId, int facilityID, int moduleId, int patientMasterVisitId, string labOrderDate, string orderNotes, string patientLabOrder, string orderStatus) { int visitId = 0; int orderId = 0; int testId = 0; //int _paramId = 0; DateTime orderDate = Convert.ToDateTime(labOrderDate); // DateTime orderDate = DateTime.Now; //DateTime orderDate = DateTime.Parse(labOrderDate); var jss = new JavaScriptSerializer(); IList <ListLabOrder> data = jss.Deserialize <IList <ListLabOrder> >(patientLabOrder); if (patientID > 0) { PatientVisit visit = new PatientVisit() { Ptn_Pk = patient_Pk, LocationID = facilityID, UserID = userId, TypeofVisit = 70, //Self (70) 71 (Treatmentsupporter) VisitDate = orderDate, ModuleId = moduleId, VisitType = 6 }; visitId = _visitManager.AddPatientVisit(visit); LabOrderEntity labOrder = new LabOrderEntity() { Ptn_pk = patient_Pk, PatientId = patientID, LocationId = facilityID, VisitId = visitId, ModuleId = moduleId, OrderedBy = userId, ClinicalOrderNotes = orderNotes, PatientMasterVisitId = patientMasterVisitId, OrderStatus = orderStatus, OrderDate = orderDate, UserId = userId }; orderId = _mgr.AddPatientLabOrder(labOrder); // DateTime? nullDate = null; foreach (ListLabOrder t in data) { LabDetailsEntity labDetails = new LabDetailsEntity() { LabOrderId = orderId, LabTestId = t.LabNameId, TestNotes = t.LabNotes, UserId = userId, CreatedBy = userId, StatusDate = DateTime.Now, ResultDate = t.ResultDate }; testId = _mgr.AddLabOrderDetails(labDetails); PatientLabTracker labTracker = new PatientLabTracker() { PatientId = patientID, PatientMasterVisitId = patientMasterVisitId, LabName = t.LabName, SampleDate = orderDate, Reasons = t.OrderReason, CreatedBy = userId, Results = orderStatus, LabOrderId = orderId, LabTestId = t.LabNameId, //parameter LabOrderTestId = testId, //uniquely identifies a particular test FacilityId = facilityID, ResultDate = t.ResultDate }; Result = _mgr.AddPatientLabTracker(labTracker); if (Result > 0) { Id = _patientEncounterManager.AddpatientEncounter(patientID, patientMasterVisitId, _patientEncounterManager.GetPatientEncounterId("EncounterType", "lab-encounter".ToLower()), 205, userId); } //add to dtlresults List <LookupTestParameter> _parameters = _lookupTest.GetTestParameter(t.LabNameId); if (_parameters != null) { foreach (LookupTestParameter p in _parameters) { LabResultsEntity labresults = new LabResultsEntity() { LabOrderId = orderId, LabTestId = t.LabNameId, LabOrderTestId = testId, ParameterId = p.Id, UserId = userId, CreatedBy = userId, StatusDate = DateTime.Now }; _mgr.AddPatientLabResults(labresults); } } } } return(orderId); }