ผู้เขียน หัวข้อ: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE  (อ่าน 5689 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« เมื่อ: มีนาคม 16, 2023, 06:21:02 AM »
+1
สวัสดีครับทุกท่าน เหมือนกับผมจะห่างหายไปจาก Webboard นี้ไปนานมากๆ ตอนนี้ผมปรับ flow การทำงานในสำนักงานใหม่ ใช้ slack แทน และเชื่อมต่อระบบ นี้เข้ากับ webhook ของ slack แล้ว น่าจะไม่พลาดการแจ้งเตือนให้เข้ามาตอบในนี้ครับ

ก่อนหน้านี้มี admin หลายท่านถามเข้ามาเรื่องการใช้งาน Script ไม่ว่าจะเป็น กิจจา / ป๊อป /  นาจ /... (ขออภัยครับผมจำได้ไม่หมด) ก็เลยคิดว่าเขียนไว้ตรงนี้น่าจะดีกว่า และจริงๆ แล้วผมน่าจะเคยเขียนอธิบายไว้ที่ไหนสักแห่งแล้ว ถือว่าเขียนใหม่แบบ Update Concept อีกรอบก็แล้วกันนะครับ

ระบบ Script สามารถเข้าไปทดสอบออกแบบ/เขียน code ได้ที่เมนู Tools -> Form Designer -> Form Designer ครับ

[ Guests cannot view attachments ]

การเขียน Script เขียนได้ 2 แบบครับ คือแบบที่เป็น Script (ไม่มี UI) และแบบที่เป็นหน้าจอแสดงขึ้นมาให้ผู้ใช้งานเห็น และสามารถรับ Input ข้อมูล เหมือนกับเขียนโปรแกรม มาดูขั้นตอนแบบสร้างเป็นฟอร์มซึ่งเป็นแบบที่ง่ายที่สุดก่อนนะครับ

เลือก New Form (ปุ่มมุมซ้ายบน สีปุ่มมันเหมือนจะไม่ active แต่ว่าสามารถกดได้ครับ จะแสดง popup menu ขึ้นมาให้เลือก)

[ Guests cannot view attachments ]

อย่างแรกที่ต้องทำคือตั้งชื่อ Form ครับ โดยชื่อ Form นี้จะถูกนำไปตั้งเป็นชื่อของ Script Module ในระบบให้ด้วย ถ้าจะเปลี่ยนชื่อ Script Module ต้องมาแก้ที่ชื่อ Form (ใน Instance ของ Application เดียวกัน ปกติจะไม่สามารถสร้าง form ชื่อเดียวกันขึ้นมาทำงานพร้อมๆ กันได้ ซึ่งปกติ Flow ของการ Run Script ก็ไม่น่าจะมีปัญหาอะไร เพราะว่า ระบบจะแสดง Form แบบ Modal ขึ้นมาเวลาเรียกใช้งานครับ)

[ Guests cannot view attachments ]

ตั้งชื่อ Form เสร็จแล้วก็ควรมากำหนด Default Font ของ Form ใหม่เพราะจะมีผลกับ component ที่จะวางลงไปใน Form ถ้าเป็น ณ ตอนนี้ Tahoma size 12 น่าจะเหมาะสมที่สุด

ในตัวอย่างผมวาง Button ลงไป 1 ตัว แล้ว Double Click ที่ Button เพื่อสร้าง Event OnClick ของ Button

[ Guests cannot view attachments ]

เสร็จแล้วก็มาตั้งชื่อ ของ Script Application ที่ Tab สุดท้าย แล้วกด Save ก็จะเสร็จสิ้นในการสร้าง Script ครับ

[ Guests cannot view attachments ]

click Run -> Script Run ก็จะเป็นการ Run Script ที่เราเขียนครับ


[ Guests cannot view attachments ]
« แก้ไขครั้งสุดท้าย: มีนาคม 16, 2023, 06:59:42 AM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #1 เมื่อ: มีนาคม 16, 2023, 07:06:32 AM »
+1
ถัดไปมาดูปัญหาแรกที่หลายๆ ท่านเจอเวลานำ Script ไปใช้งาน ดูเหมือนว่า Script จะทำงานแล้วโปรแกรมไม่ทำงานต่อตาม Flow ปกติ อันนี้เนื่องมาจาก แต่เดิม การเรียกใช้งาน Script นั้นเป็นการเรียกใช้แบบไม่สนใจ result คือ ไม่ว่าจะบันทึกขัอมูลแบบไหนอย่างไร พอปิดหน้าจอ ก็ทำงานต่อ ซึ่งมันจะมีปัญหากับงานที่ต้องมีการยืนยัน หรือกรณีที่ต้องการให้ Script ทำการตรวจสอบข้อมูลตาม Logic ที่เขียนเอาไว้ ถ้าไม่ผ่าน ถือว่าทำงานต่อไปไม่ได้  ตอนนี้จึงมีการออกแบบว่า Script ที่เขียน ถ้าต้องการให้ระบบทำงานไปต่อได้หลังจาก Script ทำงานได้เสร็จสิ้นแล้ว ต้องกำหนดตัวแปรที่ชื่อว่า CurrentHostScriptOK ให้เป็น True ด้วย Statement นี้ครับ

โค๊ด: [Select]
   CurrentHostScriptOK := true;

ในตัวอย่างผมเขียนไว้ตรง event onClose ของ Form นะครับ

[ Guests cannot view attachments ]


ใน version ใหม่ มีการแก้ไขระบบให้ตรวจสอบสถานะของ Script ก่อนเรียกใช้งาน เพื่อให้สามารถ เปิด/ปิด ภายหลังได้ กรณี Script มีปัญหา ถ้าไม่ Check ตรงนี้ Script นี้จะไม่ถูกเรียกใช้งาน แต่จะกดปุ่ม Run ที่หน้าจอ ออกแบบได้ครับ

[ Guests cannot view attachments ]
« แก้ไขครั้งสุดท้าย: มีนาคม 16, 2023, 07:20:26 AM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ TanKit

  • Newbie
  • *
  • กระทู้: 1
  • Respect: 0
    • ดูรายละเอียด
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #2 เมื่อ: มีนาคม 16, 2023, 15:34:26 PM »
0
ขอบพระคุณมากครับ อ.  ;D ;D
 

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #3 เมื่อ: มีนาคม 16, 2023, 16:19:29 PM »
0
คราวนี้มาดูการนำ Script ไปใช้งานนะครับ คือหลายๆ คนคงจะสงสัยว่า script ที่เขียนนี้จะเอาไปใช้ยังไง นอกจากที่จะต้องมา Run ที่หน้าจอ Script นี้ ใน HOSxP XE จะมีระบบ Tracking การ update ตาราง ว่าตอนนี้ user มีการบันทึกข้อมูลที่เกี่ยวข้องกับตารางอะไร และระบบ Script นี้จะไปทำการ hook กับ event ที่เกิดขึ้นกับตารางในระบบ ว่าหากมีการ เพิ่ม / แก้ไข / ลบ ข้อมูลจากตาราง ให้เรียกใช้งาน script ต่างๆ ได้ ซึ่งเมนูที่จะกำหนดให้ระบบเรียกใช้งาน Script จะอยู่ที่เมนูนี้ครับ

[ Guests cannot view attachments ]

ซึ่งในหน้าจอนี้ มีช่องที่ต้องอธิบายคือ table_op คือ เหตุการณ์ที่ต้องการให้ run script ว่าจะให้ run ตอนไหน
 1 = append, 2 = edit ,3 = delete

[ Guests cannot view attachments ]

run before เป็นตัวเลือก ว่าจะให้ script ทำงาน ก่อน หลัง หลังจาก ที่ข้อมูลถูกบันทึกนะครับ


ตอนนี้ตารางที่รองรับ event ที่ hook ไว้กับหน้าจอต่างๆ ที่ทดสอบแล้วจะมีตารางดังนี้ครับ

- patient
- ovst
- ipt
- doctor_wb
- ovst_doctor_sign
- doctor_wb_nurse
- opdscreen
- opitemrece
- opd_qs_slot
- person
- lab_head (เฉพาะ table_op = 2 , run_before = N)

ตารางที่ไม่ใช่ตารางจริงๆ จะเป็นการ hook operation ในหน้าจอนั้นๆ (เช่น *_wb_* )

« แก้ไขครั้งสุดท้าย: ตุลาคม 31, 2023, 10:48:13 AM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #4 เมื่อ: มีนาคม 16, 2023, 16:59:01 PM »
0
ท่านใดมีข้อสงสัย พิมพ์ถามได้ ใน webboard ระบบ webboard ตอนนี้ link webhook ไปยัง slack channel #webboard ของ  Workspace HOSxP Admin Contribute ครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ naj

  • Hero Member
  • *****
  • กระทู้: 2,449
  • Respect: +10
    • ดูรายละเอียด
    • http://www.luangphopern-hospital.com
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #5 เมื่อ: มีนาคม 18, 2023, 12:21:49 PM »
0
การส่ง Parameter รหว่าง Form สามารถทำได้เหมือนใน Delphi ใช่ไหมครับ อ.ชัยพร
(Use Unit)
Yindee And Tan

ออฟไลน์ BlueEye

  • Newbie
  • *
  • กระทู้: 46
  • Respect: +6
    • ดูรายละเอียด
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #6 เมื่อ: มีนาคม 23, 2023, 07:59:30 AM »
0
เยี่ยมเลยครับ รอแบบนี้มานานเลย
Si Prachan Hospital : Suphanburi
OS : CentOS 7
MySQL : MariaDB 10.1.22

ออฟไลน์ SIWIT

  • Sr. Member
  • ****
  • กระทู้: 359
  • ฉันไม่เคยคิดยอม แต่ขอเวลาหน่อย
  • Respect: 0
    • ดูรายละเอียด
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #7 เมื่อ: มิถุนายน 27, 2023, 09:32:44 AM »
0
คราวนี้มาดูการนำ Script ไปใช้งานนะครับ คือหลายๆ คนคงจะสงสัยว่า script ที่เขียนนี้จะเอาไปใช้ยังไง นอกจากที่จะต้องมา Run ที่หน้าจอ Script นี้ ใน HOSxP XE จะมีระบบ Tracking การ update ตาราง ว่าตอนนี้ user มีการบันทึกข้อมูลที่เกี่ยวข้องกับตารางอะไร และระบบ Script นี้จะไปทำการ hook กับ event ที่เกิดขึ้นกับตารางในระบบ ว่าหากมีการ เพิ่ม / แก้ไข / ลบ ข้อมูลจากตาราง ให้เรียกใช้งาน script ต่างๆ ได้ ซึ่งเมนูที่จะกำหนดให้ระบบเรียกใช้งาน Script จะอยู่ที่เมนูนี้ครับ

(Attachment Link)

ซึ่งในหน้าจอนี้ มีช่องที่ต้องอธิบายคือ table_op คือ เหตุการณ์ที่ต้องการให้ run script ว่าจะให้ run ตอนไหน
 1 = append, 2 = edit ,3 = delete

(Attachment Link)

run before เป็นตัวเลือก ว่าจะให้ script ทำงาน ก่อน หลัง หลังจาก ที่ข้อมูลถูกบันทึกนะครับ


ตอนนี้ตารางที่รองรับ event ที่ hook ไว้กับหน้าจอต่างๆ ที่ทดสอบแล้วจะมีตารางดังนี้ครับ

- patient
- ovst
- ipt
- doctor_wb
- ovst_doctor_sign
- doctor_wb_nurse
- opdscreen
- opitemrece
- opd_qs_slot
- person

ตารางที่ไม่ใช่ตารางจริงๆ จะเป็นการ hook operation ในหน้าจอนั้นๆ (เช่น *_wb_* )
สอบถามครับอาจารย์
ถ้าต้องการทำ POPUP หน้าตรวจแพทย์ ผมใส่เป็นตาราง doctor_wb ไม่ทำงานครับ แต่ opitemrece ทำงานอยู่ครับ ผมใส่ผิดตรงไหนรึปล่าวครับผม


Siwit : นวก.คอม รพช.ปักธงชัย
Server : Xeon 2.0 ; Ram: 12Gb: OS: FreeBSD 8.1
Database : mysql 5.1.47
Slave : P4 3.4 Gb; Ram: 2 Gb; OS: FreeBSD 8.0 ; Database: mysql 5.1.47
Client : windows xp sp3 ; Software : Hosxp version 3.53.8.4
ขึ้นระบบวันที่ 1 มีนาคม 2552 ขอบคุณ อ.ทุกๆท่านครับ

ออฟไลน์ pong3plas

  • Full Member
  • ***
  • กระทู้: 183
  • Respect: +1
    • ดูรายละเอียด
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #8 เมื่อ: พฤศจิกายน 17, 2023, 09:00:41 AM »
+1
Script no UI เขียนยังไงคับ ใช้เมนู Form Designer เหมือนกันเลยไหมคับ
นายอนุพงศ์  มันทธวกาญจน์  ร.พ.ปาดังเบซาร์ อ.สะเดา จ.สงขลา
เริ่มใช้ 1 ต.ค.50  HOSxP V.3.56.12.16
เปลี่ยนมาใช้ HOSxP XE วันที่ 13 พ.ค. 66
Almalinux 8.7
PostgreSQL 15.2

ออฟไลน์ sAcIw-FX

  • Newbie
  • *
  • กระทู้: 17
  • Respect: +5
    • ดูรายละเอียด
Re: การใช้งานระบบ Script Program ใน HOSxP XE / PCU XE
« ตอบกลับ #9 เมื่อ: พฤศจิกายน 24, 2024, 12:44:08 PM »
0
อ.ครับ
ขอตัวอย่างการสั่ง print form จาก UE ด้วยครับ