แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - farmonline

หน้า: [1]
1
อยากทราบว่าเปิดใช้งานอย่างไรครับ และใช้กับปุ่มไหนได้บ้างครับ

2
ไม่ว่าจะเป็น Flow ใหม่ หรือ Flow เก่า ของสปสช คือถ้่าไม่มีเลขบัตรประชาชน ถือว่าไม่ผ่าน ซึ่งเรื่องนี้หลายๆโรงพยาบาลก็คงเจอปัญหาเหมือนผม คือไม่สามารถหาเลขที่บัตรประชาชนของคนเหล่านี้ได้นั่นคือ
  1. คนไทยไร้สิทธิ์ : คนไทยแท้ๆ ไม่มีบัตรประชาชน
  2. ต่างด้าว
  3. HN ที่สร้างขึ้นเพื่อวัตถุประสงค์ในการใช้งาน LAB (ในกรณี PCU หรือ รพ.อื่นส่ง Lab มาตรวจและต้องนำเข้า LIS)
  4. เด็กเกิดใหม่และไม่ได้อยู่ในเขตพื้นที่รับผิดชอบ และไม่ได้กลับมารับบริการกับโรงพยาบาลอีก

ในข้อ 1-3 โดยเฉพาะข้อ 3 หากสามารถเลือกได้ว่าไม่ต้องส่งออกก็จะทำให้ความสมบูรณ์ของแฟ้มที่ส่งออกมีมากขึ้น แต่ก็ัยังเป็นดาบ 2 คม คือหากนำไปใช้ในทางที่ผิดก็จะมีผลกับความสมบูรณ์ของเลข 13 หลักเพราะอาจไม่สนใจหา 13 หลักถ้าไม่มีก็ติ๊กส่งเดชไปก่อนเป็นต้น แต่ในอีกแง่ เวลาส่งออกมาก็จะตัดปัญหาพวก CID ที่เป็น 0000000000000 ที่มักจะไปเอา PID ของ Person คนแรกที่มีเลข 13 หลักเป็น 0000000000000  มาเป็นตัวส่งออก



3
ยังไม่เห็น change log ครับ change log ล่าสุดยังเป็น 3.55.06.08 อยู่เลยครับ

4
สวัสดีครับ ไม่ได้โพสซะนาน เรื่องมีอยู่ว่า ผมใช้ router Edimax (น่าจะจ้าง smc ผลิต) แล้วมีอาการ login เข้าหน้า router ไม่ได้ทั้งๆที่ password ถูก และมีอาการรวน ในหลายๆอย่างเนื่องจากไฟกระฉาก ผมจึงคิดว่าน่าจะเสีย เลยทำการซื้อ router ใหม่ รุ่น smc 7904WBRAS-N มาเมื่อวันเสาร์ เหมือนโชคชะตากลั่นแกล้ง พบอาการเหมือนกับ Edimax เลยคือ login หน้า router ไม่ได้ ผมลอง up firmware ล่าสุด (เดือน 4 ปี 55) ก็ยังไม่ได้ ล่าสุดในเว็บบอร์ดของ pantip มีการโพสบอกวิธีแก้โดยคุณ boyyob ครับเลยเอามาให้ดูกันเผื่อใครเจอปัญหากับ router smc แบบผม ส่วนใครที่ยังไ่ม่เจอแนะนำให้ลอง login ดูนะครับ คิดว่าเป็นหลายรุ่นครับ

--------------------------------------------------------------------------------------------------------------------
SMC7904WBRAS-N (150M) วิธีแก้ปัญหาไม่สามารถ Login เข้าไปตั้งค่าได้

รุ่น : SMC7904WBRAS-N
ปัญหา : ไม่สามารถ Login เข้าไปตั้งค่าได้

พบปัญหาเมื่อเข้าหน้า Login แล้วใส่ Username : admin / Password : smcadmin
พบว่าไม่สามารถ Login เข้าไปตั้งค่าได้ จะค้างอยู่ หน้า Login เหมือนเดิม
ปัญหาเกิดจาก bug เรื่องวันที่ Software Expire date 15/5/2012

ทาง SMC ได้ออกตัว Firmware ที่แก้ไขปัญหา Expire date on 15/5/2012 แล้ว
สามารถ Download ได้ที่

http://www.smc-asia.com/download.php?Fullkey=230&Class=3

เลือก download ไฟล์ใดไฟล์หนึ่ง
- Autorun tool for May 15 login issue
- Firmware fix for May 15 log in bug
แล้วทำตามขั้นตอน
(กรณีที่ใช้ auto run ไม่ผ่าน กรุณา up firmware ตามขั้นตอนปรกติ)

หรือ

http://www.smc-asia.com/files/Autonrun%20Tool%20For%20SMC7904WBRAS-N%20Login%20issue.zip

http://www.smc-asia.com/files/SMC7904WBRAS-N%20fix%20May15.zip

หรือ
www.smc-asia.com
แล้ว search ชื่อรุ่นที่มุมขวาด้านบน

หลัง up firmware แล้วจะสามารถ log in เข้า Config ได้ตามปกติ

หมายเหตุ :-
หากต้องการ log in เข้าใช้งานชั่วคราว เช่น back up config สามารถแก้ไขเบื้องต้น ได้ดังนี้
1.ให้ลูกค้าปิด Browser ทุกหน้าก่อน
2.ให้เปลี่ยนวันที่ให้เป็น 14/5/2012 ( ก่อนวันที่หมดอายุ )
3.แล้วเปิด Browser ไม่ว่าจะเป็น IE หรือ Google Chrome หรือ Firefox ก็ได้
4.เข้าหน้า Login 192.168.2.1 แล้ว ใช้ Username : admin / Password : smcadmin เหมือนเดิม จะสามารถเข้าหน้า Login ได้
5.เมื่อตั้งค่าเรียบร้อยให้ปรับเป็นวันที่ปัจจุบัน

หรือติดต่อฝ่าย Service / Technical Support
DCOM : 02-3980790
SVOA : 02-4625822

จากคุณ : boyyob -[ 19 พ.ค. 55 - 18:03:54 A:192.168.0.127 X:110.168.244.30 ]

6
ในปีนี้ไม่เน้นว่าตอบข้อไหน แต่เน้นว่าได้คะแนนเท่าไหร่แทน
และมีเงื่อนไขมากกว่าโรคเรื้อรังนั้นคือ

ผู้ป่วยโรคเรื้อรังทางกาย (เบาหวาน ไตวายเรื้อรัง มะเร็ง โรคหลอดเลือดสมอง โรคหัวใจและหลอดเลือด)
หญิงตั้งครรภ์ / หรือหลังคลอด (ต้องคัดกรอง 2Q 8Q 9Q ตอนไปเยื่ยมหลังคลอด)
ผู้สูงอายุ
ผู้ที่มาโดยอาการซึมเศร้าชัดเจน
ผู้ป่วยที่มีอากาทางกายหลายอาการที่หาสาเหตุไม่ได้
ผู้ที่มีการสูญเสีย คนรัก หรือ ทรัพย์สินจำนวนมาก

ในปีนี้สามารถนำเข้าข้อมูลจาก 21 แฟ้มได้ตรงแล้วครับ
มีการปรับใหม่ทั้งในส่วนของ Offline และ Online
แต่ในส่วนของ Online ยังมีปัญหาการใช้งานเรื่องความช้าเวลาเรียก Report อยู่
http://www.thaidepression.com/www/

7
   ในการ Audit Chart เขาต้องการข้อมูลทราบน้ำหนักแรกเกิด ซึ่งถ้า คนไข้ไม่ได้คลอดที่  รพ. ของเราเอง แต่ไปคลอดที่อื่นๆ ก็จะไม่มีข้อมูลตรงนี้ครับ

8
Development / E2010 Incompatible types: 'PWideChar' and 'PAnsiChar' ใน Delphi XE2
« เมื่อ: มกราคม 04, 2012, 10:32:41 AM »
ขอความรู้จาก อาจารย์ทุกๆท่านครับ ผมมีปัญหาว่า ผมไม่สามารถใช้ Delphi XE2 ในการ Compile Component (ผมกำลังพยายาม Compile เจ้า TDBF  http://teleflow.org/software/opensource/tdbf/TDbf_Delphi_XE_v1.zip) ครับ มันขึ้น Error ว่า E2010 Incompatible types: 'PWideChar' and 'PAnsiChar' ไม่ทราบว่าพอมีทางแก้ไขไหมครับ


ปล. เท่าที่ ศึกษาคือ WideChar = 16 Bit แต่ AnsiChar คือ 8 Bit
อ้างอิงจาก http://stackoverflow.com/questions/4939854/what-is-the-difference-between-widechar-and-ansichar

9
กำลังศึกษา Delphi ครับ พึ่งได้ Delphi XE มาลอง แต่ติดปัญหาไม่สามารถ Save ไฟล์ได้
ผมลองลงใน Windows XP ก็ไม่มีปัญหาอะไร แต่ลงใน Windows 7 Untimate ของผมมีปัญหา UAC ก็ปรับไม่ให้ถามแล้ว Run แบบ Administrator แล้ว Format เครื่องแล้วลงใหม่ก็แล้ว

คิดว่าน่าจะเกิดจากการตั้งค่าบางอย่างของผมไม่ถูก อ.ท่านใดเคยพบปัญหาแบบเดียวกับผมบ้างครับ
ช่วยผมหน่อย

10
นอกเรื่อง / เว็บ OP.nhso.go.th/op ของสปสช ล่มครับ
« เมื่อ: สิงหาคม 09, 2011, 10:29:22 AM »
ปิยะณัฐ นิ่มขุนทด
รายงานสดจาก สปสช เขต ๒ พิษณุโลก  ;D

11
      เรื่องแรกเนื่องจากการบันทึกข้อมูลโรคซึมเศร้าในหลายๆ รพ. มีการคัดกรอง 2Q และ 8Q 9Q แยกกัน
อันได้แก่ ให้พยาบาล OPD คัดกรอง 2Q และส่งต่อให้แผนกจิตเวชคัดกรอง 9Q และ 8Q ต่อไป
แต่ HOSxP จะไม่ยอมให้บันทึกและจะปิดฟอร์มลงทันทีหาก 2Q มีข้อใดข้อหนึ่งเป็นถูก และไม่ได้ทำการคัดกรอง 9Q
ดังนั้นจึงทำให้การทำงานระหว่างหน่วยงานทำได้ยากครับ จึงขอความกรุณาอาจารย์ปรับดังนี้นะครับ
   1. สถานะการดูแล ขึ้นอัตโนมัติ
   2. คำตอบ 9Q ขึ้นอัตโนมัติ
เพื่อให้ OPD สามารถบันทึกข้อมูลการคัดกรอง 2Q ได้ง่ายขึ้นครับ

       เรื่องที่สองหากเราเลือก 2Q ข้อใดข้อหนึ่งเป็นถูก แล้วเลือกว่า ไม่มีอาการหดหู่ด้วย HOSxP จะบันทึกว่า ไม่มีอาการหดหู่เพียงอย่างเดียว จึงขอความกรุณาอาจารย์ช่วยปรับดังนี้ครับ
    1. หากเลือกไม่หดหู่แล้วจะไม่สามารถเลือกข้อใดๆของ 2Q ได้ และไม่สามารถบันทึก 9Q หรือ 8Q ได้
    2. หากเลือกอย่างน้อย 1 ข้อของ 2Q จะไม่สามารถเลือกไม่หดหู่ได้
    3. หากเงื่อนไขไม่ครบ ฟอร์มต้องไม่ปิดลงทันที แต่ต้องบังให้กรองให้ถูก หรือเลือก cancel เพื่อออก

       เรื่องที่สาม การคัดกรองโรคซึมเศร้าในผู้ป่วยในยังไม่สามารถทำได้ครับ จึงขอความกรุณาอาจารย์เพิ่ม ปุ่มการคัดกรองในผู้ป่วยในเพื่อให้สามารถคัดกรองได้ครับ

ขอบคุณครับ

12
เนื่องจากสิทธิ์ที่ได้จาก Web service ของ สปสช (โดยการกดปุ่ม NHSO) จะไม่เป็นเหมือนกับสิทธิ์ที่เรากำหนดค่าในโรงพยาบาล เช่น ประกันสังคม ก็จะเป็นประกันสังคมเลยโดยไม่แบ่ง ในเขต นอกเขต ดังนั้นวิธิที่เราจะเช็คให้ชัวร์ก่อนส่งตรวจก็คือต้องดูที่ สถานพยาบาลหลัก หรือรองก่อน ซึ่งในหน้าลงทะเบียนส่งตรวจ การตรวจสอบสิทธิ์หากเป็นสิทธิ์ UC จะมีสถานพยาบาลหลัก และ สถานพยาบาลรองขึ้น แต่พอเป็น สิทธิ์ประกันสังคมทำไมสถานบริการหลักและสถานบริการรองไม่ขึ้นครับ ทำให้หลายๆครั้งเจ้าหน้าที่เวชระเบียนหลุด จึงอยากให้มีสถานบริการหลัก และ รอง ขึ้นโชว์เหมือนกันสิทธิ์ UC ครับ

13

http://appinventor.googlelabs.com/about/

App Inventor  เป็นเป็นไทยว่า ประดิษฐ์ประแกรมประยุกต์ เอ่อ เอาเป็นว่าอย่าไปสนใจชื่อไทยมันเลยดีกว่าครับ
ความสามารถของมันคือ คุณสามารสร้าง application ได้ผ่านหน้าเว็บเลยทีเดียว แค่มี google account เท่านั้น โปรแกรมนี้ถูกพัฒนาขึ้นโดย google เจ้าของ Android นั่นเอง พอผมลองใช้แล้วรู้สึกว่ามันง่ายมากๆ ไม่ต้องมานั่งตั้งค่าอะไรอีก จากเดิมที่ต้องพัฒนาจาก eclipse ตั้งค่า Add-ON อีกสารพัด ข้อดีของโปรแกรมนี้คือ ไม่มี code ให้เขียนครับ อยากที่บอก ลาก และ วาง หรือฝรั่งจะเรียกว่า Drag and Drop ครับ มี Vedio สาธิตเรียบร้อย ลองดูครับ

Vdo สาธิตการใช้งาน http://www.youtube.com/embed/8ADwPLSFeY8

14
  เนื่องจากผมได้รับมอบหมายให้ดูแลและพัฒนาโปรแกรมครุภัณฑ์ แต่ผมไม่สามารถหารหัสมาตรฐานของครุภัณฑ์ต่างๆได้ (ส่วนใหญ่ เป็น PDF) นอกจากรหัสของ ครุภัณฑ์คอมพิวเตอร์ ที่ได้มาจากของกระทรวง หากพี่ๆน้องๆคนใดมี ผมขอความกรุณาด้วยครับ  :)

15
Admin tools / HOSxP2Depress 2011 ออกให้ทดสอบครับ
« เมื่อ: กุมภาพันธ์ 18, 2011, 15:54:33 PM »
HOSxP2Depress 2011
เวอร์ชั่นนี้ออกมาเพื่อ ดึงข้อมูลการคัดกรอง 2Q 9Q และ 8Q จาก HOSxP ในเมนูคัดกรองโรคซึมเศร้า (ไม่ใช่ UE นะครับ) เข้าโปรแกรม Depression 2011 ของโรงพยาบาลพระศรีมหาโพธิ์ (ตัว Offline ) แล้วใช้ตัว offline ส่งออกอีกทีครับ

Download ได้ที่นี่ครับ
https://sites.google.com/site/hosxp2depression2011/

16
รบกวนสอบถามเรื่องแบบคัดกรองโรคซึมเศร้าครับ ในส่วนของ  8 คำถาม ทำไมจึงมี 9 ข้อครับ
ใครพอทราบเหตุผลบ้างครับ

17
          เมื่อคืนที่ผ่านมา  อ.ณัฐวุฒิ ท่านได้สูญเสียบิดาอันเป็นที่รักไปอย่างไม่มีวันกลับ ผมขอแสดงความเสียด้วยนะครับ ขอให้พี่ณัฐเข้มแข็งมากๆครับ

18
เป็นโปรแกรมที่ใช้สำหรับตรวจสอบข้อมูล OPPP ที่ได้จากการโปรแกรมตรวจสอบของ สปสช กับ โปรแกรม HOSxP เพื่อช่วยให้ Admin วิเคราะห์ปัญหาได้ง่ายขึ้นโดยไม่ต้องเชียนคำสั่ง SQL เองทุกครั้งที่ต้องการจะค้นหาข้อผิดพลาดของข้อมูล โดยโปรแกรมจะดึงข้อมูลที่เกี่ยวข้องจาก HOSxP ออกมาแสดง นอกจากกนี้ยังส่งออกข้อมูลที่ผิดพลาดออกมาในรูปแบบ Excel ได้อีกด้วย ทำให้ยืดหยุ่นในการนำไปใช้ต่อได้ ฝากพี่ๆ Admin ทดสอบใช้งานดูนะครับ หากมีข้อผิดพลาดอยากไร หรือ อยากได้เพิ่มเติมในส่วนไหน บอกได้เลยนะครับ

PowerPoint
http://www.mediafire.com/?5ed8rrbykmenj

ความต้องการของระบบ
โปรแกรมตรวจสอบ NHSO OP-PP 2554 http://op.nhso.go.th/op/download/DownloadAction.do
โปรแกรม HOSxP HOSxP.net
DotNet Framework 3.5 SP 1 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7&displaylang=en
Crystal Report Viewer 2008 http://www.mediafire.com/?8mprw4p8ehig2

Program
v.1.2.11
http://www.mediafire.com/?scqqw1z5fa1w29b
   - แก้ Bug Wording "แสดงข้อมูลซ้ำซ้อน"
   - แก้ Bug การเรียกดูข้อมูลในกรณี PID = 000000
   - เพิ่ม การแสดงผล VN_Stat โดยเลือกได้ว่าจะแสดงเฉพาะวันที่มารับบริการหรือ แสดงทั้งเดือน
   - แก้ Bug "Error Concat(fname,' ',lname) as name" ในหน้า Serch Info
   - แก้ Bug ปุ่ม Copy ไม่ทำงาน
   - ปรับปรุงระบบวิเคราะห์ข้อมูลในการแสดงคำแนะนำหน้า Search Information
     - แสดงคำแนะนำ CID ไม่ตรง
     - แสดงคำแนะนำ ชื่อ - สกุล ไม่ตรง
     - แสดงคำแนะนำ วันเกิดไม่ตรงกัน
   - แก้ Bug ระบบค้นหาโดยใช้ PID 
   - เพิ่มรายงานการตรวจสอบข้อมูล Patient ซ้ำซ้อน โดยการ คลิ๊กขวาแล้วเลือก Print
                   ที่หน้า OP Person**** ต้องลง Crystal Report 2008 Viewer http://www.mediafire.com/?cbrx6zngcglwwgm *****
   - แก้ Bug Import XML เข้า DBSetting ไม่ได้
Update V 1.2.10
http://www.mediafire.com/?xtqb6d9aisr1b3e
                - แก้ bug กรณี Connect ฐานข้อมูล HOSxP ไม่ได้
Update V 1.2.9
http://www.mediafire.com/?pr4d1bath7da9n8

   - เพิ่มการตรวจสอบแฟ้ม Service
      - OP9205
      - RF9225
      - RF9226
      - OP2103
      - PE1103
   - เพิ่มการตรวจสอบแฟ้ม Diag
      - DX2103
      - DX9231
      - DX9232
      - DX1131
   - เพิ่มการตรวจสอบแฟ้ม Proced
      - PX9230
      - PX1103
      - PX2103
   - แก้ Bug แฟ้ม Proced ไม่เห็น Column Header
   - เพิ่มการแสดงผล CODE_ID ทาง Panel ด้านขวามือ   
   - เพิ่มสรุปรายการ Error แยกตาม CODE ID ในแต่ละแฟ้ม ใน เมนู เครื่องมือ (Tools)
   - เพิ่มสรุปรายการ Error แยกตาม CODE ID ในแต่ละแฟ้ม ใน หน้าตรวจสอบ
   - แก้ Bug Import XML เข้า DBSetting ไม่ได้
   - แก้ Bug แฟ้ม Proced ไม่แสดง CODE_ID และรายละเอียด Error
   - เพิ่มการตรวจสอบข้อมูลบริการ (DIAG,PROCED,DRUG) ใน แฟ้ม Service
   - แก้ bug Generate Script สำหรับ Insert ในกรณีไม่พบ Ptcardno
     (Generate CID Format ไม่ถูกต้อง)
Update V 1.2.8
http://www.mediafire.com/?c5dgyexe4727mc2
   - เพิ่มการตรวจสอบแฟ้ม Proced
   - PX9200
   - PX9299
- เพิ่มการตรวจสอบแฟ้ม Diag
   - DX9200
   - DX9230
   - DX9299

Update v.1.2.7
http://www.mediafire.com/?ij2047toqhknmc8
   - แก้ bug เปลี่ยนไฟล์นำเข้าแล้วข้อมูลใน Grid ไม่เปลี่ยนตาม (Error จากการ Get ค่า ปี กับ กับเดือน จากชื่อไฟล์นำเข้า)
   - เพิ่มการตรวจสอบ แฟ้ม Drug   
      - RX9200
      - RX9239
      - RX9299
      - RX1130
   - เพิ่มการตรวจอบ แฟ้ม Service
      - OP9299
   - ปรับปรุงการแสดงผลหน้า ค้นหา หาก ไม่มีข้อมูลใน Person ให้แสดงข้อมูลจาก Patient แทน

Update V 1.2.6
http://www.mediafire.com/?3kkwx2g9zt046q0
   - แก้ bug ข้อมูลในหน้า search ไม่ตรง
   - เพิ่มการตรวจสอบข้อมูล PP Package แฟ้ม ANC


Update V 1.2.5
http://www.mediafire.com/?zd6a7e1g6ee3a7q
- เพิ่มการส่งออกและนำเข้าการตั้งค่า Database (เวลา Update จะได้ไม่ต้องตั้งค่าใหม่)
- เพิ่ม Version History
- เพิ่มการตรวจสอบ 18 แฟ้ม (รองรับ HOSxP PCU)
- เพิ่มการตรวจสอบ ความสมบูรณ์ของ 18 แฟ้ม  (รองรับ HOSxP PCU)


V.1.2.4
http://www.mediafire.com/?m6ow9uozgp0cbw4

Screen Short
http://www.mediafire.com/?5ed8rrbykmenj

19
เป็นเฉพาะกับผู้ป่วยที่เป็น IPD ครับ OPD จะปกติครับ รบกวนช่วยพี่ๆช่วยตรวจสอบหน่อยครับ

20
Admin tools / คู่มือการใช้งาน Dropbox
« เมื่อ: พฤศจิกายน 06, 2010, 14:45:19 PM »
เป็นคู่มือที่ทดสอบ และ Review ด้วยตัวเองครับ ได้แรงบันดาลใจมาจาก pantip.com ครับ http://www.pantip.com/tech/techblog/article.php?articleID=SR2959301

เป็นอีกตัวเลือกนึงนอกเหนือจาก Google Docs และ skyDrive ในการใช้งานครับ
ข้อเสียคือ มันจะไม่เตือนเราครับ ว่ามีคนกำลังเปิดใช้งานอยู่ ทำให้ถ้ามีการเปิดพร้อมกัน 2 คน แล้ว save ก็จะกลายเป็น 2 ไฟล์ครับ ผมจึงคิดว่าเอามาทำเป็นที่ backup ไฟล์ หรือเอาไว้ up เก็บไว้เวลากลับไปทำงานที่บ้าน จะได้เปิดใช้งาน โดยไม่ต้อง copy ไป copy มาน่าจะเหมาะที่สุดครับ ใช้เนื้อที่ได้ฟรี 2 GB ครับ

21
ตามรูปเลยครับ คือว่าลองนำคำสั่ง sql ที่ได้มาลอง Run ดูแล้วก็แสดงข้อมูลครบนะครบ แต่หน้านี้กลับไม่ขึ้นครับ รบกวนช่วยตรวจสอบครับ

22
ทาง งาน NCD เขาแจ้งว่าต้องการลงข้อมูลสำรวจทุกปีนะครับ เช่น Low Risk ต้องมีการข้อมูลสำรวจตั้งแต่ปี 50 เป็นต้นนะครับแต่ตอนนี้ HOSxP ยังไม่สามารถลงบันทึกได้เนื่องจาก Table "clinic_cormobidity_list" มีการกำหนด Index ที่ชื่อ "hn_clinic_cormobidity_unique" โดยกำหนด ให้ใช้ HN-Clinic-cormobidity ซึ่งมี index type เป็น "Unique" จึงอยากให้อาจารย์ช่วยเพิ่ม begin_date ให้ใน index ด้วยนะครับ แต่ผมก็สังเกตุเห็นว่ามี field ที่ชื่อว่า update_date อยู่ด้วยนะครับแต่ก็ไม่ทราบว่าใช้บรรทึกตรงไหน รบกวนด้วยครับ หรือหากอาจารย์ท่านใดมีข้อแนะนำ ขอความกรุณาด้วยครับ




23
ผมลองคิดนอกกรอบดูนะครับ เรื่องเครื่องพิมพ์ใบเสร็จรับเงิน เป็นไปได้ไหมครับ หากใช้เป็นกระดาษ A4 พิมพ์ออกมาแทน โดยแบ่งออกเป็น ต้นฉบับ และ สำเนา อย่างละครึ่งแทน โดยมีตราโรงพยาบาลประทับไว้ตรงกลางและเซ็นกำกับอีกที และ ฉีกเอาเฉพาะสำเนาให้คนไข้ แต่ผมไม่แน่ใจว่า ใบเสร็จที่เราพิพม์กันทุกวันนี้ทาง การเงินเขานำไปทำอะไรต่อนะครับ และจำเป็นไหมที่ต้องเป็นกระดาษ copy เท่านั้น หรือ เวลาที่คนไข้นำไปเบิกที่ต้นสังกัด จะมีปัญหาไหมนะครับ ที่คิดเพราะเคยเห็นโรงพยาบาลแห่งหนึ่งเขาทำ ที่ผมได้เป็นแบบนี้อาจเพราะว่าผมเบิกไม่ได้ก็เป็นได้ครับ ใครพอสันทัดด้านนี้ผมขอความรู้เพิ่มหน่อยครับ

24
อันนีี้ผมทำเองครับ ทำเสร็จแล้วเลยนำมาแบ่งปัน ผิดถูกอย่างไร comment ได้ครับ แต่อย่างไรถ้ามีโอกาศก็อย่าลืม อุดหนุนลิขสิทธิ์ของเขาด้วยนะครับ

25
ผมเขียนเรื่องนี้ขึ้นมาเนื่องจาก ผมคิดว่า ในแต่ละวัน มี Admin หลายคนที่ต้องเผชิญวิบากกรรมในรูปแบบต่างๆ มากมาย หลายคนเริ่มหมดกำลังใจ หลายต่อหลายคนเริ่มท้อแท้ อันเนื่องมาจากคำพูดของคนที่ไม่เข้าใจในงานของเรา หลายคนลุกขึ้นมาได้ใหม่ หลายคนล้มลง แต่ขอให้สู้ต่อไปเถิดครับพี่ อยากน้อยที่สุด พี่ก็มีพี่ๆน้องๆในบอร์ด เผชิญมันไปพร้อมๆกับเรา หลายๆต่อหลายครั้งที่ปัญหาคลี่คลายได้ใน บอร์ดแห่งนี้ แต่หลายปัญหาก็แก้ไม่ได้จากเทคนิคของเรา โดยเฉพาะคำพูดคน แต่ถ้าพี่เสียหลัก ก็จะยังมีน้องคอยช่วย แต่ถ้าพี่ท้อซะแล้ว น้องที่เดินตามอาจจะสูญเสียขวัญและกำลังใจ และ ก้าวต่อไปได้ยากนะครับ เพราะยังมีน้องหลายคน ที่เดินตามพี่เพราะคำว่า ศรัทธา ล้วน คำๆนี้มันสำคัญยิ่งกว่า เงินทอง และ หันมาเดินตามพี่เพราะอยากจะทำฝันของพี่ที่กลายมาเป็นฝันของน้อง ให้สำเร็จ พี่ๆ Admin ครับ อย่าทิ้งความมุ่งมั่นของพี่เลยน่ะครับ เพราะผมเชื่อว่า ในใจของน้องๆที่ร่วมทำงานมาด้วยกัน ไม่มีใครอยากให้พี่ๆ ท้อแท้หรือหมดกำลังใจหรอกครับ น้องๆนั้่นเหนื่อยได้ ลำบากได้ ขอเพียงแต่อย่าให้หัวเรือ อันเป็นที่เคารพของน้องๆ  หมดกำลังใจก็พอ น้องๆ พร้อมที่จะก้าวไปพร้อมๆกับพี่ครับ...ผมอยากชวนพี่ๆน้องๆ ในบอร์ด มาร่วมให้กำลังใจให้กับ Admin ที่เริ่มจะอ่อนล้า และหมดกำลังใจให้กลับมาสู้อีกครั้ง กันครับ ผมเชื่อว่าเราผ่านมันไปได้แน่ครับ อย่าท้อนะครับ สู้ๆ พี่ๆ Admin ทุกคน

26
ตอนนี้ทางเวชระเบียนมีข้อเสนอแนะเพิ่มเติมเรื่องของการลงทะเบียนผู้ป่วยใหม่ ให้เพิ่มเติมในเรื่องของการแสดงผู้ที่มีชื่อและนามสกุลใกล้เคียงกันแสดงขึ้นมาเหมือน ชื่อ-สกุล ซ้ำ เพื่อตรวจสอบและลดข้อผิดพลาดขึ้นมานะครับ เช่น
 สุธี กับ สุธีร์ เนื่องจาก คนในพื้นที่ของผม ไม่นิยมพกบัตร รพ. หรือ บัตรประชาชนกันนะครับ บางทีเป็นผู้สูงอายุที่มาแจ้งชื่อ นามสกุล หลาน และจำไม่ได้ว่า ชื่อจริง ของหลานเขีียนอย่างไร มีการันต์ หรือไม่มี
และไม่รู้ว่าหลานตนเอง หรือญาติของตนเองนั้น เคยหรือไม่เคยมาโรงพยาบาล ทำให้อยากต่อการปฏิบัติงานของเวชระเบียนนะครับ ผมจึงขอเรียนปรึกษาพี่ๆทุกท่านว่าทางหน่วยงานของท่านแก้ปัญหากันอย่างไรบ้างครับ

27
ขออนุญาติแจ้งปัญหาเกี่ยวกับการแสดงข้อมูลของระบบ Refer คนไข้ครับ ครับ ปัจจุบันผมใช้ v.3.53.5.4 ครับ

ในทะเบียน refer สำหรับผู้ป่วยที่ Admit VN ที่ถูกบันทึกใน Transection จะเปลี่ยนมาใช้ AN แทนเลข VN ของ OPD ดังนั้น เมื่อ join Table referout เข้ากับ ovst ทำให้ ไม่พบข้อมูลในส่วนของ ovst เช่น Vsdate,vsttime หรือ Table Pttype เนื่องจาก join เข้ากับ Table ovst เช่น pttype_name เป็นต้น ทำให้ข้อมูลไม่ครบครับ รบกวนอาจารย์ช่วยพิจราณาด้วยครับ


28
เวลา click แล้ว เชื้อชาติ กับ สัญชาติไม่ขึ้นให้อัตโนมัติเหมือนเมื่อก่อนครับ ต้องใส่ 99 เอง รบกวนอาจารย์ MN ช่วยตรวจสอบให้หน่อยครับ ผมลองกับ Version 4.25 ก็เป็นครับ

29
ปัจจุบันระบบนี้มีประโยชน์กับทางเวชระเบียนมากครับ ในการตาม chart คืนจาก ward และห้องพักแพทย์ ทำให้ทำงานง่ายขึ้นมาก ทางเวชระเบียนเขาขอให้ข่วยปรับให้ สามารถแก้ไขข้อมูลการยืมได้ครับ เนื่องจากปัจจุบัน ไม่สามารถ แก้ไขข้อมูลเรื่องวันที่ยืมได้ครับ และในส่วนของการแสดงผลนั้นอยากให้ช่วยเพิ่มสาเหตุการยืมด้วยนะครับ

ส่วนในหน้า ลงรับ chart จาก ward นั้นก็ไม่สามารถแก้ไขข้อมูลเช่น วันที่/เวลาที่รับ ได้นะครับ

30
Limit Appointment

- สามารถกำหนดวันที่เราต้องการนัดได้ เช่น จ. - ศ.
- สำมารถกำหนดคลินิคที่เราต้องการนัดได้
- สามารถเลือกเดือนที่ต้องการนัดได้

Source
โค๊ด: [Select]

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, Spin, WideStrings, DB, SqlExpr,
  DBXMySql, FMTBcd, XPMan, DBClient, DBXMsSQL,DateUtils,jvjclutils;

type
  Tfrmmain = class(TForm)
    Panel1: TPanel;
    Label3: TLabel;
    BtnOk: TButton;
    BtnCancel: TButton;
    Label4: TLabel;
    Label6: TLabel;
    CboClinic: TComboBox;
    DTPStart: TDateTimePicker;
    Label1: TLabel;
    txttotalAppointment: TEdit;
    GroupBox1: TGroupBox;
    chkMon: TCheckBox;
    chkTue: TCheckBox;
    ChkThr: TCheckBox;
    ChkWen: TCheckBox;
    ChkFri: TCheckBox;
    ChkSat: TCheckBox;
    ChkSun: TCheckBox;
    GroupBox2: TGroupBox;
    cds: TClientDataSet;
    ds: TDataSource;
    procedure BtnCancelClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BtnOkClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure BtnRefreshClick(Sender: TObject);
    function GetListFromTable(sql:string):TStringList;
    function UpdateLimit(StrDate:string):boolean;
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  frmmain: Tfrmmain;
implementation

{$R *.dfm}

procedure Tfrmmain.BtnCancelClick(Sender: TObject);
begin
  // Show a confirmation dialog at 20,100

   if MessageDlg('¤Ø³µéͧ¡ÒáàÅÔ¡¡ÒÃãªé§Ò¹ã¹Êèǹ¹ÕéãªèËÃ×ÍäÁè', mtConfirmation, [mbYes, mbNo], 0) = mrYes then  close;

end;
procedure Tfrmmain.BtnOkClick(Sender: TObject);
Var
        MyMonthID:string;
        MyYear:string;
        MyTHyear:string;
        MyIntYear:integer;
        MyIntMonth:integer;
        MyDep:string;
        MyDashPos:Integer;
        MyLastDayCurrMon:string;
        MyLastDayCurrMonth:word;
        intStartLoop:integer;
        CurrDateSet:tdatetime;
        MyCurrDateSet:string;
        MyCustomDate:string;
        DaysInMonth: array[1..12]of Integer ;
        tcd:tclientdataset;
        strsql:string;
        ChkDate:boolean;
        BolShowDebug:boolean;
begin

  if MessageDlg('¤Ø³µéͧ¡Òúѹ·Ö¡¢éÍÁÙÅ¡ÒùѴËÁÒÂãªèËÃ×ÍäÁè', mtConfirmation, [mbYes, mbNo], 0) = mrNo then
    begin
        exit;
    End;

                      ChkDate:=false;

                    if chkMon.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if chkTue.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if chkWen.state = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkThr.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkFri.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkSat.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkSun.State = cbchecked then
                    begin
                       ChkDate:=true;
                    end;

                    if ChkDate=false then
                    begin
                         MessageDlg('¡ÃسÒàÅ×Í¡ÇѹÍÂèÒ§¹éÍ 1 Çѹ ', mtWarning, [mbOK], 0) ;
                         exit;
                    end;

  if CboClinic.Text='' then
      MessageDlg('¡ÃسÒàÅ×Í¡¤ÅÔ¹Ô¤¡è͹', mtWarning, [mbOK], 0) ;

    if txttotalAppointment.text= '' then
        begin
           MessageDlg('¡ÃسÒãÊè¨Ó¹Ç¹¤¹·Õèµéͧ¡Òáè͹', mtWarning, [mbOK], 0) ;
           exit;
        end;
    if StrToInt(txttotalAppointment.text) <= 0 then
      begin
        MessageDlg('&uml;&Oacute;&sup1;&Ccedil;&sup1;&curren;&sup1;&micro;&eacute;&Iacute;&sect;&Aacute;&Ograve;&iexcl;&iexcl;&Ccedil;&egrave;&Ograve; 1 ', mtWarning, [mbOK], 0) ;
        exit;
      end;


        if ChkShowDBug.State = cbChecked then
        begin
             BolShowDebug:=true;
        end;
        if ChkShowDBug.State = cbUnChecked then
        begin
             BolShowDebug:=false;
        end;

       MyMonthID:=formatDateTime('MM',DTPStart.Date);
       MyYear:=formatDateTime('yyyy',DTPStart.Date);
       MyTHyear:=MyYear;
       MyIntYear:=StrToInt(MyYear)-543;
       MyYear:=inttostr(MyIntYear);
       MyIntMonth:= StrToInt(MyMonthID);
       MyDashPos:= Pos('-',CboClinic.Text);
       MyDep:= Copy(CboClinic.Text,0,MyDashPos-1);


        DaysInMonth[1]:=(31);
        DaysInMonth[2]:=(28);
        DaysInMonth[3]:=(31);
        DaysInMonth[4]:=(30);
        DaysInMonth[5]:=(31);
        DaysInMonth[6]:=(30);
        DaysInMonth[7]:=(31);
        DaysInMonth[8]:=(31);
        DaysInMonth[9]:=(30);
        DaysInMonth[10]:=(31);
        DaysInMonth[11]:=(30);
        DaysInMonth[12]:=(31);

       //MyLastDayCurrMonth:=DaysInMonth(DTPStart.Date);
       MyLastDayCurrMonth:=DaysInMonth[MyIntMonth];
      //ntStartLoop:= 1;

       for intStartLoop:=1 to Integer(MyLastDayCurrMonth) do
        begin

              if Length(IntToStr(intStartLoop)) = 1 then
              begin
              MyCustomDate:= '0'+ IntToStr(intStartLoop) ;
              end;
              if Length(IntToStr(intStartLoop)) > 1 then
              begin
              MyCustomDate:= IntToStr(intStartLoop) ;
              end;


             CurrDateSet:=StrToDate(MyCustomDate+'/'+MyMonthID+'/'+MyTHyear);
             MyCurrDateSet:= Inttostr(DayOfWeek(CurrDateSet));
            // showdebugtext('MyCurrDateSet = '+MyCurrDateSet);

               case StrToInt(MyCurrDateSet) of
                    2:
                        if chkMon.State = cbChecked then
                        begin
                        //MessageDlg(('Clinic '+ MyDep +' &uml;&Ntilde;&sup1;&middot;&Atilde;&igrave;&middot;&Otilde;&egrave; '+MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text)  ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                        end;
                    3:
                        if chkTue.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &Iacute;&Ntilde;&sect;&curren;&Ograve;&Atilde;&middot;&Otilde;&egrave; '+MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text)  ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                    4:
                        if ChkWen.state = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &frac34;&Oslash;&cedil;&middot;&Otilde;&egrave; '+MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text)  ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                    5:
                        if ChkThr.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &frac34;&Auml;&Euml;&Ntilde;&Ecirc;&ordm;&acute;&Otilde;&middot;&Otilde;&egrave; ' +MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text) ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                    6:
                        if ChkFri.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &Egrave;&Oslash;&iexcl;&Atilde;&igrave;&middot;&Otilde;&egrave; ' +MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text) ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);

                    7:
                        if ChkSat.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &agrave;&Ecirc;&Ograve;&Atilde;&igrave;&middot;&Otilde;&egrave; '+MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text)  ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);
                    1:
                        if ChkSun.State = cbChecked then
                        //MessageDlg(('Clinic '+ MyDep +' &Iacute;&Ograve;&middot;&Ocirc;&micro;&Acirc;&igrave;&middot;&Otilde;&egrave; ' +MyCustomDate+'/'+MyMonthID+'/'+MyTHyear+'&uml;&Oacute;&sup1;&Ccedil;&sup1; '+ txttotalAppointment.Text) ,mtWarning, [mbOK], 0) ;
                        UpdateLimit(MyTHyear+'/'+MyMonthID+'/'+ MyCustomDate,MyCustomDate+'/'+MyMonthID+'/'+MyYear,MyDep,txttotalAppointment.Text,BolShowDebug);

               end;


         end;
           cds.data := hosxp_getdataset('select * from oapp_limit');
           MessageDlg('Done', mtInformation, [mbOK], 0) ;

end;
procedure Tfrmmain.BtnRefreshClick(Sender: TObject);
var
        MyMonthID:string;
        MyIntMonth:integer;
        MyYear:string;
        MyTHyear:string;
        MyIntYear:integer;
begin

        MyMonthID:=formatDateTime('MM',DTPStart.Date);
        MyIntMonth:= StrToInt(MyMonthID);
        MyYear:=formatDateTime('yyyy',DTPStart.Date);
        MyTHyear:=MyYear;
        MyIntYear:=StrToInt(MyYear)-543;
        MyYear:=inttostr(MyIntYear);

    cds.data := hosxp_getdataset('select * from oapp_limit where month(oapp_date) = "' +MyMonthID + '"' );
end;
procedure Tfrmmain.FormCreate(Sender: TObject);
var
        MyMonthID:string;
        MyIntMonth:integer;
        MyYear:string;
        MyTHyear:string;
        MyIntYear:integer;


begin
    DTPStart.Date := Now;
    { GetList from Hosxp  }
    CboClinic.items.assign(GetListFromTable('select concat(clinic,"-",name) from clinic order by clinic'));

        MyMonthID:=formatDateTime('MM',DTPStart.Date);
        MyIntMonth:= StrToInt(MyMonthID);
        MyYear:=formatDateTime('yyyy',DTPStart.Date);
        MyTHyear:=MyYear;
        MyIntYear:=StrToInt(MyYear)-543;
        MyYear:=inttostr(MyIntYear);

    cds.data := hosxp_getdataset('select * from oapp_limit where month(oapp_date) = "' +MyMonthID + '"' );
end;

procedure Tfrmmain.FormKeyPress(Sender: TObject; var Key: Char);
begin

       if Key ='' then
       begin
            if MessageDlg('&curren;&Oslash;&sup3;&micro;&eacute;&Iacute;&sect;&iexcl;&Ograve;&Atilde;&Acirc;&iexcl;&agrave;&Aring;&Ocirc;&iexcl;&iexcl;&Ograve;&Atilde;&atilde;&ordf;&eacute;&sect;&Ograve;&sup1;&atilde;&sup1;&Ecirc;&egrave;&Ccedil;&sup1;&sup1;&Otilde;&eacute;&atilde;&ordf;&egrave;&Euml;&Atilde;&times;&Iacute;&auml;&Aacute;&egrave;', mtConfirmation, [mbYes, mbNo], 0) = mrYes then  close;
       end;
end;

{   Pas addition Code    }

function GetListFromTable(sql:string):TStringList;
var tc:tclientdataset;
begin
  result:=TStringList.create;
  tc:=tclientdataset.create(nil);
  tc.data:=HOSxP_Getdataset(sql);
  while not tc.eof do
  begin
    result.add(tc.fields[0].asstring);
    tc.next;
  end;

  tc.free;

end;
function UpdateLimit(StrTHDate,StrENDate,StrClinic :string;IntLimit:integer;showDBug:boolean):boolean;
var tc,tc2:tclientdataset;NextSerialId:integer;

begin
  result:=false;
  tc:=tclientdataset.create(nil);

  tc.data:=HOSxP_Getdataset('select * from oapp_limit where oapp_date = "'+StrTHDate+'" and oapp_clinic = "'+StrClinic+'"');
  if showDBug = true then
  begin
      showdebugtext('select * from oapp_limit where oapp_date = "'+StrTHDate+'" and oapp_clinic = "'+StrClinic+'"');
  end;
  if tc.recordcount > 0 then
  begin
    tc.edit;
    tc.fieldbyname('oapp_limit').asstring := IntLimit;
    tc.post;
  if tc.changecount > 0 then
    begin
      HOSxP_UpdateDelta(tc.delta,'select * from oapp_limit where oapp_date ="'+StrTHDate+'" and oapp_clinic = "'+StrClinic+'"');
        if showDBug = true then
          begin
          showdebugtext('Found 1 Record : Update Field (limit) = '+IntLimit);
          showdebugtext('Update Complete');
        end;

    end;

  end;

  if tc.recordcount = 0 then
  begin
    tc2:=tclientdataset.create(nil);
    tc2.data:=HOSxP_Getdataset('select * from serial where name = "oapp_limit_id"');
    if tc2.recordcount > 0 then
       begin
          NextSerialId := tc2.fieldbyname('serial_no').asstring+1;
          //showdebugtext(NextSerialId);
          tc2.edit;
          tc2.fieldbyname('serial_no').asstring := NextSerialId;
          tc2.post;
       end;

    tc.Insert;
    tc.fieldbyname('oapp_limit_id').asstring := NextSerialId;
    tc.fieldbyname('oapp_limit').asstring := IntLimit;
    tc.fieldbyname('oapp_clinic').asstring := StrClinic;
    tc.fieldbyname('oapp_date').asstring := StrToDate(StrENDate);
    tc.post;
  if tc.changecount > 0 then
    HOSxP_UpdateDelta(tc.delta,'select * from oapp_limit where oapp_date = "'+StrTHDate+'" and oapp_clinic = "'+StrClinic+'"');
    HOSxP_UpdateDelta(tc2.delta,'select * from serial where name = "oapp_limit_id"');

        if showDBug = true then
          begin
          showdebugtext('Record not found : Insert New Record');
          showdebugtext('oapp_limit_id = '+InttoStr(NextSerialId));
          showdebugtext('oapp_limit = '+IntLimit);
          showdebugtext('oapp_clinic = '+StrClinic);
          showdebugtext('oapp_date = '+StrENDate);
          showdebugtext('Insert Complete');
        end;
  end;


       tc.free;
    result:=true;

end;

end.


DFM
โค๊ด: [Select]
object frmmain: Tfrmmain
  Left = 0
  Top = 0
  BorderStyle = bsDialog
  Caption = #3619#3632#3610#3610#3585#3635#3627#3609#3604#3592#3635#3609#3623#3609#3609#3633#3604#3627#3617#3634#3618#3626#3635#3627#3619#3633#3610#3588#3621#3636#3609#3636#3588#3605#3656#3634#3591#3654
  ClientHeight = 536
  ClientWidth = 416
  Color = clCream
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  KeyPreview = True
  OldCreateOrder = False
  Position = poScreenCenter
  OnCreate = FormCreate
  OnKeyPress = FormKeyPress
  PixelsPerInch = 96
  TextHeight = 13
  object Label3: TLabel
    Left = 257
    Top = 199
    Width = 40
    Height = 16
    Caption = #3592#3635#3609#3623#3609
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label4: TLabel
    Left = 345
    Top = 199
    Width = 18
    Height = 16
    Caption = #3588#3609
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label6: TLabel
    Left = 27
    Top = 70
    Width = 64
    Height = 16
    Caption = #3648#3621#3639#3629#3585#3588#3621#3636#3609#3636#3588
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object Label1: TLabel
    Left = 26
    Top = 199
    Width = 115
    Height = 16
    Caption = #3648#3621#3639#3629#3585#3648#3604#3639#3629#3609#3607#3637#3656#3605#3657#3629#3591#3585#3634#3619
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -13
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
  end
  object GroupBox2: TGroupBox
    Left = 8
    Top = 55
    Width = 401
    Height = 226
    TabOrder = 7
  end
  object GroupBox1: TGroupBox
    Left = 20
    Top = 104
    Width = 373
    Height = 78
    Caption = #3609#3633#3604#3648#3593#3614#3634#3632#3623#3633#3609
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 6
    object chkMon: TCheckBox
      Left = 12
      Top = 24
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3592#3633#3609#3607#3619#3660
      TabOrder = 0
    end
    object chkTue: TCheckBox
      Left = 87
      Top = 24
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3629#3633#3591#3588#3634#3619
      TabOrder = 1
    end
    object ChkThr: TCheckBox
      Left = 258
      Top = 24
      Width = 77
      Height = 17
      Caption = #3623#3633#3609#3614#3620#3627#3633#3626#3610#3604#3637
      TabOrder = 2
    end
    object ChkWen: TCheckBox
      Left = 171
      Top = 24
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3614#3640#3608
      TabOrder = 3
    end
    object ChkFri: TCheckBox
      Left = 12
      Top = 47
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3624#3640#3585#3619#3660
      TabOrder = 4
    end
    object ChkSat: TCheckBox
      Left = 87
      Top = 47
      Width = 61
      Height = 17
      Caption = #3623#3633#3609#3648#3626#3634#3619#3660
      TabOrder = 5
    end
    object ChkSun: TCheckBox
      Left = 171
      Top = 47
      Width = 73
      Height = 17
      Caption = #3623#3633#3609#3629#3634#3607#3636#3605#3618#3660
      TabOrder = 6
    end
  end
  object Panel1: TPanel
    Left = 6
    Top = 8
    Width = 403
    Height = 41
    Caption = #3619#3632#3610#3610#3585#3635#3627#3609#3604#3592#3635#3609#3623#3609#3609#3633#3604#3627#3617#3634#3618#3626#3635#3627#3619#3633#3610#3588#3621#3636#3609#3636#3588#3605#3656#3634#3591#3654
    Color = clMoneyGreen
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -16
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentBackground = False
    ParentFont = False
    TabOrder = 2
  end
  object BtnOk: TButton
    Left = 132
    Top = 242
    Width = 75
    Height = 25
    Caption = #3605#3585#3621#3591
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 0
    OnClick = BtnOkClick
  end
  object BtnCancel: TButton
    Left = 213
    Top = 242
    Width = 75
    Height = 25
    Caption = #3618#3585#3648#3621#3636#3585
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 1
    OnClick = BtnCancelClick
  end
  object CboClinic: TComboBox
    Left = 97
    Top = 69
    Width = 225
    Height = 21
    AutoDropDown = True
    Style = csDropDownList
    ItemHeight = 13
    TabOrder = 3
    Items.Strings = (
      '00-'#3652#3617#3656#3619#3632#3610#3640)
  end
  object DTPStart: TDateTimePicker
    Left = 147
    Top = 199
    Width = 104
    Height = 21
    Date = 40212.000000000000000000
    Format = 'MMM yyyy'
    Time = 40212.000000000000000000

    TabOrder = 4
  end
  object txttotalAppointment: TEdit
    Left = 306
    Top = 198
    Width = 33
    Height = 21
    TabOrder = 5
    Text = '80'
  end
  object cds: TClientDataSet
    Aggregates = <>
    CommandText =
      #39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39 +
      #39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39#39';kk'
    Params = <>
    ProviderName = 'DataSetProvider1'
    Left = 360
    Top = 64
  end
  object ds: TDataSource
    DataSet = cds
    Left = 328
    Top = 64
  end
    object ChkShowDBug: TCheckBox
    Left = 280
    Top = 287
    Width = 129
    Height = 17
    Caption = 'Show Debug Messages'
    TabOrder = 9
  end
object LimitGrid: TDBGrid
    Left = 8
    Top = 312
    Width = 399
    Height = 217
    TabOrder = 8
    DataSource = ds
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
  end
object BtnRefresh: TButton
    Left = 294
    Top = 242
    Width = 109
    Height = 25
    Caption = #3649#3626#3604#3591#3612#3621#3605#3634#3619#3634#3591#3651#3627#3617#3656
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 10
    OnClick = BtnRefreshClick
  end
end

31
ระบบคืนแฟ้มผู้ป่วยใน มีวันและเวลาคืนแฟ้มแสดงทั้งๆที่ยังไม่ได้ลงคืนแฟ้ม ดังรูปที่แนบมาครับ
นอกจากนี้เมื่อผมพิมพ์ข้อมูลใส่ search ที่ช่อง AN ชื่อของผู้ป่วยไม่แสดงในช่อง "ชื่อ" ครับ
ผมใช้ HOSxP V 3.53.1.30 ครับ

32
ในหน้าระบบยืมคืนแฟ้มผู้ป่วยในไม่บันทึกสาเหตุการยืมเป็น rent_reason_ipd แต่กลับบันทึกเป็น ค่า Null แทนครับดังรูปครับ ปัจจุบันผมใช้ HOSxP V. 3.53.1.30 ครับ

33
HOSxP PCU / ลบข้อมูลเวชระเบียนไม่ได้ครับ
« เมื่อ: มกราคม 12, 2010, 19:26:17 PM »
ตอนนี้ผมใช้ HOSxP PCU V.3.53.1.8 พอกดลบแล้ว มันฟ้องว่า "กรุณาใช้ระบบเวชระเบียนลบข้อมูล" ทั้งๆที่ผมก็เปิดหน้า เวชระเบียนผู้ป่วย อยู่ครับ ไม่แน่ใจว่าผมเข้าใจผิดตรงไหนหรือเปล่านะครับ ใครรู้ช่วยตอบผมหน่อยครับ

34
จากการที่มีนโยบายให้กรอกแบบคัดกรองโรคซึมเศร้า 2Q 9Q ในโปรกรม Depress offline ของ กรมสุขภาพจิต
หลังจากที่ดูแบบคัดกรองของโปรแกรมแล้วทางศูนย์ IT รพ.วิเชียร เห็นว่า เรามีแบบคัดกรอง ใน UE ของ HOSxP ที่เหมือนกันและข้อมูลส่วนใหญ่ที่ส่งออกมานั้นสามารถดึงจากฐานข้อมูลของ HOSxP ได้จึงได้ลองหาทางลัด
เพื่อลดภาระงาน ของเจ้าหน้าที่ที่ต้องเปิดโปรแกรมหลายตัว ให้เหลือเพียง HOSxP หรือ HOSxP PCU เท่านั้นครับ

UE และ Report ของ HOSxP สำหรับ ส่งออกเข้าโปรแกรม Depress Online ของกรมสุขภาพจิต ครับ
ตาม link นี้เลยครับftp://wichianhos.thaiddns.com/HOSxP_PCU/HOSxP2Depress V2.rar

ภายในประกอบไปด้วยคู่มือการใช้งาน
             1. การใช้งานระบบคัดกรอง 2Q และ 9Q ใน HOSxP PCU
             2. การใช้งาน โปรแกรมดูแลและเฝ้าระวังโรคซึมเศร้า สำหรับ PCU.pdf
             3. การใช้งาน โปรแกรมดูแลและเฝ้าระวังโรคซึมเศร้า.pdf
             4. คู่มือการนำเข้า UE และ Report เพื่อใช้งานกับโปรแกรมดูแลและเฝ้าระวังโรคซึมเศร้า.pdf

UE และ Report นี้ใช้ได้ทั้ง HOSxP และ HOSxP PCU ครับ สำหรับท่านที่มี UE นี้อยู่แล้ว หากลองใช้งานแล้ว Reort ไม่แสดง หรือ แสดงผลผิดพลาดให้ลองตรวจสอบ GUID ของ UE ดูว่าตรงกันหรือไม่ครับ

Release

      2-กพ.-53  - แก้ไข Bug ไม่สามารถส่งข้อมูลออกได้หาก Field ที่ขึ้นต้นด้วย PTTYPE_ เป็น Null (แก้ไขแล้วครับสามารถ Download ได้จาก Link เดิมครับ)
                 

    23-เม.ย.-53 
-  สำหรับ  Depress online v.2.12.17 ที่ส่งออกข้อมูลไม่ได้แล้วขึ้นว่า Unknown column 'export' in 'where clause'  (สำหรับ สสจ.)
วิธีแก้ดังนี้ครับ http://wichianhos.thaiddns.com/whboard/index.php?topic=552.0
 - สำหรับผู้ที่ Upload Depress online ด้วย v2.12.17 แล้วยอดที่แสดงผลออกมาให้ register ไม่เท่ากับยอดที่ได้จากแบบคัดกรอง
         วิธีแก้ดังนี้ครับ http://wichianhos.thaiddns.com/whboard/index.php?topic=553.0
          (UE และ Report สามารถใช้ตัวเดิมได้ครับ แต่ต้องแก้ที่ code ของ depressonline และ upgrade db)

ล่าสุดคุณบรรจบได้ออกตัวแก้ไขมาแล้วครับ

โดยแก้ที่ไฟล์ upload.php และ upload2.php ครับ เท่าที่ตรวจสอบแล้ว ก็โอเคครับ

http://203.157.181.13/hosxp_board/view.php?category=depression&wb_id=202
หรือ http://203.157.181.13/hosxp_board/db_hosxpwb/imagefiles/depression202.zip

   20-พ.ค. -53 กรมสุขภาพจิต update version เป็น 2.12.17 แล้วครับ   
   1-ก.ค.-53 เพิ่ม V.2 ใช้ใน กรณ๊ที่วันที่ทำแบบคัดกรองเป็นคนละวันเวลากับวันที่ visit ทำให้มีข้อมูลใน serivce แต่ไม่มีข้อมูล Person หรือ มี Person แต่ไม่มี Service



ftp://wichianhos.thaiddns.com/HOSxP_PCU/HOSxP2Depress V2.zip


       2-ก.ค.-53 - update Report Screen เนื่องจากมีการเปลี่ยน field ที่ใช้ใน hosxp Download ได้จาก Link ของ V.2 ครับ
                 - เขียนโปรแกรม Tools สำหรับตรวจสอบค่า hosguid ที่ไม่ตรง กับ Report Download
                 - เมื่อ สสจ upload ข้อมูลเข้ากรมสุขภาพจิตแล้ว เราสามารถตรวจผลการส่งข้อมูลได้ที่ http://110.164.197.220/depress_refund/
       11-ก.ค.-53 -Update Tools เป็น Version 1.1.1 เพิ่มเติม ความสามารถในการลองนำไฟล์ PERSON.TXT
กับ SCREEN.TXT เข้าในโปรแกรมเพื่อดูคร่าวว่าส่วนไหนผิด เนื่องจากการดูแบบ Text file นั้นดูยาก
       10-ส.ค.-53 เพิ่ม Screen V.2 แก้ปัญหาคะแนนรวมไม่ขึ้น + Update Tool ในการทดสอบนำเข้าไฟล์ PERSON และ SCREEN  ftp://wichianhos.thaiddns.com/HOSxP_PCU/HOSxP2Depress V2.rar

35
Admin tools / โปรแกรมคุรภัณฑ์คอมพิวเตอร์
« เมื่อ: พฤศจิกายน 16, 2009, 10:26:36 AM »
-โปรแกรมคุรภัณฑ์คอมพิวเตอร์ โดย ศูนย์เทคโนโลยีสารสนเทศและการสื่อสาร กระทรวงสาธารณสุข
  http://ict.moph.go.th/project/hms/

36
Admin tools / เว็บสำหรับแปลง code C# เป็น VB.Net
« เมื่อ: พฤศจิกายน 05, 2009, 22:14:15 PM »
หลังจากพี่ที่ทำงานบ่นเรื่อง source code ที่โหลดมา เป็น C# มาพักใหญ่ ผมจึงหาตัวช่วยครับ ตัวนี้จะช่วยแปลง C# ให้เป็น VB.Net Code ครับ เว็บนี้ก็ได้มาจาก รุ่นพี่อีกทีครับ เอามาแบ่งปันกัน

Link ตามนี้ครับ http://www.developerfusion.com/tools/convert/csharp-to-vb/

ตัวอย่างครับ




บทความนี้คัดลอกมาจาก www.piyanat.net

37

ภาพจาก www.education-world.com
โปรแกรมง่ายๆที่แค่สั่งปริ้นแล้วเลือกปริ้นเตอร์เป็นตัวโปรแกรมนี้ก็สามารถแปลงเป็น PDF ได้แล้วที่สำคัญนอกจากฟรีแล้วยังสนุบสนุนภาษาไทยด้วยครับ

Cute PDF (ต้องต่อเน็ตเพื่อ download componet บางตัว)
http://download.cnet.com/CutePDF-Writer/3000-6675_4-10206470.html

38
Admin tools / มี icon BlueBirds ขึ้นที่ DVD Drive ทั้งๆทีไม่มีแผ่น
« เมื่อ: พฤศจิกายน 05, 2009, 22:06:56 PM »


Bluebirds เป็นโปรแกรมที่ฝังอยู่ในเครื่อง(ไม่สามารถลบออกได้) เพื่อใช้ในการเขียนข้อมูลลงแผ่น CD/DVD ได้โดยสะดวก และรวดเร็ว(โปรแกรมที่ใช้เขียนแผ่นชื่อว่า Drag&Burn)

รุ่นที่กระทบ:
GH22NS50 , GH22LS50

Download เอกสารวิธีเอาออก (ภาษาไทย) http://www.piyanat.net/images/board/Remove BlueBird.pdf
ที่มา http://th.lgservice.com/

บทความนี้คัดลอกมาจาก www.piyanat.net

39
Admin tools / web ที่แจก icon free ภาค 2 ครับ
« เมื่อ: พฤศจิกายน 05, 2009, 13:39:15 PM »
http://www.freeiconsdownload.com/Free_People_Icons.asp
http://www.freeiconsweb.com/

บทความนี้คัดลอกมาจาก www.piyanat.net ครับ

40
ภาพจาก http://www.thaiware.com

CPE17 โปรแกรมฆ่าไวรัสจาก Handy Drive ของคุณ Update หรือยัง?

บางครั้งจุดเล็กๆที่เราพลาดก็ทำให้เราติดไวรัสได้ หลายๆคนคิดว่าโปรแกรม CPE17 ที่เราใช้กันอยู่เกลื่อนเมืองนั้น
จะทำให้เราปลอดภัยจากไวรัสได้ ผมไม่เถียงหลอกครับว่ามันช่วยได้มากเลย แต่มีใครเคยสังเกตุไหมว่า เราใช้ เวอร์ชั่น
อะไรอยู่ 1330 หรือเปล่า (เพราะมีแถมในแผ่นพันธิพย์) เคยมีใครสนใจ update มันบ้างไหมครับ พอมันดักไวรัสไม่ได้
ก็โทษว่ามันห่วยก็มี (ผมคือหนึ่งในนั้น ขอโทษครับ สำนึกแล้ว) วันนี้ผมว่างเลยไปแสกนไวรัสตามเครื่องต่างๆ เห็นแล้ว
ตกใจครับ มีกันหลาย เวอร์ชั่นมาก แต่ตัวล่าสุด (ถ้าผิดขออภัยด้วย) คือ cpe17antiautorun1410.exe ครับ
ยังไงก็อย่าลืมไป update กันละกันนะครับ

ขอขอบคุณ
http://www.cpe17.com/cgi-bin/newboard/YaBB.pl?board=cpe17ak;action=display;num=1184749310
และ
Nathaphon K. (chackco) แห่ง
CPE17.COM - King Mongkut's University of Technology Thonburi
มา ณ ที่นี้ครับ
บทความนี้คัดลอกมาจากเว็บ www.piyanat.net

หน้า: [1]