diff --git a/htdocs/app/Http/Controllers/ListController.php b/htdocs/app/Http/Controllers/ListController.php index 39236e9e..cd848da2 100644 --- a/htdocs/app/Http/Controllers/ListController.php +++ b/htdocs/app/Http/Controllers/ListController.php @@ -86,15 +86,15 @@ class ListController extends Controller } } if ($akhir != '' AND $mulai != $akhir){ - $arraylist = $arraylist->whereBetween('daftar', [$mulai, $akhir]); + $arraylist = $arraylist->whereBetween('verifikasi', [$mulai, $akhir]); } else { if ($jenis == 'ThisDay' OR $jenis == ''){ if ($mulai == '' OR is_null($mulai)){ $mulai = date('Y-m-d'); } - $arraylist = $arraylist->whereDate('daftar', $mulai); + $arraylist = $arraylist->whereDate('verifikasi', $mulai); } else if ($jenis == 'mundur2'){ - $arraylist = $arraylist->whereDate('daftar', '>=', Carbon::today()->subDays(2)); + $arraylist = $arraylist->whereDate('verifikasi', '>=', Carbon::today()->subDays(2)); } else if ($jenis == 'mundur3'){ - $arraylist = $arraylist->whereDate('daftar', '>=', Carbon::today()->subDays(2)); + $arraylist = $arraylist->whereDate('verifikasi', '>=', Carbon::today()->subDays(2)); } else { } diff --git a/listener/app.py b/listener/app.py index 93da78ab..47617460 100644 --- a/listener/app.py +++ b/listener/app.py @@ -432,14 +432,25 @@ def create_genexpert_rsp_z02_response(orders, incoming_hl7, ip_addr=None): qpd_segment = extract_segment(incoming_hl7, "QPD") qpd = parse_genexpert_qpd(qpd_segment) query_tag = qpd.get("query_tag") or (extract_msg_control_id(incoming_hl7) or "UNKNOWN") + incoming_message_type = extract_message_type(incoming_hl7) query_name = qpd.get("query_name") or "Z03^HOST QUERY" resp_control_id = f"RSP{datetime.datetime.now().strftime('%Y%m%d%H%M%S')}" + if str(incoming_message_type or "").startswith("QBP^Z03"): + query_name = "Z03^HOST QUERY" + msh = build_genexpert_response_msh("RSP^Z02", incoming_hl7, resp_control_id) msa = f"MSA|AA|{query_tag}" qak = f"QAK|{query_tag}|OK|{query_name}" segments = [msh, msa, qak] - if qpd_segment: + if str(incoming_message_type or "").startswith("QBP^Z03"): + selected_patient_id = "" + selected_sample_id = "" + if orders: + selected_patient_id = sanitize_astm_field(orders[0].norm or "", max_len=50) + selected_sample_id = sanitize_astm_field(orders[0].rnoreg or "", max_len=50) + segments.append(f"QPD|{query_name}|{query_tag}|{selected_patient_id}|{selected_sample_id}") + elif qpd_segment: segments.append(qpd_segment) for patient_idx, order in enumerate(orders, start=1):