update
This commit is contained in:
@@ -2266,8 +2266,8 @@ class DokterController extends Controller
|
||||
$arrnofoto = explode('-', $nofoto);
|
||||
$nofoto = $arrnofoto[0];
|
||||
if ($statuse != 'Selesai'){
|
||||
if ($statuse == 'Dikerjakan awal'){
|
||||
Periksa::where('id', $id)->where('status', 'Dikerjakan awal')->update([
|
||||
if ($statuse == 'Pemeriksaan awal'){
|
||||
Periksa::where('id', $id)->where('status', 'Pemeriksaan awal')->update([
|
||||
'status' => 'Pemeriksaan Sampel',
|
||||
'excutor' => $idpemeriksa,
|
||||
]);
|
||||
@@ -2275,7 +2275,7 @@ class DokterController extends Controller
|
||||
return back();
|
||||
} else {
|
||||
Periksa::where('id', $id)->whereNull('status')->update([
|
||||
'status' => 'Dikerjakan awal',
|
||||
'status' => 'Pemeriksaan awal',
|
||||
'excutor' => $idpemeriksa,
|
||||
]);
|
||||
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Success', 'message' => 'Status Updated']);
|
||||
|
||||
@@ -286,7 +286,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Decliend%' THEN '<strong><font color=red>Decliend</font></strong>'
|
||||
WHEN status LIKE '%Selesai%' THEN '<span class=\"badge badge-success\">Selesai</span>'
|
||||
WHEN status LIKE '%Arsip%' THEN '<span class=\"badge badge-primary\">Arsip</span>'
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN '<span class=\"badge badge-primary\">Dikerjakan awal</span>'
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN '<span class=\"badge badge-primary\">Pemeriksaan awal</span>'
|
||||
WHEN status LIKE '%Data Vitek di Terima%' THEN '<span class=\"badge badge-warning\">Data Vitek di Terima</span>'
|
||||
ELSE CONCAT('<span class=\"badge badge-info\">', status::text, '</span>')
|
||||
END AS tlsstatus"),
|
||||
@@ -300,7 +300,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', nofoto::text, '</font></strong>')
|
||||
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', nofoto::text, '</font></strong>')
|
||||
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', nofoto::text, '</span>')
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', nofoto::text, '</span>')
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', nofoto::text, '</span>')
|
||||
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', nofoto::text, '</span>')
|
||||
ELSE CONCAT('<font color=red>', nofoto::text, '</font>')
|
||||
END AS tlsnofoto"),
|
||||
@@ -314,7 +314,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', noregister::text, '</font></strong>')
|
||||
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', noregister::text, '</font></strong>')
|
||||
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', noregister::text, '</span>')
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', noregister::text, '</span>')
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', noregister::text, '</span>')
|
||||
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', noregister::text, '</span>')
|
||||
ELSE CONCAT('<font color=red>', noregister::text, '</font>')
|
||||
END AS tlsnoregister"),
|
||||
@@ -328,7 +328,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', nmpasien::text, '</font></strong>')
|
||||
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', nmpasien::text, '</font></strong>')
|
||||
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', nmpasien::text, '</span>')
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', nmpasien::text, '</span>')
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', nmpasien::text, '</span>')
|
||||
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', nmpasien::text, '</span>')
|
||||
ELSE CONCAT('<font color=red>', nmpasien::text, '</font>')
|
||||
END AS tlsnama"),
|
||||
@@ -342,7 +342,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', reques::text, '</font></strong>')
|
||||
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', reques::text, '</font></strong>')
|
||||
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', reques::text, '</span>')
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', reques::text, '</span>')
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', reques::text, '</span>')
|
||||
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', reques::text, '</span>')
|
||||
ELSE CONCAT('<font color=red>', reques::text, '</font>')
|
||||
END AS tlsreques")
|
||||
@@ -621,7 +621,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Decliend%' THEN '<strong><font color=red>Decliend</font></strong>'
|
||||
WHEN status LIKE '%Selesai%' THEN '<span class=\"badge badge-success\">Selesai</span>'
|
||||
WHEN status LIKE '%Arsip%' THEN '<span class=\"badge badge-primary\">Arsip</span>'
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN '<span class=\"badge badge-primary\">Dikerjakan awal</span>'
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN '<span class=\"badge badge-primary\">Pemeriksaan awal</span>'
|
||||
WHEN status LIKE '%Data Vitek di Terima%' THEN '<span class=\"badge badge-warning\">Data Vitek di Terima</span>'
|
||||
ELSE CONCAT('<span class=\"badge badge-info\">', status::text, '</span>')
|
||||
END AS tlsstatus"),
|
||||
@@ -635,7 +635,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', nofoto::text, '</font></strong>')
|
||||
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', nofoto::text, '</font></strong>')
|
||||
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', nofoto::text, '</span>')
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', nofoto::text, '</span>')
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', nofoto::text, '</span>')
|
||||
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', nofoto::text, '</span>')
|
||||
ELSE CONCAT('<font color=red>', nofoto::text, '</font>')
|
||||
END AS tlsnofoto"),
|
||||
@@ -649,7 +649,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', noregister::text, '</font></strong>')
|
||||
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', noregister::text, '</font></strong>')
|
||||
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', noregister::text, '</span>')
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', noregister::text, '</span>')
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', noregister::text, '</span>')
|
||||
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', noregister::text, '</span>')
|
||||
ELSE CONCAT('<font color=red>', noregister::text, '</font>')
|
||||
END AS tlsnoregister"),
|
||||
@@ -663,7 +663,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', nmpasien::text, '</font></strong>')
|
||||
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', nmpasien::text, '</font></strong>')
|
||||
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', nmpasien::text, '</span>')
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', nmpasien::text, '</span>')
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', nmpasien::text, '</span>')
|
||||
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', nmpasien::text, '</span>')
|
||||
ELSE CONCAT('<font color=red>', nmpasien::text, '</font>')
|
||||
END AS tlsnama"),
|
||||
@@ -677,7 +677,7 @@ class ListController extends Controller
|
||||
WHEN status LIKE '%Expertise%' THEN CONCAT('<strong><font color=green>', reques::text, '</font></strong>')
|
||||
WHEN status LIKE '%Decliend%' THEN CONCAT('<strong><font color=red>', reques::text, '</font></strong>')
|
||||
WHEN status LIKE '%Selesai%' THEN CONCAT('<span class=\"badge badge-success\">', reques::text, '</span>')
|
||||
WHEN status LIKE '%Dikerjakan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', reques::text, '</span>')
|
||||
WHEN status LIKE '%Pemeriksaan awal%' THEN CONCAT('<span class=\"badge badge-primary\">', reques::text, '</span>')
|
||||
WHEN status LIKE '%Arsip%' THEN CONCAT('<span class=\"badge badge-primary\">', reques::text, '</span>')
|
||||
ELSE CONCAT('<font color=red>', reques::text, '</font>')
|
||||
END AS tlsreques")
|
||||
|
||||
+36
-24
@@ -213,31 +213,32 @@ def get_pending_orders(ip_addr):
|
||||
def send_all_orders(conn, ip_addr, hl7_msg, msg_id):
|
||||
orders = get_pending_orders(ip_addr)
|
||||
session = SessionLocal()
|
||||
try:
|
||||
if not orders:
|
||||
print(f"[GENEXPERT] Tidak ada order pending untuk {ip_addr}")
|
||||
rsp = (
|
||||
f"MSH|^~\\&|LIS|LAB|GeneXpert|Cepheid|{datetime.datetime.now().strftime('%Y%m%d%H%M%S')}||RSP^Z03|{msg_id}|P|2.5\r"
|
||||
f"MSA|AA|{msg_id}\r"
|
||||
f"QAK|NF|{msg_id}\r"
|
||||
)
|
||||
conn.sendall(f"\x0b{rsp}\x1c\r".encode('utf-8'))
|
||||
return
|
||||
|
||||
if not orders:
|
||||
print(f"[GENEXPERT] Tidak ada order pending untuk {ip_addr}")
|
||||
rsp = (
|
||||
f"MSH|^~\\&|LIS|LAB|GeneXpert|Cepheid|{datetime.datetime.now().strftime('%Y%m%d%H%M%S')}||RSP^Z03|{msg_id}|P|2.5\r"
|
||||
f"MSA|AA|{msg_id}\r"
|
||||
f"QAK|NF|{msg_id}\r"
|
||||
)
|
||||
conn.sendall(f"\x0b{rsp}\x1c\r".encode('utf-8'))
|
||||
return
|
||||
print(f"[GENEXPERT] Mengirim {len(orders)} order ke {ip_addr}")
|
||||
|
||||
print(f"[GENEXPERT] Mengirim {len(orders)} order ke {ip_addr}")
|
||||
for order in orders:
|
||||
rsp = create_hl7_dsr_response(order, msg_id, "")
|
||||
print(f"[GENEXPERT] Order ditemukan untuk {ip_addr}")
|
||||
|
||||
mllp = f"\x0b{rsp}\x1c\r"
|
||||
conn.sendall(mllp.encode('utf-8'))
|
||||
flag = get_flag_by_device(ip_addr)
|
||||
setattr(order, flag, True)
|
||||
session.add(order)
|
||||
|
||||
for order in orders:
|
||||
rsp = create_hl7_dsr_response(order, msg_id, "")
|
||||
print(f"[GENEXPERT] Order ditemukan untuk {ip_addr}")
|
||||
|
||||
mllp = f"\x0b{rsp}\x1c\r"
|
||||
conn.sendall(mllp.encode('utf-8'))
|
||||
flag = get_flag_by_device(ip_addr)
|
||||
setattr(order, flag, True)
|
||||
session.add(order)
|
||||
|
||||
session.commit()
|
||||
session.close()
|
||||
session.commit()
|
||||
finally:
|
||||
session.close()
|
||||
|
||||
def extract_msg_control_id(hl7_message):
|
||||
try:
|
||||
@@ -448,8 +449,19 @@ def parse_hl7_result(conn, msg_id, hl7_message, device_name="GeneXpert"):
|
||||
|
||||
# 4. Validasi Data Penting
|
||||
if not sample_id:
|
||||
logging.warning("[HL7 Parser] ORU diterima tanpa accession/sample_id. Data diabaikan.")
|
||||
print("[HL7 Parser] ORU diterima tanpa accession/sample_id. Data diabaikan.")
|
||||
source_ip = ""
|
||||
try:
|
||||
source_ip = str(conn.getpeername()[0]).strip()
|
||||
except Exception:
|
||||
source_ip = str(device_name).replace("GeneXpert-", "").replace(",", " ").strip()
|
||||
|
||||
if source_ip:
|
||||
logging.info(f"[HL7 Parser] ORU tanpa sample_id dari {source_ip}. Anggap sebagai request order.")
|
||||
print(f"[HL7 Parser] ORU tanpa sample_id dari {source_ip}. Anggap sebagai request order.")
|
||||
send_all_orders(conn, source_ip, clean_hl7, msg_id)
|
||||
else:
|
||||
logging.warning("[HL7 Parser] ORU tanpa sample_id diterima, tetapi IP sumber tidak dapat diidentifikasi.")
|
||||
print("[HL7 Parser] ORU tanpa sample_id diterima, tetapi IP sumber tidak dapat diidentifikasi.")
|
||||
return
|
||||
|
||||
mapped_no_id = sample_id
|
||||
|
||||
Reference in New Issue
Block a user