HOSxP Tip สร้าง QR-Code ในสติกเกอร์ยา แล้วส่งค่าไป Line Notify
วันนี้มาทำ QR-CODE แบบ URL กันครับ มีคำถามจากสมาชิกท่านหนึ่งถามมาว่า
ทำสติกเกอร์ยา แล้วใส่ QR-CODE เป็นแบบ URL ได้ไหม แล้วพออ่าน QR-CODE แล้วให้เปิด WEB นั้นๆ ผมก็เลยหาวิธีดูว่าทำได้ไหม ก็มี อ.หลายๆท่าน ได้ทำไว้ โดยเข้าไปในตาราง drugitems จะมีฟิวล์ชื่อ ว่า qr_code_url เอาไว้ใส่ Link ที่จะให้เปิด web ที่บอกได้ว่าเป็นคำอธิบายเกี่ยวกับยานั้นๆ ก็เลยได้ไอเดีย ว่าพออ่าน QR-CODE แล้วให้ส่งค่าไปยัง กลุ่ม Line Notify ด้วย เลยเป็นที่มาของเรื่องนี้ เลยมาทำให้ดูกัน เริ่มกันเลยนะครับ
โดยขั้นแรกก็สร้าง url กันก่อน เอาเป็น Link นี้นะครับ
https://www.youant.net/line_service/line_qrcode.php?action=true&generic_name=Paracetamol
โดยมีตัวแปรที่ส่งค่าไปคือ action และ generic_name
โดยตัวแปรของ action จะให้ค่าคือ true เอาไว้ยืนยันว่าจริง
และตัวแปร generic_name จะเป็นชื่อยา ว่าเป็นชื่ออะไร แล้วจะเข้าเงื่อนไขว่ายาไหน มีคำแนะนำอะไร เวลาแสดงจะแสดงตามเงื่อนไขของยานั้นๆ เพราะคำแนะนำแต่ละตัวยา จะไม่เหมือนกัน
ตัวอย่างตามรูปนี้
พอได้แล้วต่อมาก็ สร้างไฟล์ line_qrcode.php ตามข้อความนี้ครับ
<?php
$action = $_GET[‘action’];
$action = stripslashes($action);
if ($action==true)
{
$hcode = ‘demo’;
$generic_name = $_GET[‘generic_name’];
$key_gen = ‘รหัส token_key’;
if ($hcode <>”) {
switch($generic_name) {
case “Paracetamol” : {
$msg = “คำแนะนำการใช้ยา “.$generic_name.” : การใช้ยาพาราเซตามอลเกินขนาด อาจ “.
” ทำให้ตับอักเสบ ตับวายและเสียชีวิตได้ – ขนาดยาที่เหมาะสมในแต่ละครั้งต้องไม่เกิน 15 มก.ต่อน้ำหนักตัว 1 กก. “.
” – ไม่ควรกินยานี้เกิน 8 เม็ดต่อวัน – ไม่ควรใช้ยาติดต่อกันนานเกิน 5 วัน “;
break;
}
case “WARFARIN” : {
$msg = “คำแนะนำการใช้ยา “.$generic_name.” : ถ้ามีอาการเหล่านี้ให้มาก่อนนัด WAFARIN “.
“- มีจ้ำเลือดที่กดไม่เจ็บโดยไม่ทราบสาเหตุ – ปัสสาวะสีส้มแดง/ถ่ายดำ ไอมีเลือดปน “.
“- แปรงฟันแล้วมีเลือดออก / เลือดกำเดาไหล – ปวดหัวรุนแรง แขนขาอ่อนแรง ปากเบี้ยว “.
” ห้ามฉีดยาเข้ากล้าม และต้องบอกหมอทุกครั้ง”;
break;
}
}
$chOne = curl_init();
curl_setopt( $chOne, CURLOPT_URL, “https://notify-api.line.me/api/notify”);
curl_setopt( $chOne, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt( $chOne, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt( $chOne, CURLOPT_POST, 1);
curl_setopt( $chOne, CURLOPT_POSTFIELDS, “message=$msg”);
curl_setopt( $chOne, CURLOPT_FOLLOWLOCATION, 1);
$headers = array( ‘Content-type: application/x-www-form-urlencoded’, ‘Authorization: Bearer ‘.$key_gen, );
curl_setopt($chOne, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $chOne, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec( $chOne );
if(curl_error($chOne)) { echo ‘error:’ . curl_error($chOne); }
else { $result_ = json_decode($result, true);
echo “message :”. $result_[‘message’]; }
header(“location:https://www.youant.net”);
curl_close( $chOne );
}
}
?>
แล้วบันทึกชื่อว่า line_qrcode.php ไปเก็บไว้ใน webserver ในโฟรเดอร์ line_service ตามรูปแบบ url นี้
https://www.youant.net/line_service/line_qrcode.php
ก็จะพร้อมใช้งาน ที่นี้ก็มาทำ qr_code กันที่ตาราง drugitems ฟิวล์ qr_code_url ว่าง Link ตามรูปด้วยบน นะครับ
ต่อมาก็มาทำ qr_code กันที่ฟอร์มรายงานสติกเกอร์ยา อันนี้คงไม่ต้องอธิบายนะครับ หรือดูวิธีการทำตามคลิปนี้ได้
ออกแบบหน้าจอตามต้องการดังรูปนี้
ดึงฟิวล์ qr_code_url มาให้แสดงด้วย
นำ DB2DBarcode มาว่างไว้ในหน้าจอที่ต้องการ ในที่นี้ผมเอามาวางไว้ที่แท็บ Header สำหรับแสดง qr-code
กำหนดประเภท BarcodeType = bcQRCode ตามรูปบนนะครับ
กำหนด AutoSize = False คือไม่ติ๊กช่องนี้ แต่กำหนด AutoScale = true คือติ๊กตรงนี้ด้วยเพื่อให้ปรับขนาดของ QR-Code ให้อยู่ในขนาดที่ต้องการ
ทดสอบ Preview ดูว่าตรงตามที่ต้องการไหม แค่นี้ก็ถือว่าพร้อมใช้งานแล้ว ละครับ
ต่อไปก็ใช้ มือถือ iPhone เปิดกล้องแล้วอ่าน qr-code ดูครับ จะแสดง Link URL ที่ได้จาก qr-code
แล้วก็กดปุ่ม Link นั้น มันจะเปิดและรันคำสั่งส่งเข้าไปใน Line Notify อีกที แค่นี้ก็ถือว่าเป็นอันเสร็จ ดูรูปตัวอย่าง
ตาม คลิปนี้ได้เลยครับ
เพียงเท่านี้ก็จะได้ข้อมูล คำแนะนำเรื่องยา มาเก็บไว้ใน Line ของเราแล้ว ก็เอาไปประยุกต์ใช้กับกลุ่มสมาชิก นะครับ
ผมก็ได้ไอเดีย จากสมาชิกท่านหนึ่งส่งคำถามมาให้ เลยมาลองดูว่าจะพอทำได้ไหม ก็คิดว่าน่าจะเป็นประโยชน์ไม่มากก็น้อยละครับ มีคำถาม แนะนำติชม ก็ส่งกันมาได้ท่าง facebook ผมนะครับที่
https://www.facebook.com/armdsant/
ขอบคุณสำหรับการติดตามนะครับแล้วพบกันใหม่ในบทความต่อไป
ฝากกดติดตามด้วยนะครับ
https://www.youtube.com/channel/UCg2j2HMzE-vr4ATR7BGE0FQ?view_as=subscriber