code View

id 18
Title EVI-CS17 / Patients with sample > 25 days without reply
Type evidenza
Highlight group filequery1003.cs, Evidenze
Description Patients with sample > 25 days without result
Code
        var q_uvu = db.d_events
          .AsNoTracking()
          .Where(x => x.event_type.ToLower() == "app_verify" && x.date_apt_exe == null)
          .Select(s => new { s.id_person, idApt = (string.IsNullOrEmpty(s.id_event) ? "" : "!") }).Distinct();

        DateTime nowminus25 = DateTime.Now.AddDays(-25);

        var qry = (from p in db.d_person
                   from q in q_uvu.Where(w => p.id_person == w.id_person).DefaultIfEmpty()
                   from e in db.d_events.Where(w => p.id_person == w.id_person && w.event_type == "EXAMS")
                   where
                     e.ev_vt1 == "SP_REFERTO"
                     && p.date_stopped == null
                     && e.date_apt_exe < nowminus25
                   select new
                   {
                       p.id_person,
                       q.idApt,
                       p.id_dream,
                       p.pe_surname,
                       p.pe_name,
                       p.pe_sex,
                       p.pe_dob,
                       e.date_apt_exe

                   }).AsEnumerable().Select(s => new
                   {
                       s.id_person,
                       s.idApt,
                       s.id_dream,
                       s.pe_surname,
                       s.pe_name,
                       s.pe_sex,
                       dob = (s.pe_dob.HasValue) ? s.pe_dob.Value.ToShortDateString() : "",
                       sampledata = (s.date_apt_exe.HasValue) ? s.date_apt_exe.Value.ToShortDateString() : ""
                       //s.Note
                   }).DistinctBy(d => d.id_person);

        dt = qry.ToDataTable();
        dt.TableName = "lst_data";

 

Ordine