แบบฝึกหัดที่ 1 EzForm

1. โปรดออกแบบสำรวจสั้นๆ โดยให้มีคำถามไม่เกิน 5 ข้อ จากนั้น สร้าง Token แล้วนำ QR Code ที่ได้ส่งเข้าในไลน์กลุ่มใดก็ได้ จากนั้น Export ข้อมูลส่ง

2. โปรดสร้างฟอร์ม โดยการ Restore จาก Backup file ทั้ง 5 ไฟล์ ต่อไปนี้ จากนั้น จัดสิทธิ์ให้ Guest มองเห็นได้

3. โปรดโคลนฟอร์ม ACT ที่ได้จากข้อ 1 เป็นฟอร์มใหม่ชื่อ MyACT จากนั้น 

3.1) เพิ่มเข้าไปอีกหนึ่งข้อคำถาม คล้ายคำถามข้อ 2. "ในช่วง 4 สัปดาห์ที่ผ่านมา บ่อยแค่ไหนที่คุณรู้สึกหายใจไม่อิ่ม"  แต่เปลี่ยนเป็น "ในช่วง 4 สัปดาห์ที่ผ่านมา บ่อยแค่ไหนที่คุณไอ" 

3.2) แก้ไขเกณฑ์การแปลความหมาย ACT Interpretation โดย

   - Controlled Asthma (>=25)

   - Partially controlled (21-25)

   - Uncontrolled (<20)

3.3) จัดสิทธิ์ให้ Guest สามารถร่วมแก้ไข MyACT ได้

4. โปรดสร้างแบบคัดกรอง COVID-19 โดยใช้ EzForm ให้สามารถทำงานได้ เช่นเดียวกันกับในลิ้งค์นี้ http://region6.cbo.moph.go.th/Selt-Screening/
    ทั้งนี้ Dropdown list ในข้อ 3 ต้องให้ผู้ใช้งานเป็นผู้เพิ่มชื่อประเทศเองตามที่ต้องการได้เอง

การส่งคำตอบ: ส่งไฟล์ที่ได้ต่อไปนี้ทางเมล์ ไปที่ thaihisorg@gmail.com

  1. ไฟล์ข้อมูลที่ Export ออกจาก EzForm (ตามคำถามข้อ 1)
  2. แจ้ง Username Password ของ Guest ที่ท่าน Add เข้าระบบ เพื่อให้สามารถเห็น EzForm ทั้ง 5 ที่ท่าน Restore (ตามข้อ 2) และให้ Guest เป็นเจ้าของร่วม MyACT (ตามคำถามข้อ 3)
  3. แนบทุกไฟล์ที่ได้จากการ Backup Form ทั้ง MyACT และ COVID-19 (ตามคำถามข้อ 4)


เฉลยแบบฝึกหัดที่ 1 และต่อยอดประสบการณ์


แบบฝึกหัดที่ 2 EzModule, EzWidget, and EzSQL

  1. โปรดทำ EzForm ให้เป็นเครื่องคิดเลข
  2. โปรดสร้าง Application โดยใช้ EzModule สำหรับการดูแลและรักษาผู้ป่วยสูงอายุ โดยมีรายละเอียดดังนี้
           2.1) มีฟอร์มผู้ป่วย (Patient) สำหรับเก็บข้อมูล ชื่อ นามสกุล อายุ เพศ เป็นต้น
           2.2) มีฟอร์ม Visit เพื่อนำไป join กับฟอร์ม Patient โดยให้มีการเก็บข้อมูลการซักประวัติและการตรวจคัดกรองในแต่ละ visit
           2.3) ให้ฟอร์ม การักษาและดูแลผู้ป่วย join กับฟอร์ม Visit โดยเก็บข้อมูล การตรวจร่างกาย การวินิจฉัย การให้การรักษา และการดูแลผู้ป่วย เป็นต้น
โดยใน EzModule นั้น จะต้องมี EzWidget ประเภท Parent Selector By EzSQL ในการ ค้นหา Patient และ Visit
ท่านสามารถส่งงานได้เมื่อพร้อม โดยเพียงแจ้ง URL ของ รพ.ที่ท่านสร้าง พร้อม username (ชื่อ guest) และ password (ตามที่ท่านกำหนด) ไปที่ thaihisorg@gmail.com จากนั้น กรุณารอรับการติดต่อกลับจากทีมงาน เพื่อรับการ feedback หรือการเทียบเชิญร่วม ThaiHIS Core Team ต่อไป


แบบฝึกหัดที่ 3 EzFlow & EzWorkBench

  1. ???
  2. ???


แบบฝึกหัดที่ 4 Advanced EzFlow

  1. ???
  2. ???

การพัฒนาระบบ Web Application ด้วย EzFlow

(Last update: 16 July 2020)

Easy Flow Solution Co.Ltd.

A. ทักษะที่ควรจะมีก่อนเรียนรู้

  • User Interface (UI)     -> HTML 5, CSS 3
  • Programming     -> JavaScript, jQuery
  • Data/Database     -> JSON, MySQL
  • Suggested learning resource: https://www.w3schools.com
  • Learning by practicing at www.thaihis.org 
  • สมัครสมาชิก -> Login 
  • เมื่อ Login เข้าไปใน ThaiHIS แล้ว ให้สร้าง HIS สำหรับโรงพยาบาลขึ้นมาเพื่อเริ่มทำงานพัฒนาระบบ โดยคลิก Create New Project แล้วโคลนจาก System Template ที่ชื่อ EzFlow 



  • สามารถใช้เมนูบาร์ ด้านบนสุดของเว็บ ซึ่งมีเมนู EzFlow เพื่อคลิกสร้าง EzFlow  

  • หรือคลิกเมนู EzModule จากนั้น จะมี 4 โมดูลต่อไปนี้ ที่เกี่ยวข้องกับ EzFlow


จัดการ ThaiHIS ทั้งระบบ

จัดการ EzFlow รวมทั้งการอนุมัติให้ EzFlow ที่สมาชิกสร้างขึ้นนั้น ให้สามารถใช้ใน EzWorkBench ได้ 

ระบบสร้าง EzFlow สามารถใช้งานโดยคลิกที่เมนูหลัก EzFlow ของเว็บเพจได้ด้วยเช่นกัน

User Interface ของ EzFlow ที่สร้างโดยกำหนดคุณสมบัติเป็น EzTask


B. Data type ของ EzFlow 

  • ใช้รูปแบบ JSON ในการรับ ส่ง parameter 
  • มีอยู่สองแบบคือ Single Row และ Multiple Row
  • Single Row จะมีลักษณะดังนี้
    {attr1:value1, attr2:value2, …, attrN:valueN} หรือ [{attr1:value1, attr2:value2, …, attrN:valueN}]
  • Multiple Row จะมีลักษณะดังนี้
    [{attr1:value1, attr2:value2, …, attrN:valueN}, {attr1:value1, attr2:value2, …, attrN:valueN}, …{attr1:value1, attr2:value2, …, attrN:valueN}]


C. การเรียกใช้งาน EzFlow มีอยู่ 3 ช่องทาง คือ

  1. ผ่าน URL โดยกำหนด URL ตามรูปแบบต่อไปนี้
    /ezflow/basic/flow-runtime?flow_id=1593677101032740500&return_data=1

เมื่อ 

  • flow_id คือ id ของ EzFlow
  • return_data คือ ลักษณะของการ return data โดยที่
    0 = ข้อมูลทุกอย่างของการประมวลผล
    1 = ส่งข้อมูลเฉพาะที่ตั้งค่าไว้ใน EzFlow


  1. ผ่าน Widget โดยการเลือก EzFlow ที่ต้องการ (EzFlow มีให้ใช้ในบาง Widget เท่านั้น)
  2. ผ่าน EzWorkBench (กรณีระบบใดที่มี EzWorkBench เป็น Main Page) ทั้งนี้ต้องส่ง EzFlow เพื่อขออนุญาตใช้งานผ่านเมนู EzWorkBench ก่อน และกระบวนการสร้าง EzFlow เพื่อการนี้ ต้องให้ Node start เลือก Source of Incoming เป็น Form ภายใน  Flow ก่อนเสมอ เพื่อให้แสดงผลผ่าน Method task


D. Node type ของ EzFlow มีดังนี้

Start Node คือ node เริ่มต้นของ EzFlow และเป็นตัวกำหนด ตัวแปรหลัก (Set State)

Process Node คือ node ที่กำหนดการทำงานต่างๆ

IF Node คือ node ที่กำหนดเส้นทางตามเงื่อนไข

End Node คือ node ที่จบการทำงานและ กำหนดตัวแปรที่ส่งออก


E. Method type ที่เป็น Algorithm ของแต่ละ Node ใน EzFlow มีดังนี้

  • Get

ใช้ EzSQL ในการ select ข้อมูลจาก Table ที่ได้จาก EzForm.      

  • Set

Insert หรือ update ข้อมูลลงใน Table ที่ได้จาก EzForm

  • Del

Delete ข้อมูลใน Table ที่ได้จาก EzForm

  • Condition

สร้างเงื่อนไขจากข้อมูลที่มีอยู่

  • Binding

ประกาศ Global variable เพื่อใช้ใน Node ถัดไป

  • Update_task

แก้ไขข้อมูล Task ที่ส่งออกไป

  • Task

ส่ง Task ให้กับ user ที่เข้าเงื่อนไข พร้อมแสดงข้อมูลเบื้องต้น

  • Return

ออกจาก Node หรือ Process นั้นทันที

  • Function

เรียกใช้ฟังชั่นต่างๆ ที่ EzFlow Admin สร้างไว้

  • Process_form

กำหนดฟอร์มที่ต้องบันทึก

  • Event

กำหนด Process หลังจากบันทึกฟอร์ม


  • Method type เป็น Hierarchical Structure
  • Method type ใดทำงานไม่สำเร็จ Method type ลูกๆ จะไม่ถูก run 
  • Method type ที่ทำงานแล้วจะออกจาก node นั้นๆ ทันที ได้แก่
    return, task
  • Sub-method type มีดังนี้
    task -> process_form-> event
  • โครงงานการทำงานของ method เป็นดังนี้ 

 

function method({params}){

     {process by method type}


     return ถ้า method type ทำงานสำเร็จจะส่งค่า เป็นข้อมูลที่ได้ หรือ ส่งค่า true

     return ถ้า method type ทำงานไม่สำเร็จจะส่งค่า false

}


************************

 1 การสร้าง EzForm 

 2 การสร้างคำถาม 

 3 การกำหนดความยาวให้กับคำถาม 

 4 การเปลี่ยนสีคำถาม 

 5 การเปลี่ยนสีพื้นหลังคำถาม 

 6 การใส่ไอคอนให้กับคำถาม 

 7 การกำหนดค่าเริ่มต้นให้กับคำถาม 

 8 การตั้งค่าขั้นนสูงให้กับคำถาม 

 9 การกำหนด Validations ให้กับคำถาม 

 10 การกำหนดค่าอัตโนมัติให้กับคำถาม 

 11 การเชื่อมฟอร์ม 

 12 การสร้างคำถามเพื่อรับค่าเลขบัตรประชาชน 

 13 การใช้งานประเภทคำถาม compoent 

 14 การใช้งานประเภทคำถาม Reference fied 

 15 การใช้งานประเภทคำถาม Auto number 

 16 การใช้งานประเภทคำถาม Data table 

 17 การใช้งานประเภทคำถาม Drawing pad 

 18 การสร้างประเภทคำถามแบบ Choice ตัวเลือก 

 19 การซ่อนแสดง คำถาม 

 20 การตั้งค่า EzForm 

 21 การใส่โค้ดเสริมให้กับ EzForm 

 22 การกำหนดคุณสมบัติให้กับ EzForm 

 23 การ Export Form 

 24 การ Import Form 

 25 การ Clone Form 

 26 การลบฟอร์ม 

 27 การสร้าง Token เพื่อให้สามารถบันทึกข้อมูลได้โดยที่ไม่ต้องล็อกอิน 

 28 การบันทึกข้อมูล EzForm