แสดงกระทู้

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 - Khuad

หน้า: [1] 2
1
Linux / CentOS 6.4
« เมื่อ: มีนาคม 22, 2013, 00:52:40 AM »

... มาแล้ว CentOS 6.4

    http://www.centos.org/

    ส่วน  CentOS 5.9 ก็ออกมาได้ระยะนึงแล้ว ...  :D ...


   

2
... สนย. ประกาศรหัสมาตรฐานและโครงสร้าง 21 แฟ้ม ปี 2556 ณ วันที่ 17 สิงหาคม 2555 ออกมาแล้วครับ

    อะไรเป็นอะไร ต้องติดตามกันครับ ...  :D ...

http://healthcaredata.moph.go.th/main/

3
... เกี่ยวกับการส่งแฟ้ม SURVEIL ครับ อ.mn

    คือจากเงื่อนไขของ สปสช. ที่ว่า
      1. ส่งภายใน 7 วัน นับจากวันที่มารับบริการ ได้ 1 point
      2. ส่งหลังจาก 7 วัน แต่ไม่เกิน 60 วัน นับจากวันที่มารับบริการ ได้ 0.5 point
      3. ส่งเกิน 60 วัน นับจากวันที่มารับบริการ  ไม่ได้ point เลย

     ซึ่งถ้าต้องการให้ข้อมูลที่ส่งได้ประโยชน์สูงสุด ก็ต้องส่งแฟ้ม SURVEIL ให้ทันตามเกณฑ์ ข้อ 1
     
     อย่างที่ผมนี่ วางแผนไว้ว่าจะส่งอาทิตย์ละ 2 ครั้ง คือ เย็นวันจันทร์ กับเย็นวันพฤหัส
         โดย ข้อมูลของคนที่มารับบริการในวัน อังคาร, พุธ, พฤหัส ก็จะส่งในวันจันทร์ถัดไป
         ส่วน ข้อมูลของคนที่มารับบริการในวัน ศุกร์, เสาร์, อาทิตย์, จันทร์ ก็จะส่งในวันพฤหัสถัดไป

    ก็จะทำให้ส่งข้อมูลได้ทัน 7 วัน และคนที่ทำ 506 ก็จะพอมีเวลาตรวจสอบ และ approve ในระบบงาน 506

   โดยเวลาส่งข้อมูล เราก็จะกำหนด ช่วงวันที่ส่ง ต่อกันไปเรื่อยๆ ไม่ซ้ำวัน เพื่อป้องกันข้อมูลซ้ำซ้อน ...  :D ...

4
Report Exchange / ฝากให้ chisuka_kic ครับ
« เมื่อ: กุมภาพันธ์ 15, 2012, 13:34:42 PM »

... ทำเสร็จแล้ว เอามาแบ่งด้วย ...  :D ....

5

... ลองดูตาม link ข้างล่างเลยครับ ...  :D ....

http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=15540.0


6
Report Exchange / รง.506 ฝากท่าน เอ็ม รพ.บรบือ ครับ
« เมื่อ: พฤศจิกายน 22, 2011, 15:35:29 PM »

... ท่าน M ลองดูที่คำสั่งของข้อมูล วันที่เขียนรายงาน (variable9) ก็ได้ครับ

    อันนี้จะไปตรวดูก่อนว่าวันที่ null หรือเปล่า ...  :D ...

7

... ช่วง 1เดือนที่ผ่านมานี้ บรรดาเทพ หลายๆ ท่าน ประสบอุบัติเหตุทางรถยนต์กันบ่อยครับ

    ยังงัย ขับรถยนต์ ก็คงต้องระมัดระวังกันให้มากขึ้นนะครับ  ช่วงนี้ผนตกบ่อยด้วยครับ ....

8
ยินดีต้อนรับ / รณรงค์ครับ
« เมื่อ: สิงหาคม 25, 2011, 10:46:10 AM »
... วันนี้ พอดีได้เปิดเข้า Web HOSxP มาเห็นตรงกระทู้ล่าสุด บวกกับที่ได้ไปเจอมาหลายที่ มีการเขียนคำว่า "HOSxP" ผิดกันเยอะมากครับ
 
    เลยมารณรงค์กันดีกว่า(เว่อร์ไปไหม อิ อิ)  ;D  ;D  ;D
    ยังงัยเราก็อยู่ในชุมชน HOSxP ของเราแล้ว ก็ต้องช่วยกันใช้ให้ถูกต้องครับ  ;D  ;D  ;D


    ต้องเขียนว่า " HOSxP "  หรือ " HOSxP PCU " ครับ

    สรุปว่า ใช้ตัวพิมพ์เล็กแค่ตัวเดียวคือ x นะครับ
    นอกจากนี้เป็นตัวพิมพ์ใหญ่ทั้งหมดครับ ...  :D ...

9

... ผมต้องขอขอบคุณ อ.mn เป็นอย่างสูงนะครับ

    สำหรับ   HOSxP_PCU 3.54.8.14  มาทันเวลาพอดีครับ  ;D  ;D

    เดี๋ยวพาติดตัวไปใช้จริงที่นครนายกเลยครับ  ตี 5 จะออกเดินทางครับ ...


... และ ผมต้องขอโทษ อ.mn ด้วยนะครับ ที่ต้องรบกวนเวลาพักผ่อนในวันหยุดของอาจารย์
   
    ขอขอบคุณเป็นอย่างสูงๆๆๆๆๆ อีกครั้งครับ ...  :D ....

10
Development / HOSxP 3.54.7.19 มาแล้วครับ
« เมื่อ: กรกฎาคม 19, 2011, 21:40:05 PM »

...  :D ...

Changelog
- แก้ไข bug ระบบส่งตรวจผู้ป่วย แล้วแผนกถูกเปลี่ยน หากกำหนดแผนกไว้กับผู้ใช้งาน
- ปรับปรุงระบบรายงานผล Lab ให้ตรวจสอบค่าปกติตามช่วงอายุได้
- ปรับปรุงระบบแสดงข้อความเตือน รายการที่ไม่ใช่ยา
- ปรับปรุงระบบบันทึกข้อมูลการแพ้ยา / แจ้งเตือน

11

 ... ระบบหน้าต่าง Queue Caller ที่ อ.mn ได้ช่วยทำให้ใหม่ ถือว่าทำให้การใช้งานระบบเรียกผู้ป่วยทำงานได้สะดวกขึ้นมากเลยครับ ต้องขอขอบคุณ อ.mn เป็นอย่างสูงเลยนะครับ ...  ;) ...


... แต่อยากมีข้อเสนอเพิ่มเติมอีกนิดหน่อยนะครับ อ.mn เพื่อทีจะให้การใช้งานระบบเรียกผู้ป่วยใช้งานได้สะดวก และ สนุก ยิ่งขึ้น  ;D
 
   คืออยากได้รูปร่างหน้าต่างตามที่ผมแนบรูปไว้ พอจะเป็นไปได้ไหมครับ 

   แล้วก็เพิ่มช่องสำหรับใส่ HN/QN เหมือนแบบที่มีอยู่ในหน้าต่าง ซักประวัติ หรือ ห้องตรวจแพทย์ น่ะครับ
   แล้วพอคีย์ HN ลงไป พอเคาะ Enter ที่ Keyboard แล้วก็ให้นำข้อมูลที่จะใช้เรียกผู้ป่วย ของผู้ป่วย จาก VN ล่าสุดที่มารับบริการในวันปัจจุบันมาแสดงเลย    หรือถ้าเป็นเลข QN ก็ให้นำข้อมูลของ QN นั้นในวันปัจจุบันมาแสดงเลยครับ

   กรณีของ HN ที่ผมบอกว่าให้ใช้ VN ล่าสุด เผื่อวันนึงมีหลาย VN นะครับ   
   แต่ถึงจะเรียก VN ของ HN นี้ไม่ตรง  ทำให้เลข Q มาแสดงไม่ตรงก็ไม่เป็นไรครับ เพราะในหน้าต่างตรงเลข ลำดับมารับบริการ ที่จะใช้ไปเรียกคิว เราสามารถแก้ไขได้เองอยู่แล้วครับ

   ส่วนปุ่ม เลือกคนใหม่ ก็คงไว้เหมือนเดิมครับ เผื่อไว้เรียกคนที่รับบริการข้ามวัน ...  :D ...

12
Development / HOSxP 3.54.07.06
« เมื่อ: กรกฎาคม 06, 2011, 13:06:49 PM »

Changelog

- แก้ไข Bug ระบบแสดงรูปภาพ scan ใบสั่งยา IPD กรณีเปิดใช้งาน Image server


...  :D ....

13
Report Exchange / ฝากให้กิ๊กครับ
« เมื่อ: กรกฎาคม 04, 2011, 16:53:23 PM »

... ตัวอย่าง ลองดูเป็นแนวทางเฉยนะครับ ...  :D ...

14
... ไม่แน่ใจนะครับว่าปัญหานี้มีคนแจ้งอาจารย์ไปแล้วหรือยังนะครับ ...

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

... เลยลองนั่งตรวจสอบดู ปรากฏว่าเจอปัญหาทั้ง 2 กรณีนี้ กับผู้ป่วยที่มีสิทธิการรักษาเป็นลูกหนี้สิทธิ แล้วรายการค่ารักษาที่เป็นลูกหนี้สิทธิและมีรายการค่ารักษาที่ต้องชำระเงินเองไม่สามารถใช้สิทธิได้อยู่ด้วย ซึ่งจะต้องมีการออกใบเสร็จรับเงินในส่วนนี้
    จะปรากฏว่า เมื่อออกใบเสร็จรับเงินข้อมูลใน finance_number ของตาราง opitemrece จะไปนำมาจาก  finance_number ของตาราง rcpt_debt ครับ ไม่ได้เป็นตัวเลขเดียวกับ finance_number ที่มีอยู่ในตาราง rcpt_print แม้ว่ารายการนั้นจะมีสถานะเป็นชำระเงิน ไม่ใช่ลูกหนี้สิทธิก็ตาม ...

... เมื่อเกิดกรณีนี้ ผลก็คือ

    1. เวลาออกใบเสร็จรับเงินจะไม่มีรายการค่าใช้จ่ายย่อยมาแสดง เนื่องจากตัวใบเสร็จรับเงินที่ผมใช้จะมีการใช้ subreport เพื่อแสดงรายการค่าใช้จ่ายย่อย 
    โดยจะไปเอารายการค่าใช้จ่ายย่อยมาจากตาราง opitemrece ซึ่งจะเชื่อมกับตาราง tempreport  ผ่านทาง income กับ finance_number
     แต่เนื่องจากใน tempreport  ข้อมูลในส่วนของ finance_number(name9) ไม่ได้มาจาก rcpt_debt  แต่จะเหมือนกับใน rcpt_print ทำให้ไม่สามารถเชื่อมโยงข้อมูลมาแสดงได้ เพราะเป็นเลขคนละตัวกับใน opitemrece ครับ

    2. เมื่อมีการยกเลิกใบเสร็จนี้ ข้อมูลใน finance_number ของตาราง opitemrece ในรายการที่เป็นการชำระเงินจะไม่ถูกลบออกไปครับ  ทำให้เมื่อจะออกใบเสร็จใหม่อีกครั้ง จึงไม่มีรายการที่จะต้องจ่ายเงินแสดงเลย เนื่องจากรายการนั้นยังมีข้อมูลที่ finance_number ค้างอยู่
    เข้าใจว่า เมื่อมีการสั่งยกเลิกใบเสร็จ คงจะมีการตรวจสอบเพื่อจะลบข้อมูล finance_number ของตาราง opitemrece ซึ่งจะใช้เลข finance_numbe จาก  rcpt_print มาตรวจสอบ
     แต่ใน opitemrece จะเก็บเป็นเลขจาก rcpt_debt ก็เลยไม่ตรงกัน  finance_number ของตาราง opitemrece ก็เลยไม่ถูกลบออกไปครับ ...

... รบกวนฝาก อ.mn ช่วยแก้ไขด้วยนะครับ  ขอบคุณครับ ....

... ลืมบอกไปนิดครับอาจารย์
    ตอนนี้ที่ รพ. ใช้ HOSxP v.3.54.6.8    ส่วนที่ผมทดสอบเป็น HOSxP v.3.54.6.10 ครับ ...  :D ...



15

... ลองทำให้แค่ 35 ตัวที่เราส่งรูปมาให้ดูนะครับ

    ที่เหลือไปเพิ่มคำสั่งเอาตรง ChangReportSQL นะครับ  union ไปเรื่อยๆ
    ใช้ copy แล้ววางไปเรื่อยๆ แล้วแก้แค่ตรงรหัสเอาก็ได้ครับ

    ส่วนตรง variable ที่นับจำนวน ในตัวรายงานไม่ต้องไปแก้ไขอะไรครับ ...  :D ....

16
นอกเรื่อง / HOSxP กับ Valentine's Day
« เมื่อ: กุมภาพันธ์ 14, 2011, 00:38:06 AM »

... ทุกวันวาเลนไทน์  อ.MN และ HOSxP  จะมีดอกกุหลาบให้สำหรับทุกคน  ...  :D ...

... ปล. แต่ปี คศ. ยังไม่เปลี่ยน อิ อิ ....

17

... เนื่องจากใน Changelog ของ v.3.54.02.09 มีอยู่ข้อหนึ่งที่ระบุว่า

   - แก้ไขระบบ Image server มีบาง function สับสนการเชื่อมต่อไปยัง Image Server (กรณีไม่ได้เปิดใช้งาน Image server)

   อันนี้ไม่ทราบว่าใช่การแก้ปัญหาตามที่ผมแจ้งให้ อ.mn ทราบหรือเปล่าน่ะครับ 
   ถ้าใช่ผมต้องขออภัย อ.mn ด้วยนะครับ ที่อาจจะอธิบายปัญหาให้อาจารย์ทราบไม่ตรงจุด  ;D กำลั งง กะชีวิตอยู่ครับ อิ อิ ...  ;D ...

   ตอนนี้ผมทดสอบ กับ  v.3.54.02.10b ผมก็ยังพบปัญหาอยู่  ไม่ทราบว่าที่อื่น จะมีปัญหาเหมือนกันกับผมบ้างหรือเปล่านะครับ
   คือ มีบางจุดที่มีการแสดงรูปผู้ป่วย  แล้วไม่ได้นำรูปที่เก็บใน Image Server มาแสดง กรณีที่เรามีการเก็บภาพแยกจาก Server หลักแล้ว
   ซึ่งเมื่อแยกรูปไปเก็บที่ Image Server แล้ว ระบบน่าจะไปนำรูปจากตาราง patient_image ของ Image Server มาแสดง  แต่ในความเป็นจริงระบบยังไปเอาข้อมูลจากตาราง patient_image ใน Server หลัก
    มาแสดงในบางจุดครับ ....  :D ....


18
Report Exchange / ฝากให้ท่าน Atit รพ.เซกา ครับ
« เมื่อ: กุมภาพันธ์ 02, 2011, 16:47:22 PM »

...  ใช้ SubReport ช่วยนะครับ  แล้วก็แก้คำสั่งให้นิดนึง

     ลองทดสอบดูนะครับ ...  :D ....

19
Report Exchange / ฝากให้ป๋าไสว หนองหาน ครับ
« เมื่อ: มกราคม 24, 2011, 17:50:48 PM »

... ป๋าลองทดสอบดูก่อนนะครับ ...  :D ....

20
นอกเรื่อง / Web HOSxP เราจำนวน Guests ผิดปกติครับ
« เมื่อ: มกราคม 20, 2011, 10:34:33 AM »


... ตอนนี้ 10.30 น. จำนวน Guests ผิดปกติครับ

    มีใครคิดทำอะไรหรือเปล่าครับเนี่ย ....

21
MySQL / MySQL 5.5 GA
« เมื่อ: มกราคม 19, 2011, 11:49:13 AM »

... ออกมาสักพักแล้ว สำหรับตัวที่เป็น Generally Available (GA) ตัวแรก ของ 5.5.x

    5.5.x => InnoDB is the default storage engine

   
    ตอนนี้ติดตั้งใช้ใน slave กับฐานสำหรับทดสอบมา 2-3 วันแล้วครับ ...  :D ...

     http://www.mysql.com/

22

... สืบเนื่องมาจากกระทู้นี้นะครับ

http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=19367.msg160045#msg160045

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

    ซึ่งหลักการก็คือ ให้มีการหาเหตุการณ์ที่จะมีค่าเป็น True หรือ False แล้วเราค่อยเลือกกำหนดอีกที่ว่าเราจะให้ค่าที่เป็น True หรือ False เป็นค่าที่ประมวลผลคำสั่งดึงข้อมูลของรายงาน  ประมาณนี้แหล่ะครับ
    ผมเองก็ทฤษฎีไม่ค่อยแม่นเหมือนกัน ....   :D ....

23
Delphi / Pascal / ฝาก script ให้ golf_win ครับ
« เมื่อ: มกราคม 17, 2011, 15:07:35 PM »

... ลองทดสอบดูก่อนนะ  พี่ทดสอบดูของพี่แล้วไม่ช้า

    ตรง and depcode in ("008","010","050")  ก็ใส่แผนกของจุด screen

    ตรง form_name = "Lab Checkup (DM)" ก็ใส่ชื่อฟอร์ม lab ที่เราใช้ส่งตรวจ
 
    ...  :D ....


var
  fvn,fcomputername,fdepartment,fhn : string;
  fdate_1,fdate_2,fdate_3 : string;
  DM_HN,HT_HN : string;
  tc : TClientDataset;

begin

  fvn := GetGlobalValue('VN');
  fcomputername := GetGlobalValue('CURRENT_COMPUTER');
  fdepartment := GetGlobalValue('CURRENT_DEPCODE');
  fhn := getsqldata('select hn from ovst where vn = "'+fvn+'" ');

  {==================== Screen ====================}
  if getsqldata('select depcode from kskdepartment where depcode = "'+fdepartment+'" '+
  'and depcode in ("008","010","050") ') = ''+fdepartment+''  then
    begin

        fdate_1 := formatdatetime('yyyy',getsqldata('select curdate()'));

      if getsqldata('select count(vn) as cc from ovst where vn = "'+fvn+'" '+
      'and month(vstdate) in ("10","11","12")') > 0 then
        begin
        fdate_2 := fdate_1+'-10-01" and "'+inttostr(strtoint(fdate_1) + 1)+'-09-30';
        fdate_3 := inttostr(strtoint(fdate_1) + 544);
        end
        else
        begin
        fdate_2 := inttostr(strtoint(fdate_1) - 1)+'-10-01" and "'+fdate_1+'-09-30';
        fdate_3 := inttostr(strtoint(fdate_1) + 543);
        end;

      DM_HN := getsqlsubquerydata('select hn from clinicmember where clinic = "001"');
      HT_HN := getsqlsubquerydata('select hn from clinicmember where clinic = "002"');
  {-------------------------------------------------------------------------------------------}
        if getsqldata('select count(distinct hn) as cc from clinicmember '+
        'where clinic = "001" and hn = "'+fhn+'" ') > 0 then
          begin
            if getsqldata('select count(*) as cc from lab_head '+
            'where report_date between "'+fdate_2+'"  '+
            'and hn = "'+getsqldata('select hn from ovst where vn = "'+fvn+'"')+'" '+
            'and hn in ('+DM_HN+') '+
            'and form_name = "Lab Checkup (DM)" ') > 0 then
            showmessage(' <<< เป็นผู้ป่วยในคลีนิคเบาหวาน  ได้รับการตรวจ Lab_Checkup(DM) ประจำปีงบประมาณ  '+fdate_3+'  นี้แล้ว >>> ')
            else
            showmessage(' <<< เป็นผู้ป่วยในคลีนิคเบาหวาน  ยังไม่เคยได้รับการตรวจ Lab_Checkup(DM) ประจำปีงบประมาณ  '+fdate_3+'  >>> ');
          end;
   {-------------------------------------------------------------------------------------------}
        if getsqldata('select count(*) as cc from ovstdiag where vn = "'+fvn+'" '+
        'and hn not in ('+DM_HN+') '+
        'and (icd10 between "E10" and "E1499")') > 0 then
          begin
            showmessage(' <<< ผู้ป่วยได้รับการ diag ว่าเป็นโรคเบาหวาน  แต่ยังไม่ได้ขึ้นทะเบียนผู้ป่วยคลีนิคเบาหวาน >>> ');
          end;
  {-------------------------------------------------------------------------------------------}
        if getsqldata('select count(*) as cc from ovstdiag where vn = "'+fvn+'" '+
        'and hn not in ('+HT_HN+') '+
        'and (icd10 between "I10" and "I1599")') > 0 then
          begin
            showmessage(' <<< ผู้ป่วยได้รับการ diag ว่าเป็นโรคความดันโลหิตสูง  แต่ยังไม่ได้ขึ้นทะเบียนผู้ป่วยคลีนิคความดันโลหิตสูง >>> ');
          end;

    end;


end;


24

... เป็นรายงานที่ผมเอามาใช้เป็นตัวอย่างในห้องประชุม 2 ของการประชุมวิชาการที่เชียงใหม่เมื่อวานนี้นะครับ


    ก่อนที่จะนำไปทดสอบต้องแก้ไขคำสั่งของรายงาน 3 ส่วนก่อนนะครับ คือ ผู้ที่ได้รับสิทธิในการสั่งพิมพ์รายงาน,รหัส icode ของ insulin และรหัสที่อยู่
    ตัวอย่างตามรูปเลยนะครับ ...  :D ...

25
... เป็นฟอร์มที่ทำรูปแบบของคำสั่งที่ใช้ในรายงานขึ้นมาใหม่ มีอะไรบ้าง ลองดูคร่าวๆ กันนะครับ ...  :D ...

แบบฟอร์มชุดนี้ได้จัดทำขึ้นเนื่องจากต้องการที่จะตอบสนองความต้องการของผู้ใช้ใน 2 ข้อ คือ
1.ต้องการให้มีการป้องกันผู้ที่ไม่ได้รับสิทธิ ไม่ให้สามารถพิมพ์ข้อมูลการตรวจรักษา(จากปุ่มเวชระเบียน)ในหน้าต่าง Patient EMR ได้ เพื่อเป็นการรักษาความปลอดภัยในข้อมูลของผู้รับบริการในระดับหนึ่ง
2.ต้องการให้พิมพ์ข้อมูลการให้บริการเฉพาะข้อมูลที่เกิดจากแผนกของตนเองเท่านั้น(ห้องตรวจแพทย์,ER) ไม่ต้องนำข้อมูลจากแผนกอื่นมาแสดง

ดังนั้นจึงต้องจัดทำฟอร์มใบตรวจรักษาผู้ป่วยนอกขึ้นมาใหม่ เนื่องจากต้องมีการวางรูปแบบของคำสั่งต่างๆ ในรายงานใหม่  เพื่อให้ตัวรายงานสามารถที่จะตอบสนองความต้องการดังกล่าวได้  โดยเป็นรายงานแบบ Dynamic สามารถปรับขยายพื้นที่การแสดงผลได้ตามขนาดของข้อมูลที่มี และสามารถแสดงผลได้ไม่จำกัดจำนวนหน้า
และยังมีการเพิ่มเติมส่วนของรูปวาดการตรวจร่างกาย(PE Image) ซึ่งใน HOSxP เองนั้นสามารถบันทึกได้ถึง 10 รูป โดยในฟอร์มรายงานก็จะสามารถแสดงผลข้อมูลได้มากกว่า 1 รูป    ซึ่งในกรณีที่มีมากกว่า 1 รูปขึ้นไป จะมีการแสดงผลของรูปวาดในหน้ากระดาษใหม่เองโดยอัตโนมัติ   และมีการปรับแก้ไขเรื่องของการ Diag ของรหัสการวินิจฉัยโรคที่เป็น B20 – B24 ให้แสดงเฉพาะรหัส แต่ไม่แสดงชื่อ


.... ปล. ตัวไฟล์จะอยู่ที่ ตอบ#7 นะครับ ...  :D ...


26
Development / HOSxP 3.53.11.12 stable
« เมื่อ: พฤศจิกายน 12, 2010, 08:15:57 AM »
.... HOSxP 3.53.11.12 stable ....  :D ....

  Changelog
  - แก้ไข Bug การส่งออกข้อมูล 18 แฟ้ม field cost ตาราง service 1.นำมาจาก opitemrece.cost*opitemrece.qty   2.นำมาจาก opitemrece.qty*s_drugitems.cost 3. หากยังมีค่าเป็น 0 จะกำหนดให้เท่ากับ price (เพื่อให้ส่งออกได้ไปก่อน จนกว่าหน่วยให้บริการจะทำการกำหนดราคาทุนของรายการค่าใช้จ่ายทั้งหมด)

  - เพิ่มช่องบังคับส่งข้อมูลออก 18 แฟ้ม สปสช. ของข้อมูลหญิงฝากครรภ์ และ เด็กแรกเกิด

  - เพิ่มตาราง ward_admit_snapshot เพื่อเก็บข้อมูลรายชื่อผู้ป่วยค้าง ward ในแต่ละวัน

27
Development / 3.53.10.28 & 3.53.10.28b
« เมื่อ: ตุลาคม 28, 2010, 20:50:08 PM »
... 3.53.10.28 มาแล้วครับ ...  :D ...

28
... วันนี้แพทย์แจ้งข้อสงสัยในการใช้งานให้ทราบ  

    เรื่องคนไข้ที่ผ่านการตรวจและบันทึกแล้ว มีบางส่วนที่ไม่แสดงชื่อในช่องผู้ป่วยที่ตรวจแล้วทางด้านขวามือ

    พอนั่งตรวจสอบดูก็พบว่าเกิดขึ้นในกรณีที่คนไข้รายนั้นได้ผ่านห้อง ER  คือมีการบันทึกการรับบริการที่ห้อง ER มาก่อนที่จะเข้าห้องตรวจแพทย์
    นั่งทดสอบอยู่ นาน..................(นานมาก  ;D ) ว่าสาเหตุเกิดจากอะไร  พอไปดูตรงคำสั่งที่ อ.MN ใช้ในการดึงข้อมูลมาแสดงในส่วนนี้ก็พอจะทราบปัญหาครับว่า มาจากการแสดงระยะเวลาการรับบริการที่ในวงเล็บที่ต่อท้ายเลข HN ที่ใช้ service12 ในตาราง service_time  มาลบด้วย service5


    คำสั่งที่เห็นจะเป็นแบบนี้ครับ

  select concat(r.rx_time,' - ',o.rx_queue,' - ',p.pname,p.fname,' ',p.lname,' : ',p.hn,' ') as name,
  timediff(st.service12,st.service5) as service_time
  from patient p,ovst o,rx_doctor r,service_time st
  where p.hn=o.hn
  and o.vstdate='2010-08-16'
  and r.vn=o.vn
  and r.doctor='0025'
  and st.service12 is not null
  and st.service5 is not null
  and st.service12>st.service5
  and o.vn = st.vn
  order by r.rx_time desc

    ปัญหาที่เกิดน่าจะมาจากเงื่อนไขที่ว่า    and st.service12>st.service5  ครับ

    เพราะว่าตอนนี้ใน HOSxP เองนั้น  
    เวลาที่จะบันทึกในในตาราง service_time  ทั้งเวลาที่บันทึกข้อมูลการรับบริการที่ห้อง ER กับเวลาที่บันทึกการรับบริการในห้องตรวจแพทย์
    จะถูกบันทึกอยู่ที่เดียวกันคือ service12 ในตาราง service_time

    ทีนี้พอคนไข้ถูกบันทึกข้อมูลจาก ER ก่อนที่จะเข้าห้องตรวจ ทำให้มีข้อมูลเวลาเก็บอยู่ใน service12 อยู่แล้ว คือเวลาที่สั่งบันทึกข้อมูลผู้ป่วยที่ ER
    พอคนไข้เข้าห้องตรวจและมีการบันทึกข้อมูลที่หน้าต่างงานห้องตรวจแล้ว เวลาเก็บอยู่ใน service12 ก็ไม่ได้ถูกแก้ไข ยังเป็นเวลาเดิมที่เป็นเวลาที่สั่งบันทึกข้อมูลผู้ป่วยที่ ER อยู่

    ดังนั้นจึงทำให้เวลาใน service12  มีค่าน้อยกว่า  service5(เวลาที่เรียกข้อมูลคนไข้เข้าหน้าต่างงานห้องตรวจแพทย์)  เพราะบันทึกข้อมูลที่ ER ก่อนเรียกข้อมูลคนไข้เข้าห้องตรวจแพทย์
    ทำให้ไม่มีข้อมูลผู้ป่วยรายนี้มาแสดงที่ช่องผู้ป่วยที่ตรวจแล้วทางด้านขวามือ เพราะเงื่อนไขของคำสั่งกำหนดไว้ว่า  service12  ต้องมากกว่า  service5 ...


....เจอปัญหา แต่ไม่รู้จะเสนอแนะ อ.MN แบบไหนดี  :-\    
    
    ถ้าจะให้มีการ update ข้อมูลใน service12 แทนที่ข้อมูลเดิมด้วยเวลาสั่งบันทึกที่ห้องตรวจแพทย์   เดี๋ยวเวลาที่ไปดึงข้อมูลคนไข้(คนอื่นที่ไม้ได้ผ่าน ER ก่อนด้วย)ที่ออกจากห้องตรวจไปแล้วมาดู  แล้วสั่งบันทึกไปใหม่ทีหลัง  ก็จะทำให้เวลาที่คนไข้ออกจากห้องตรวจจริงๆ ที่เก็บไว้ในฐานข้อมูลผิดพลาดไปอีก
  
    หรือว่าถ้าจะแยก field ที่เก็บข้อมูลเวลาที่บันทึกข้อมูลการรับบริการที่ห้อง ER  กับเวลาที่บันทึกการรับบริการในห้องตรวจแพทย์ ออกจากกันเป็นคนละ field ไม่รู้ว่าจะกระทบกับส่วนอื่นหรือเปล่า
    
    หรือเอาแบบง่ายๆ คือในส่วนที่มีปัญหานี้ ก็ตัดคำสั่งส่วนที่เป็นการคำนวนเวลาที่รับบริการที่ห้องแพทย์ออกไป เรื่อง service12 กับ service5 ก็จะไม่มีผลในการดึงข้อมูลมาแสดง

    คงต้องรบกวนให้ อ.MN ช่วยเหลือครับ  ไว้ตอนที่อาจารย์พอมีเวลาว่างก็ได้ครับ เพราะช่วงนี้ทราบว่าอาจารย์งานยุ่งมาก  และผมได้อธิบายให้แพทย์เขาทราบรายละเอียดไปแล้วครับ ....
  

    ปล.
    1. อธิบายยาวมากเพราะปัญหาการใช้งานห้องแพทย์ถือเป็นปัญหาอันดับ 1 ของผู้ช่วย Admin  ;D  ;D
    2. จริงๆ ก็มีหน้าต่างทะเบียนผูป่วยที่แพทย์ตรวจตามที่ อ.mn บอกอยู่แล้วครับ  แต่แพทย์บางท่านบอกดูตรงแท็ปตรวจรักษา ที่หน้าต่างโต๊ะทำงานแพทย์ดีกว่า  :)  :)


.... ขอบคุณ อ.MN ครับ ....  :D ....

29

... มีวิธีการที่จะทำให้ SubReport หรือ Region ที่มีหลายตัวในรายงาน สามารถแสดงผลแบบเรียงต่อกันไปเรื่อยๆ ได้ มาฝากครับ
   
    ซึ่งผมเจอวิธีการทำ ตอนที่ทำ OPD Card(A5) ห้องตรวจแพทย์ หลังจากงมหาวิธีการอยู่นานมากกว่าจะเจอ  ทั้งที่จริงวิธีทำนั้นง่ายมากครับ
    พอดีไปเจอกระทู้ที่คุณ yokyai ถามถึงวิธีการทำ ในกระทู้นี้ครับ

    ซึ่งคิดว่าน่าจะเป็นประโยชน์กับคนอื่นด้วย  เลยขอมาตอบโดยเริ่มเป็นหัวข้อใหม่  เผื่อว่าจะเป็นประโยชน์เวลาที่มาค้นหาข้อมูลในภายหลังด้วยครับ ...  ;D ....


30
Report Exchange / รายงาน เอามาฝากครับ
« เมื่อ: มิถุนายน 01, 2010, 18:20:21 PM »

... พอดีว่าอาทิตย์ที่แล้วขลุกอยู่กับการตรวจสอบข้อมูลคนไข้ เจอคนไข้ที่ cid ไม่ถูกต้องค่อนข้างเยอะ 
    ที่จริงทำรายงานไว้ให้ห้องบัตรคอยตรวจสอบแล้ว  ทั้ง
    1. ตรวจหาคนที่ไม่มี cid
    2. cid เป็น 1111111111111
    3. cid ที่มาจากการ Generate
    4. รวมทั้ง 3 ข้อข้างต้น

    สงสัยว่าเขาจะหารายงานใน End user report เพื่อเอาข้อมูลมาตรวจสอบไม่เจอ
    เพราะมีรายงานอยู่ในระบบเยอะ   ;D  ;D
   
    ก็เลยมานั่งคิดว่าที่จริงรายงานทั้ง 4 ตัวข้างบน ก็มีรูบแบบเหมือนกัน  ใช้คำสั่งเหมือนกันต่างกันแค่ส่วนของเงื่อนไข  ก็น่าจะเอามารวมให้เป็นรายงานตัวเดียวกัน แล้วให้มีตัวเลือกให้ผู้ใช้เลือกเอาเองว่า อยากได้ข้อมูลด้วยเงื่อนไขแบบไหน จะได้ลดจำนวนของรายงานลงบ้าง

    ลองทำดู   รายงาน 4 in 1   เสร็จแล้วเลยเอามาฝาก  เผื่อว่าจะใช้เป็นแนวทางในการทำรายงานอื่นๆ ครับ 
    โดยเฉพาะน้อง อ.nuttavut ที่ผมไปขอรายงานมาใช้บ่อยๆ ให้มาทีเป็นชุดเลย เผื่อว่าจะได้ลดจำนวนรายงานลงได้บ้าง อันนี้เพื่อความสะดวกของคนขอมาใช้อย่างผมครับ อิ อิ ...  ;D  ;D ...

31

... รบกวน อ.mn ช่วยตรวจสอบให้ด้วยนะครับ  :D ...

... เวลารวม HN แล้ว  HN ตัวที่เรานำไปรวมกับ HN อื่นจะถูกลบออกไป
    ถ้าเกิดว่า HN ตัวที่ถูกลบเพราะถูกนำไปรวมกับ HN แล้ว  มีข้อมูลอยู่ใน patient_hn ในตาราง person ข้อมูลส่วนนี้ไม่ได้ถูกเปลี่ยนไปเป็น HN ตัวใหม่ด้วยครับ  ยังเป็นตัวเดิมอยู่  ทำให้ข้อมูลไป link กับตาราง patient ด้วย patient_link ไม่ได้ครับ ....

... ถ้าเรารวมเองไม่เป็นไรครับ จะเข้าไปแก้ไขที่ตาราง person เอง 
   แต่บางครั้งคนอื่นเป็นคนรวมแล้วลืมไม่ได้แจ้งให้เราทราบ  ก็เป็นปัญหาเล็กๆ เหมือนกันครับ ...  :D ...

32
นอกเรื่อง / HOSxP กับ นิตยสาร CHIP
« เมื่อ: เมษายน 21, 2010, 00:34:26 AM »

... ปกติแล้ว ตอนนี้นิตยสารคอมพิวเตอร์ที่ผมจะซื้ออ่านเป็นประจำอยู่ฉบับนึง คือ CHIP ครับ ...

... พอดีเมื่อตอนเย็น เข้าไปซื้อของที่เซียร์ รังสิต แล้วเจอนิตยสาร CHIP ประจำเดือน เมษายน 2553 พอดีก็ซื้อกลับมาด้วย 1 ฉบับ ปรากฏว่ามี อ.mn ของพวกเราไป show ความหล่อ(  ;D ) อยู่ในนิตยสารฉบับนี้ด้วยครับ ด้วยพรุ่งนี้จะ Scan มาให้ดูครับ ...
... ขออนุญาตทางนิตยสาร CHIP มา ณ ที่นี้ด้วยนะครับ ...  :D ...

33
Development / HOSxP 3.53.4.20
« เมื่อ: เมษายน 20, 2010, 22:05:15 PM »
  Changelog
       - แก้ไข Bug ตาราง clinicmember บันทึกข้อมูลไม่ได้
       - เพิ่มหน้าจอ บันทึกข้อมูลฝังเข็ม

34
นอกเรื่อง / น่าสนใจครับ จาก nectec
« เมื่อ: มีนาคม 03, 2010, 00:51:51 AM »

... จาก web ของ nectec  เห็นว่าน่าสนใจมากครับ 

http://www.nectec.or.th/index.php?option=com_content&view=article&catid=365&Itemid=165&id=365

    แต่ว่าจำนวนโรงพยาบาลที่ใช้งาน HOSxP ผิดไปเยอะครับ ..  :D  :D ...

35
Development / HOSxP 3.53.2.3d
« เมื่อ: กุมภาพันธ์ 03, 2010, 22:47:12 PM »
.... HOSxP 3.53.2.3d  มาแล้วครับ ....  :D ...

Changelog
- ปรับปรุงตาราง er_oper_code / ipt_oper_code เพิ่ม field active_status เพื่อเปิด/ปิด การใช้งาน (กำหนดค่าเป็น Y/N)
- แก้ไข Bug ออกใบรับรองแพทย์ที่จุดซักประวัติไม่แสดงชื่อผู้ป่วย
- แกไข Bug EMR ปุ่มแสดงประวัติ Lab ไม่แสดงชื่อ Lab
- แก้ไข ระบบส่งตรวจล่วงหน้า หากไม่มีข้อมูลใน oapp.spclty ให้นำมาจาก kskdepartment.spclty (oapp.depcode)
- ปรับปรุงข้อมูลรายการยา เพิ่ม ตัวเลือกยอมให้สั่งยาได้ กรณีกำหนดรายการยาเอาไว้กับสิทธิการรักษา
- ปรับปรุงระบบห้องจ่ายยา Mode 3 (OPD/IPD) ให้ตรวจสอบการจ่ายยาที่ถูก Lock เอาไว้ตามสิทธิการรักษา
- แก้ไข Bug ประเภทการชำระเงินในรายการที่กำหนดให้เป็นค่าบริการส่วนเกิน นำมาจากรายการที่ตั้งเป็นส่วนเกินแทนที่จะมาจากรายการต้นแบบ
- ปรับปรุง Patient EMR แก้ไข Service filter ให้แสดงรายการแผนกทั้งหมด

36
Development / HOSxP v.3.52.12.23
« เมื่อ: ธันวาคม 24, 2009, 09:47:18 AM »

... กำลังทดสอบการใช้งานครับ ...  :D ...



Changelog
- ปรับปรุงระบบงานทันตกรรม เพิ่ม popup menu (คลิกขวาที่ช่อง DN) กำหนดหมายเลข DN เอง
- ปรับปรุงระบบงานทันตกรรม เพิ่มตัวเลือก checkbox ออกใบเสร็จรับเงินอัตโนมัติ
- ปรับปรุงระบบงานทันตกรรม แก้ไขให้สั่งพิมพ์ไปยัง RTC Sticker Printserver
- ปรับปรุงระบบรายงานโรค 506 เพิ่มช่อง ความทันเวลา ชั้นเรียน โรงเรียน ประวัติการรายงานโรคและตัวเลือกในการ Update ข้อมูลที่ datacenter ทันที่ที่บันทึก
- ปรับปรุงตัวเลือกใน System setting เพิ่มช่องกำหนดรหัสหน่วยงาน 506 และประเภทหน่วยงาน 506 ให้แสดงอัตโนมัติตอนรายงานผลใหม่
- แก้ไข Bug ห้องตรวจแพทย์ แสดงช่องใส่รหัสทุกแผนก และ update ovst error record not found
- ปรับปรุงจุดซักประวัติ เพิ่มช่อง DTX1/DTX2
- ปรับปรุงระบบส่งออก 18 แฟ้ม แก้ไขให้ส่งข้อมูล Text file ตาราง nutri ข้อมูล น้ำหนัก/ส่วนสูง เป็น ทศนิยม 3 ตำแหน่ง แก้ไข Bug ส่ง pid ตาราง nutri เป็น 9 หลัก (ข้อมูลจากตารางอื่น) และแก้ไข header delimiter เป็น Pipe
- ปรับปรุงระบบ OPD Customer Search เพิ่มเงื่อนไข ผล Lab ไม่ได้
- ปรับปรุงระบบส่งข้อมูล 506 ให้ รองรับการส่งออก DBF ตามโครงสร้างของโปรแกรม R506

37
Report Exchange / FORM-Doctor-OPDCARD ขนาด A5 ภาค2
« เมื่อ: ธันวาคม 11, 2009, 15:13:33 PM »
... จากที่เคยได้ทำ FORM-Doctor-OPDCARD ขนาด A5 สำหรับห้องตรวจแพทย์ไว้แล้วในครั้งก่อน 
    ซึ่งมีปํญหาในกรณีที่มีข้อมูลเยอะๆ แล้วให้ออกในแผ่นที่ 2 ไม่ได้(ถึงพอทำได้ก็ออกมาแบบไม่เรียบร้อย)

    ตอนนี้ก็เลยทำขึ้นมาใหม่ แบบจะมีข้อมูลกี่หน้า A5 ก็ได้ครับ ไม่จำกัดแล้ว

    ซึ่งผมคิดทำไว้ 2 รูปแบบ  วันนี้ขอเป็นการ จับภาพของแบบแรกมาให้ดูก่อน 
   ส่วนตัวฟอร์ม  ตอนนี้ต้องขออภัยก่อนนะครับ เดี๋ยวจะโพสต์ให้หลังกลับจากเขาใหญ่ครับผม

   รูปตัวอย่างที่มีการบันทึกข้อมูลแบบมากๆ ผมใส่ข้อมูลไว้สำหรับทดลองทำฟอร์มตัวนี้ครับ  เลยออกมา 4 หน้าเลยครับ

38
Report Exchange / ฝากให้ป๋า jdadmin1 ครับ
« เมื่อ: พฤศจิกายน 03, 2009, 13:45:46 PM »

... ฝากขออภัย vios ด้วย ที่ดูให้ช้าไปหน่อย  อย่างที่รู้ๆ แหล่ะครับป๋า ...  :D ...

39
นอกเรื่อง / ฝากให้ รพ.บางซ้าย ครับ
« เมื่อ: ตุลาคม 02, 2009, 09:02:41 AM »

... วาง variable ขึ้นมา 1 ตัว  แทนที่ตรงข้อมูล HN ตัวเก่านะครับ  แล้ว copy คำสั่งข้างล่างไปวางใน variable ได้เลยครับ  HN ในใบเสร็จก็จะแสดงทั้ง OPD และ IPD ครับ

  Value := GetSQLStringData('select hn from opitemrece '+
  'where finance_number = "'+DBPipeline['name9']+'" ');


... ส่วน HN อันเดิม จะใช้ คลิ๊กขวาแล้วยกเลิก Visible หรือลบทิ้งไปเลยก็ได้ครับ ...  :D ....

40
Development / HOSxP 3.52.9.22
« เมื่อ: กันยายน 22, 2009, 16:01:35 PM »
... รอมาหลายวัน   ขอ download ไปทดสอบก่อน  ...  ;D ....


จาก Changelog

    - เพิ่มระบบรวมข้อมูลบุคคล (person) ที่มีข้อมูลซ้ำซ้อนกัน

    - พัฒนาระบบงานแพทย์แผนไทย ให้เก็บข้อมูลได้เหมือนกับโปรแกรมรหัสข้อมูลสุขภาพ ด้านการแพทย์แผนไทยของกรมพัฒนาการแพทย์แผนไทยและการแพทย์ทางเลือก ( HOSxP และ HOSxP PCU )

Checking structure phase 2
ALTER TABLE opdconfig  MODIFY COLUMN `hospitalcode`  varchar(9)     
ALTER TABLE icd10_health_med  ADD `name` varchar(150) NOT NULL   
ALTER TABLE health_med_treatment_type  ADD `health_med_treatment_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_treatment_subtype  ADD `icd10` varchar(9) NULL   
ALTER TABLE health_med_treatment_subtype  ADD `health_med_treatment_type_id` int NOT NULL   
ALTER TABLE health_med_treatment_subtype  ADD `health_med_treatment_subtype_name` varchar(150) NOT NULL   
ALTER TABLE health_med_service_type  ADD `health_med_service_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_service_treatment  ADD `health_med_treatment_subtype_id` int NOT NULL   
ALTER TABLE health_med_service_treatment  ADD `health_med_treatment_type_id` int NOT NULL   
ALTER TABLE health_med_service_treatment  ADD `health_med_service_id` int NOT NULL   
ALTER TABLE health_med_service_operation  ADD `health_med_provider_id` int NOT NULL   
ALTER TABLE health_med_service_operation  ADD `opi_guid` varchar(38) NULL   
ALTER TABLE health_med_service_operation  ADD `service_qty` int NULL   
ALTER TABLE health_med_service_operation  ADD `service_icode` varchar(7) NULL   
ALTER TABLE health_med_service_operation  ADD `service_price` double(15,3) NULL   
ALTER TABLE health_med_service_operation  ADD `health_med_service_operation_time_minute` int NULL   
ALTER TABLE health_med_service_operation  ADD `health_med_organ_id` int NOT NULL   
ALTER TABLE health_med_service_operation  ADD `health_med_operation_item_id` int NOT NULL   
ALTER TABLE health_med_service_operation  ADD `health_med_operation_type_id` int NOT NULL   
ALTER TABLE health_med_service_operation  ADD `health_med_service_id` int NOT NULL   
ALTER TABLE health_med_service_medication  ADD `health_med_medication_id` int NULL   
ALTER TABLE health_med_service_medication  ADD `print_sticker` char(1) NULL   
ALTER TABLE health_med_service_medication  ADD `opi_guid` varchar(38) NULL   
ALTER TABLE health_med_service_medication  ADD `total_price` double(15,3) NULL   
ALTER TABLE health_med_service_medication  ADD `unitprice` double(15,3) NULL   
ALTER TABLE health_med_service_medication  ADD `qty` int NOT NULL   
ALTER TABLE health_med_service_medication  ADD `sp_use` varchar(9) NULL   
ALTER TABLE health_med_service_medication  ADD `drugusage` varchar(9) NULL   
ALTER TABLE health_med_service_medication  ADD `icode` varchar(7) NOT NULL   
ALTER TABLE health_med_service_medication  ADD `health_med_service_id` int NOT NULL   
ALTER TABLE health_med_service_diagnosis  ADD `ovst_diag_id` int NULL   
ALTER TABLE health_med_service_diagnosis  ADD `icd10` varchar(9) NOT NULL   
ALTER TABLE health_med_service_diagnosis  ADD `health_med_service_id` int NOT NULL   
ALTER TABLE health_med_service  ADD `health_med_treatment_type_id` int NULL   
ALTER TABLE health_med_service  ADD `health_med_doctor_id` int NULL   
ALTER TABLE health_med_service  ADD `service_time` time NULL   
ALTER TABLE health_med_service  ADD `service_date` date NULL   
ALTER TABLE health_med_service  ADD `health_med_service_type_id` int NOT NULL   
ALTER TABLE health_med_service  ADD `an` varchar(9) NULL   
ALTER TABLE health_med_service  ADD `vn` varchar(13) NULL   
ALTER TABLE health_med_service  ADD `hn` varchar(9) NOT NULL   
ALTER TABLE health_med_provider_type  ADD `health_med_provider_type_code` varchar(10) NULL   
ALTER TABLE health_med_provider_type  ADD `health_med_provider_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_provider_status  ADD `service_type_list_text` varchar(100) NULL   
ALTER TABLE health_med_provider_status  ADD `health_med_provider_level_id` int NOT NULL   
ALTER TABLE health_med_provider_service_type_list  ADD `health_med_provider_service_type_id` int NOT NULL   
ALTER TABLE health_med_provider_service_type  ADD `health_med_provider_service_type_code` varchar(10) NULL   
ALTER TABLE health_med_provider_service_type  ADD `health_med_provider_service_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_provider_level  ADD `health_med_provider_level_name` varchar(150) NOT NULL   
ALTER TABLE health_med_provider_category_list  ADD `health_med_provider_category_id` int NOT NULL   
ALTER TABLE health_med_provider_category  ADD `health_med_provider_category_code` varchar(10) NULL   
ALTER TABLE health_med_provider_category  ADD `health_med_provider_category_name` varchar(150) NOT NULL   
ALTER TABLE health_med_provider  ADD `health_med_provider_full_name` varchar(100) NULL   
ALTER TABLE health_med_provider  ADD `health_med_provider_fname` varchar(50) NULL   
ALTER TABLE health_med_provider  ADD `health_med_provider_category_id` int NULL   
ALTER TABLE health_med_provider  ADD `health_med_provider_type_id` int NULL   
ALTER TABLE health_med_provider  ADD `health_med_license_type_id` int NULL   
ALTER TABLE health_med_provider  ADD `health_med_institute_id` int NULL   
ALTER TABLE health_med_provider  ADD `health_med_institute_type_id` int NULL   
ALTER TABLE health_med_provider  ADD `health_med_educational_id` int NULL   
ALTER TABLE health_med_provider  ADD `health_med_curriculum_id` int NULL   
ALTER TABLE health_med_provider  ADD `health_med_provider_license_no` varchar(50) NULL   
ALTER TABLE health_med_provider  ADD `health_med_provider_lname` varchar(50) NULL   
ALTER TABLE health_med_provider  ADD `health_med_provider_pname` varchar(30) NULL   
ALTER TABLE health_med_product_type  ADD `health_med_product_type_code` varchar(10) NULL   
ALTER TABLE health_med_product_type  ADD `health_med_product_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_product  ADD `health_med_product_type_id` int NULL   
ALTER TABLE health_med_product  ADD `health_med_product_name` varchar(150) NOT NULL   
ALTER TABLE health_med_organ  ADD `health_med_organ_code` varchar(10) NULL   
ALTER TABLE health_med_organ  ADD `health_med_organ_name` varchar(150) NOT NULL   
ALTER TABLE health_med_operation_type  ADD `health_med_operation_type_code` varchar(10) NULL   
ALTER TABLE health_med_operation_type  ADD `health_med_operation_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_operation_item_organ  ADD `health_med_operation_type_id` int NULL   
ALTER TABLE health_med_operation_item_organ  ADD `health_med_organ_id` int NOT NULL   
ALTER TABLE health_med_operation_item_organ  ADD `health_med_operation_item_id` int NOT NULL   
ALTER TABLE health_med_operation_item  ADD `operation_time_default` int NULL   
ALTER TABLE health_med_operation_item  ADD `health_med_operation_type_id` int NULL   
ALTER TABLE health_med_operation_item  ADD `price` double(15,3) NULL   
ALTER TABLE health_med_operation_item  ADD `icode` varchar(7) NULL   
ALTER TABLE health_med_operation_item  ADD `health_med_operation_item_code` varchar(10) NULL   
ALTER TABLE health_med_operation_item  ADD `health_med_operation_item_name` varchar(250) NOT NULL   
ALTER TABLE health_med_operation_code  ADD `name` varchar(250) NOT NULL   
ALTER TABLE health_med_medication  ADD `drugusage` varchar(7) NULL   
ALTER TABLE health_med_medication  ADD `price` double(15,3) NULL   
ALTER TABLE health_med_medication  ADD `icode` varchar(7) NULL   
ALTER TABLE health_med_medication  ADD `health_med_medication_code` varchar(50) NULL   
ALTER TABLE health_med_medication  ADD `health_med_medication_name` varchar(200) NOT NULL   
ALTER TABLE health_med_license_type  ADD `health_med_license_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_institute_type  ADD `health_med_institute_type_code` varchar(50) NULL   
ALTER TABLE health_med_institute_type  ADD `health_med_institute_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_institute  ADD `health_med_institute_type_id` int NULL   
ALTER TABLE health_med_institute  ADD `health_med_institute_code` varchar(50) NULL   
ALTER TABLE health_med_institute  ADD `health_med_institute_name` varchar(200) NOT NULL   
ALTER TABLE health_med_educational  ADD `health_med_educational_code` varchar(50) NULL   
ALTER TABLE health_med_educational  ADD `health_med_educational_name` varchar(250) NOT NULL   
ALTER TABLE health_med_doctor_type  ADD `health_med_doctor_type_name` varchar(150) NOT NULL   
ALTER TABLE health_med_doctor  ADD `health_med_institute_other` varchar(200) NULL   
ALTER TABLE health_med_doctor  ADD `health_med_institute_type_other` varchar(200) NULL   
ALTER TABLE health_med_doctor  ADD `health_med_educational_other` varchar(200) NULL   
ALTER TABLE health_med_doctor  ADD `health_med_curriculum_other` varchar(200) NULL   
ALTER TABLE health_med_doctor  ADD `health_med_doctor_type_id` int NULL   
ALTER TABLE health_med_doctor  ADD `health_med_license_type_id` int NULL   
ALTER TABLE health_med_doctor  ADD `health_med_institute_id` int NULL   
ALTER TABLE health_med_doctor  ADD `health_med_institute_type_id` int NULL   
ALTER TABLE health_med_doctor  ADD `health_med_educational_id` int NULL   
ALTER TABLE health_med_doctor  ADD `health_med_curriculum_id` int NULL   
ALTER TABLE health_med_doctor  ADD `license_number` varchar(50) NULL   
ALTER TABLE health_med_doctor  ADD `lname` varchar(50) NULL   
ALTER TABLE health_med_doctor  ADD `fname` varchar(50) NULL   
ALTER TABLE health_med_doctor  ADD `pname` varchar(30) NULL   
ALTER TABLE health_med_doctor  ADD `doctor_code` varchar(9) NULL   
ALTER TABLE health_med_doctor  ADD `health_med_doctor_name` varchar(150) NOT NULL   
ALTER TABLE health_med_curriculum  ADD `health_med_curriculum_code` varchar(50) NULL   
ALTER TABLE health_med_curriculum  ADD `health_med_curriculum_name` varchar(250) NOT NULL   
ALTER TABLE edoc_revolve_list  ADD `edoc_revolve_datetime` datetime NULL   
ALTER TABLE edoc_revolve_list  ADD `staff` varchar(50) NULL   
ALTER TABLE edoc_revolve_list  ADD `to_hospital_department_id` int NOT NULL   
ALTER TABLE edoc_revolve_list  ADD `from_hospital_department_id` int NOT NULL   
ALTER TABLE edoc_revolve_list  ADD `edoc_id` int NOT NULL   
CREATE TABLE icd10_health_med ( `icd10` varchar(9) NOT NULL  )
CREATE TABLE health_med_treatment_type ( `health_med_treatment_type_id` int NOT NULL  )
CREATE TABLE health_med_treatment_subtype ( `health_med_treatment_subtype_id` int NOT NULL  )
CREATE TABLE health_med_service_type ( `health_med_service_type_id` int NOT NULL  )
CREATE TABLE health_med_service_treatment ( `health_med_service_treatment_id` int NOT NULL  )
CREATE TABLE health_med_service_operation ( `health_med_service_operation_id` int NOT NULL  )
CREATE TABLE health_med_service_medication ( `health_med_service_medication_id` int NOT NULL  )
CREATE TABLE health_med_service_diagnosis ( `health_med_service_diagnosis_id` int NOT NULL  )
CREATE TABLE health_med_service ( `health_med_service_id` int NOT NULL  )
CREATE TABLE health_med_provider_type ( `health_med_provider_type_id` int NOT NULL  )
CREATE TABLE health_med_provider_status ( `health_med_provider_status_id` int NOT NULL  )
CREATE TABLE health_med_provider_service_type_list ( `health_med_provider_service_type_list_id` int NOT NULL  )
CREATE TABLE health_med_provider_service_type ( `health_med_provider_service_type_id` int NOT NULL  )
CREATE TABLE health_med_provider_level ( `health_med_provider_level_id` int NOT NULL  )
CREATE TABLE health_med_provider_category_list ( `health_med_provider_category_list_id` int NOT NULL  )
CREATE TABLE health_med_provider_category ( `health_med_provider_category_id` int NOT NULL  )
CREATE TABLE health_med_provider ( `health_med_provider_id` int NOT NULL  )
CREATE TABLE health_med_product_type ( `health_med_product_type_id` int NOT NULL  )
CREATE TABLE health_med_product ( `health_med_product_id` int NOT NULL  )
CREATE TABLE health_med_organ ( `health_med_organ_id` int NOT NULL  )
CREATE TABLE health_med_operation_type ( `health_med_operation_type_id` int NOT NULL  )
CREATE TABLE health_med_operation_item_organ ( `health_med_operation_item_organ_id` int NOT NULL  )
CREATE TABLE health_med_operation_item ( `health_med_operation_item_id` int NOT NULL  )
CREATE TABLE health_med_operation_code ( `code` char(9) NOT NULL  )
CREATE TABLE health_med_medication ( `health_med_medication_id` int NOT NULL  )
CREATE TABLE health_med_license_type ( `health_med_license_type_id` int NOT NULL  )
CREATE TABLE health_med_institute_type ( `health_med_institute_type_id` int NOT NULL  )
CREATE TABLE health_med_institute ( `health_med_institute_id` int NOT NULL  )
CREATE TABLE health_med_educational ( `health_med_educational_id` int NOT NULL  )
CREATE TABLE health_med_doctor_type ( `health_med_doctor_type_id` int NOT NULL  )
CREATE TABLE health_med_doctor ( `health_med_doctor_id` int NOT NULL  )
CREATE TABLE health_med_curriculum ( `health_med_curriculum_id` int NOT NULL  )
CREATE TABLE edoc_revolve_list ( `edoc_revolve_list_id` int NOT NULL  )
Checking structure phase 1

41
Report Exchange / ฝากให้ รพ.ค่ายวิภาวดีฯ
« เมื่อ: กันยายน 18, 2009, 00:08:38 AM »

... ลองทดสอบดูนะครับ  คิดว่าน่าจะตรงพอดีครับ(แต่พอมี Billcode แล้วเปลืองเนื้อที่ไปเยอะเหมือนกัน)  :D ...

    คือที่บอกมาว่าเป็น 7 x 9  แต่ผมนับจำนวนรูกระดาษตามรูปที่ส่งมาได้แค่ 17 รู(8.5") เองครับ  เลยลองทำจากขนาด 8.5"   ถ้าติดขัดหรือยังไม่ตรงยังงัยก็บอกนะครับ 


    แล้วเดี๋ยวพอใช้ใบเสร็จ Lot นี้หมด
    ก็บอกคนที่สั่งพิมพ์ว่าไม่ต้องมีเส้นบรรทัดตรงช่องจำนวนเงินแล้ว  ;D  ;D ....

42


... เมื่อวันจันทร์ได้มีโอกาสนำคณะ จนท. ของทาง สสอ.วังน้อย  ไปศึกษาดูงานเรื่องการใช้งาน BMSeCare(HOSxP PCU)  ได้รับการต้อนรับอย่างอบอุ่นจากพี่โก้ และทีมงานของ สสอ.สองพี่น้อง  รวมทั้งได้ความรู้จากพี่โก้และทีมงานมาอีกเยอะเลย

    ต้องขอขอบคุณ พี่โก้(udomchok)  +  พี่ที่น่ารักจาก สสอ.สองพี่น้อง +  เจ้าหน้าที่ สอ.บ้านไผ่โรงวัว , สอ.ต้นตาล ทุกท่าน   รวมทั้งน้องที่น่ารักอีก 2 ท่าน( 2 สอ. ) ที่มาร่วมโชว์ตัว สาธิตการติดต่อกันผ่าน webcam แบบสดๆ ด้วยครับ   
    หลังจากนี้จะมีอะไรเปลี่ยนแปลงหรือไม่ ก็คงอยู่ที่ว่าเราจะมองกันโดยใช้อะไรเป็นศูนย์กลางละครับ  :D  :D


   ปล. เห็นพี่โก้ทำงานกับ สสอ. แล้ว ชื่นใจแทนจริงๆ ครับ ....
 
   
 
   

43
Report Exchange / ฝากให้ รพ.หนองหาน อุดรธานี ครับ
« เมื่อ: กรกฎาคม 22, 2009, 21:44:21 PM »
... ลองทดสอบดูก่อนนะครับ  ไม่รู้ตรงใจหรือเปล่า  แต่ยังคงให้แสดงรายการได้หน้าละ  10  รายการเหมือนเดิมนะครับ(แต่รายละเอียดของผู้ป่วยจะมีทุกหน้าแล้วนะครับ) ....

... ส่วนของ variable ที่เกี่ยวกับวันนัด ของเดิมผมยังเก็บไว้อยู่นะครับ แต่ผมยกเลิกการเลือก visible เอาไว้ ...

... ให้แก้ไข lab_items_code ของ LAB ทั้งสามตัวให้ตรงกับของ หนองหาน ด้วยนะครับ  ตัวละ 2 จุด ตามรูปที่แนบครับ ...

... ในส่วนของผล FBS ที่แสดงในฟอร์ม จะดูจาก ตาราง lab_order ก่อน ถ้าไม่มีข้อมูลที่ ตาราง lab_order  ก็จะไปดูข้อมูลจาก ตาราง opdscreen  สำหรับกรณีที่ส่งเสริมฯ ตรวจ DTX เองแล้วเอาผลไปลงที่หน้า Screen โดยไม่ผ่านระบบห้อง LAB  ตามที่ได้บอกมานะครับ 
    ส่วนอีก 2 ตัวที่เหลือ ดูจาก ตาราง lab_order อย่างเดียวครับ ....

... เครื่องหมายถูกหน้ารายการ LAB  ถ้ามีการสั่ง ถึงจะยังไม่มีการรายงานผล ก็จะแสดงนะครับ(สำหรับ FBS ถ้าไม่มีการสั่งผ่าน LAB   ก็จะดูไปจาก ตาราง opdscreen  ด้วยครับ)
    ส่วนผลการตรวจที่มาจาก ตาราง lab_order ต้องมีการยืนยันผลด้วยนะครับ ถึงจะแสดงในฟอร์ม ....

... ส่วนตั้งครรภ์ กับ ให้นมบุตร เอามาจาก opdscreen ตามปกติ   ส่วน ให้นมบุตร นี่ สงสัย อ.mn จะยังไม่ได้เอาไปแสดงที่หน้าจอห้องตรวจแพทย์ ผมหาไม่เจอเลย  มีแต่ที่หน้าจอซักประวัติ  ....


... ถ้าผิดพลาดตกหล่นตรงใหนก็แจ้งด้วยนะครับ ...  :D ....

44
Report Exchange / ฝากให้ Golf_win ครับ
« เมื่อ: พฤษภาคม 27, 2009, 16:32:01 PM »
... ยังทำส่วนของผู้ป่วยเสียชีวิตไม่เสร็จเลย ปวดหัวซะก่อน เดียวพรุ่งนี้ค่อยดูต่ออีกที
   
   ลองเอาไปดูก่อนแล้วกัน .... :P ...


...  :D ...



--------------------------------------------
...ผมขออนุญาตลบ file  ที่แนบครับ .....
--------------------------------------------

45
Development / HOSxP 3.52.5.3
« เมื่อ: พฤษภาคม 03, 2009, 12:52:30 PM »

 Changelog

     - ปรับปรุงปุ่มบันทึกข้อมูล Refer จากห้อง ER
     - แก้ไข Bug แสดง ข้อมูลเตือนการสั่ง X-Ray ที่ห้องการเงินไม่ถูกต้อง
     - ปรับปรุงระบบการ Link หัตถการ ICD9 จาก หัตถการ ER

....  :D .....

46
Report Exchange / FORM-Doctor-OPDCARD ขนาด A5
« เมื่อ: มีนาคม 13, 2009, 22:23:18 PM »
... FORM-Doctor-OPDCARD ตัวนี้ผมยังทำได้ไม่เสร็จเรียบร้อยเท่าที่ตัวเองต้องการเลยครับ  แต่ถ้ารอให้ได้ตามที่ตั้งใจไว้คงอีกนานแน่  :P  เลยเอามาให้ลองทดสอบดูก่อน  เผื่อว่ามีใครรอที่จะนำไปทดสอบอยู่(ช่วงนี้ผมรู้สึกว่าจะมีอาการจามบ่อยๆ นอนก็หลับไม่ค่อยสบายยังงัยไม่รู้ ..  ;D .. )

... ฟอร์มตัวนี้ผมยังไม่ได้ใส่ PE Image ลงไปด้วยนะครับ  อย่างที่ทราบว่าตอนนี้สามารถบันทึกได้ถึง 10 รูป เลยคิดว่าถ้าหากมีการใช้งานส่วนนี้จะให้ไปออกในแผ่นใหม่เลย แผ่นละ 2 หรือ 3 รูปน่าจะดีกว่า แล้วก็ได้ลองทำไปแล้วก็สามารถทำได้ แต่ว่ายังไม่เรียบร้อยดี ตอนนี้เลยตัดออกไปก่อน  แล้วตอนนี้ อ.mn ทำ Report Designer ให้มี DBPipeLineLink ได้ 10 ตัวแล้ว ก็เลยรอใช้ประโยชน์ส่วนนี้ดีกว่า   แต่ใครรอทดสอบ แต่ว่าใช้ version ต่ำกว่า 3.52.3.11 อยู่  ไม่ต้องกลัวว่าจะใช้ไม่ได้ เพราะกว่าผมจะลองทำเสร็จ ทุกท่านคงจะอัพกันจนเลย 3.52.3.11 ไปไกลแล้ว อิ อิ อิ   ;D  ;D  ;D ...



... ฟอร์มตัวนี้ ผมทำในระบบทดสอบของผมนะครับ ซึ่งตอนนี้ใช้ version 3.52.3.10  ตัว Report Designer จะยังมี DBPipeLineLink ได้ 5 ตัวอยู่นะครับ  กับ MySQL 5.1.32 ใน Full Setup ตัวล่าสุด  OS เป็น XP SP3 ครับ ....

... เดี๋ยวจะแนบรูปให้ดูก่อนนะครับ  ส่วนตัวรายงานจะอยู่ต่อจากรูป ...

47
แจ้งปัญหา / ขอความช่วยเหลือ / ตาราง hn_change_log
« เมื่อ: มีนาคม 04, 2009, 10:26:12 AM »

... คือ ตอนนี้ไม่ทราบว่าข้อมูลการรวม HN ถูกเก็บอยู่ที่ตาราง hn_change_log นี้หรือเปล่านะครับ ...

... แต่ฝากอาจารย์ช่วยดูตารางนี้ให้หน่อยนะครับ  ข้อมูลของ HN ทั้ง 2 field จะเป็นตัวเดียวกัน คือ HN ที่รวมแล้ว ไม่มี HN เดิมที่นำมารวมครับ  และถ้ามีการเก็บข้อมูล login_name กับ computer_name ด้วยก็คิดว่าจะมีประโยชน์ในเรื่องการตรวจสอบข้อมูลเบื้องต้นมากๆ ครับ  ...  :D  :D ...

48
Report Exchange / ฝากให้น้อง Golf_win ...
« เมื่อ: กุมภาพันธ์ 23, 2009, 18:42:04 PM »

... ลองช่วยดูก่อนครับว่ามีอะไรที่ควรจะแก้ไขอีกหรือเปล่า  จะปิดงานแล้วครับ  ...  :D ...

... เหนื่อยมากๆ เลย กับ OPD Card ใบนี้ ...  :P ....

49
Development / HOSxP 3.52.2.11
« เมื่อ: กุมภาพันธ์ 11, 2009, 23:51:38 PM »
 
... HOSxP 3.52.2.11 มาแล้วครับ ....

... คงยังไม่ได้ทดสอบครับ ตอนนี้ใช้ GPRS + Netbook อยู่ ... :D ....
โค๊ด: SQL
  1.  
  2. ALTER TABLE special_prop_type  ADD `special_prop_type_name` VARCHAR(150) NOT NULL  
  3. ALTER TABLE religion  MODIFY COLUMN `nhso_code`  VARCHAR(10)  
  4. ALTER TABLE person_labor_type  ADD `nhso_code` VARCHAR(10) NULL  
  5. ALTER TABLE patient_special_prop  ADD `entry_datetime` datetime NULL  
  6. ALTER TABLE patient_special_prop  ADD `note` VARCHAR(250) NULL  
  7. ALTER TABLE patient_special_prop  ADD `staff` VARCHAR(25) NULL  
  8. ALTER TABLE patient_special_prop  ADD `special_prop_type_id` INT NULL  
  9. ALTER TABLE patient_special_prop  ADD `hn` VARCHAR(9) NOT NULL  
  10. ALTER TABLE operation_detail  ADD `extension_code` VARCHAR(15) NULL  
  11. ALTER TABLE operation_detail  ADD `electric_touch` CHAR(1) NULL  
  12. ALTER TABLE operation_detail  ADD `extenstion_code` VARCHAR(10) NULL  
  13. ALTER TABLE operation_anes_problem  ADD `problem_time` TIME NULL  
  14. ALTER TABLE operation_anes_problem  ADD `problem_date` DATE NULL  
  15. ALTER TABLE operation_anes_problem  ADD `staff` VARCHAR(25) NULL  
  16. ALTER TABLE operation_anes  ADD `doctor3` VARCHAR(9) NULL  
  17. ALTER TABLE operation_anes  MODIFY COLUMN `doctor2`  VARCHAR(9)  
  18. ALTER TABLE operation_anes  MODIFY COLUMN `doctor`  VARCHAR(9)  
  19. ALTER TABLE labor  ADD `placenta_bpd` DOUBLE(15,3) NULL  
  20. ALTER TABLE labor  ADD `placenta_bps` DOUBLE(15,3) NULL  
  21. ALTER TABLE doctor_position_std  ADD `doctor_position_std_name` VARCHAR(150) NOT NULL  
  22. CREATE TABLE special_prop_type ( `special_prop_type_id` INT NOT NULL  )
  23. CREATE TABLE patient_special_prop ( `patient_special_prop_id` INT NOT NULL  )
  24. CREATE TABLE doctor_position_std ( `doctor_position_std_id` INT NOT NULL  )
  25. Checking STRUCTURE phase 1
  26.  
  27.  

50
Report Exchange / ฝาก นค1 ให้ รพ.ค่ายอดิศร
« เมื่อ: กุมภาพันธ์ 10, 2009, 17:37:59 PM »

... มีอะไรเปลี่ยนแปลง โทร.บอกแล้วกันนะครับ ...

... แต่ว่า พุธ-ศุกร์ ไม่อยู่ รพ. 3 วัน ไปปฏิบัติธรรมครับ ...  :D ...

หน้า: [1] 2