private void CreateLinksForCausalityReport( LinkedResourceBaseDto wrapper, Guid workFlowGuid, int pageNumber, int pageSize, int facilityId, CausalityCriteria causalityCriteria, bool hasNext, bool hasPrevious) { wrapper.Links.Add( new LinkDto( _linkGeneratorService.CreateCausalityReportResourceUri(workFlowGuid, ResourceUriType.Current, pageNumber, pageSize, facilityId, causalityCriteria), "self", "GET")); if (hasNext) { wrapper.Links.Add( new LinkDto( _linkGeneratorService.CreateCausalityReportResourceUri(workFlowGuid, ResourceUriType.NextPage, pageNumber, pageSize, facilityId, causalityCriteria), "nextPage", "GET")); } if (hasPrevious) { wrapper.Links.Add( new LinkDto( _linkGeneratorService.CreateCausalityReportResourceUri(workFlowGuid, ResourceUriType.PreviousPage, pageNumber, pageSize, facilityId, causalityCriteria), "previousPage", "GET")); } }
public CausalityReportQuery(Guid workFlowGuid, int pageNumber, int pageSize, DateTime searchFrom, DateTime searchTo, int facilityId, CausalityCriteria causalityCriteria) : this() { WorkFlowGuid = workFlowGuid; PageNumber = pageNumber; PageSize = pageSize; SearchFrom = searchFrom; SearchTo = searchTo; FacilityId = facilityId; CausalityCriteria = causalityCriteria; }
public string CreateCausalityReportResourceUri(Guid workFlowGuid, ResourceUriType type, int pageNumber, int pageSize, int facilityId, CausalityCriteria causalityCriteria) { switch (type) { case ResourceUriType.PreviousPage: return(_linkGenerator.GetPathByName(_accessor.HttpContext, "GetCausalityReport", new { workFlowGuid, pageNumber = pageNumber - 1, pageSize = pageSize, FacilityId = facilityId, CausalityCriteria = causalityCriteria })); case ResourceUriType.NextPage: return(_linkGenerator.GetPathByName(_accessor.HttpContext, "GetCausalityReport", new { workFlowGuid, pageNumber = pageNumber + 1, pageSize = pageSize, FacilityId = facilityId, CausalityCriteria = causalityCriteria })); case ResourceUriType.Current: default: return(_linkGenerator.GetPathByName(_accessor.HttpContext, "GetCausalityReport", new { workFlowGuid, pageNumber = pageNumber, pageSize = pageSize, FacilityId = facilityId, CausalityCriteria = causalityCriteria })); } }
public ICollection <CausalityNotSetList> GetCausalityNotSetItems(DateTime searchFrom, DateTime searchTo, CausalityConfigType causalityConfig, int facilityId, CausalityCriteria causalityCriteria) { string where = facilityId > 0 ? " AND pf.Facility_Id = " + facilityId.ToString() : ""; switch (causalityConfig) { case CausalityConfigType.BothScales: where += (causalityCriteria == CausalityCriteria.CausalitySet) ? " AND rim.NaranjoCausality IS NOT NULL AND rim.WhoCausality IS NOT NULL " : " AND (rim.NaranjoCausality IS NULL OR rim.WhoCausality IS NULL) "; break; case CausalityConfigType.WHOScale: where += (causalityCriteria == CausalityCriteria.CausalitySet) ? " AND rim.WhoCausality IS NOT NULL " : " AND rim.WhoCausality IS NULL "; break; case CausalityConfigType.NaranjoScale: where += (causalityCriteria == CausalityCriteria.CausalitySet) ? " AND rim.NaranjoCausality IS NOT NULL " : " AND rim.NaranjoCausality IS NULL "; break; } string sql = string.Format(@" SELECT p.Id AS Patient_Id, p.FirstName, p.Surname, pce.SourceTerminologyMedDra AS AdverseEvent, pce.OnsetDate, rim.NaranjoCausality, rim.WhoCausality, rim.MedicationIdentifier, pce.[Istheadverseeventserious?] AS Serious FROM ReportInstance ri INNER JOIN MetaPatientClinicalEvent pce ON ri.ContextGuid = pce.PatientClinicalEventGuid INNER JOIN Patient p on pce.Patient_Id = p.Id INNER JOIN PatientFacility pf ON pf.Id = (select top 1 Id from PatientFacility ipf where ipf.Patient_Id = p.Id and ipf.EnrolledDate <= GETDATE() order by ipf.EnrolledDate desc, ipf.Id desc) INNER JOIN ReportInstanceMedication rim ON ri.Id = rim.ReportInstance_Id WHERE pce.OnsetDate BETWEEN '{0}' AND '{1}' AND p.Archived = 0 {2} ORDER BY pce.OnsetDate asc ", searchFrom.ToString("yyyy-MM-dd"), searchTo.ToString("yyyy-MM-dd"), where); SqlParameter[] parameters = new SqlParameter[0]; return(_unitOfWork.Repository <CausalityNotSetList>().ExecuteSql(sql, parameters)); }