วันเสาร์ที่ 30 มกราคม พ.ศ. 2559

ITL-การบันทึกข้อมูล ผล TSH และ Birth Asphyxia เพื่อส่งออกแฟ้ม NEWBORN ในบัญชี 3

การบันทึกผล TSH และ BIRTH ASPHYXIA ในบัญชี 3

HOSXP :: ระบบงานอื่นๆ >> ระบบงานบัญชี 1-8 >> ระบบงานบัญชี 3

HOSXP_PCU ::  ระบบงานบัญชี 1-8 >> ระบบงานบัญชี 3


หมายเหตุ  ชื่อมารดา ให้กด ค้นหา เท่านั้นนะครับ ห้าม!!! พิมพ์ชื่อมากดาเข้าไป นะครับ


การบันทึกข้อมูล มีรายละเอียด ดังนี้

1.  ครรภ์ที่ คือ ครรภ์ที่หญิงตั้งครรภ์ (ต้องบันทึก)
2.  สถานที่คลอด และชื่อสถานพยาบาลที่คลอด (ต้องบันทึก)
3.  วิธีการคลอด (ต้องบันทึก)
4.  ประเภทผู้ทำคลอด (ต้องบันทึก)
5.  อายุครรภ์ คือ อายุครรภ์ ณ วันที่คลอด (ต้องบันทึก)
6.  น้ำหนักแรกคลอด (ต้องบันทึก)
7.  ลำดับการคลอด (ต้องบันทึก)
8.  วันที่คลอด (ต้องบันทึก)
9.  ภาวะ BA (Birth Asphyxia) (ต้องบันทึก)
     ถ้าเด็ก ไม่มี BA ต้องเลือก ไม่มีภาวะ Birth Asphyxia โปรแกรม HOSxP จะส่งออกเป็น 1  ในแฟ้ม NEWBOEN
     ถ้าเด็ก มี BA ต้องเลือก มีภาวะ Birth Asphyxia โปรแกรม HOSxP จะส่งออกเป็น 2  ในแฟ้ม NEWBOEN

10.มีภาวะการณ์ขาดอ๊อกซิเจน
      ต้องติ๊กเลือก [aถ้ามีภาวะขาด ออกซิเจน และต้องลงค่า APGAR Score ในข้อ 12
11.ได้รับ Vitamin K
      ต้องติ๊กเลือก  ถ้าเด็กได้รับ Vitamin K
12.ค่า APGAR Score
      ต้องลงค่า APGAR Score ทุกครั้ง
13.ได้รับการตรวจไทรอยด์ วันที่ ที่ตรวจไทรอยด์ สถานที่ตรวจไทรอยด์ (ต้องบันทึก)
      ถ้าหากเด็กได้รับการตรวจไทรอยด์ ให้ติ๊กเลือก [a] ได้รับการตรวจไทรอยด์ และลงวันที่ตรวจด้วย สถานที่ตรวจไทรอยด์ และติ๊กเลือก  ได้รับการยืนยันผลไทรอยด์ และลงวันที่ที่ได้รับการยืนยันผลด้วยทุกครั้ง
14.ผลการตรวจหลังคลอด (ต้องบันทึก)
15.ตรวจ Thyroid ที่ (ต้องบันทึก)
      บันทึกรหัสสถานพยาบาลที่ตรวจไทรอยด์ ช่องนี้ข้อมูลจะสัมพันธ์กับข้อที่ 13 ในช่องสถานที่ที่ตรวจไทรอยด์
16. ผล TSH (ต้องบันทึก)
      บันทึกผล TSH  ทันที  เมื่อได้รับผลการตรวจ
17.การตรวจสภาวะพร่องไทรอยด์ฮอร์โมน (ต้องบันทึก)
18.บังคับส่งออกข้อมูล
      ข้อ 18 นี้สำคัญมาก เมื่อบันทึกข้อมูล ทั้ง 17 ข้อครบแล้ว ให้ผู้บันทึกข้อมูล ติ๊กเลือก
      บังคับส่งออกข้อมูล 18 แฟ้ม สปสช. และเลือก วันที่ส่งออก(ในเดือน) 
      การเลือก วันที่ส่งออกข้อมูล (ในเดือน)  เพื่อส่งออก 43 แฟ้ม ในแฟ้ม NEWBORN
           - เลือก วันเดือนปี ที่ขึ้นทะเบียนเด็ก เพื่อส่งออกข้อมูล ในแฟ้ม NEWBORN
           และ
           - เลือก วันเดือนปี ที่บันทึกผล TSH 

        =================================================================

ตัวอย่าง
ขึ้นทะเบียนบัญชี 3 ของเด็กคนนั้น วันที่ 10 มกราคา 2558 ให้ทำการ ติ๊กเลือกบังคับส่งออก และเลือกเดือนที่ส่งออกข้อมูลเป็น วันเดียวกับวันที่ขึ้นทะเบียนเด็ก คือ วันที่ 10 มกราคม 2558 ดังรูป




กรณี ลงบันทึกข้อมูล  TSH
จะเห็นได้ว่าในแถบข้อมูลการคลอด ของ บัญชี3 จะมีช่องให้ติ๊กเลือก คือ

         [   ] ได้รับการตรวจไทรอยด์                - วันที่ ที่ได้รับการตรวจไทรอยด์    - สถานที่ตรวจ

[  ] ได้รับการตรวจไทรอยด์  ::: จะติ๊กช่องนี้เมื่อเด็กได้รับการตรวจไทรอยด์
วันที่ คือวันที่ ที่เด็กได้รับการตรวจไทรอยด์
สถานที่ตรวจ คือ สถานพยาบาลที่เด็กได้รับการตรวจไทรอยด์

=================================================================

          [   ] ได้รับการตรวจยืนยันผลไทรอยด์                         วันที่ ที่ได้รับผลการตรวจไทรอยด์

 [   ] ได้รับการตรวจยืนยันผลไทรอยด์  ::: จะติ๊กช่องนี้ก็ต่อเมื่อ ได้รับผลไทรอยด์ แล้วเท่านั้น

 - วันที่ ::: วันที่ ที่ได้รับการยืนยันผลไทรอยด์

         =================================================================

การติ๊กส่งออก ที่ถูกต้อง และ ผล TSH ก็จะถูกส่งออกมาในแฟ้ม NWEBORN


หากมีข้อชี้แนะ สามารถแจ้งเข้ามาได้นะครับ




วันอังคารที่ 26 มกราคม พ.ศ. 2559

"ATTRIB" คำสั่ง แก้ Hidden File

สำหรับบทความนี้เป็นการความรู้เรื่อง Attribute ของ File และ Folder ของ Window 


สำหรับคำว่า Attributes หรือ คุณลักษณะ ของ file และ folder ของระบบปฏิบัติการ window ก็คือการกำหนดคุณลักษณะของ file และ folder ที่จัดเก็บไว้ในหน่วยความจำสำรอง (Hard disk ,Flash Drive,External Hard disk) ของเครื่องคอมพิวเตอร์ โดยคุณลักษณะหลักของ file และ folder ของระบบปฏิบัติการ window แบ่งได้เป็น 4 ลักษณะ ดังนี้

  1. A (Archive file attribute) หรือ ไฟล์ที่มีความสำคัญอยู่ร่วมกันหลายๆและมีการบีบอัดไฟล์
  2. R (Read-only file attribute) หรือ อ่านหรือเข้าถึงเพียงอย่างเดียว
  3. H (Hidden file attribute)  หรือ ไฟล์ที่มีลักษณะเป็นไฟล์ซ้อน
  4. S (System file attribute) หรือ ไฟล์ของระบบ


จาก 4 คุณลักษณะของ file และ folder ผู้ใช้งานสามารถเปลี่ยนคุณลักษณะ ได้ตามการใช้งาน สำหรับบทความนี้จะนำเสนอการเปลี่ยนคุณลักษณะ ของ File และ Folder
ด้วยการใช้ DOS(Disk Operating System )

ทำไมต้องใช้  DOS ?
จาก Window ที่เราใช้งานสามารถเปลี่ยน Attribute ของ File และ Folder ได้ง่ายๆ ด้วย การคลิกขวาที่ File หรือ Folder -->เลือก Properties-->ติกเลือก attribute ที่ต้องการ-->OK
จากภาพเป็นการเปลี่ยน Attribute ของ File หรือ Folder ของ window ตามวิธีทั่วๆไป ที่ใครๆก็รู้
อ้าวๆๆๆๆ... แล้วทำไมมีแค่ 3 ตัว เอง..นั้นซิคับจะเห็นได้ว่า ตามวิธีทั่วๆไป ผู้ใช้ไม่สามารถเปลี่ยนแปลง Attribute ที่เป็น S (System file attribute) ได้  แต่หากใช้ DOS ดังนั้นจำเป็นต้องใช้DOS นะคับ

คำสั่ง Attribute ใน DOS 

C:\Documents and Settings\ERROR->attrib /?
Displays or changes file attributes.

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [drive:][path][filename]
       [/S [/D]]

  +  Sets an attribute.
  -   Clears an attribute.
  R   Read-only file attribute.
  A   Archive file attribute.
  S   System file attribute.
  H   Hidden file attribute.
  [drive:][path][filename]
      Specifies a file or files for attrib to process.
  /S  Processes matching files in the current folder
      and all subfolders.
  /D  Processes folders as well.


C:\Documents and Settings\ERROR->

ตอนนี้เราก็รู้แล้วว่าคำสั่ง Attribute ใน Dos ใช้ยังไง


การนำไปประยุกต์ใช้งาน 

สมมุติว่า Flash Drive เราติดไวรัสที่มีการทำงานเปลี่ยน File หรือ Folder เราเป็น Hidden file และ System File แน่นอนว่าเราจะมองไม่เห็นมันแน่นอน. แต่เรามีความรู้เรื่อง Attribute ใน Dos เรียบร้อยแล้วเราก็จัดการมันซะ โดย

1. คลิก Start --> Run...พิมพ์คำสั่ง cmd แล้วกด Enter
 2. พิมพ์ N: ( เมื่อ Flash Drive เป็นไดร์ N:\ )
3. พิมพ์คำสั่ง attrib -s -h -r /S /D (สั่งยกเลิกการซ่อน Folder ทั้งหมด) หรือ

พิมพ์ attrib -s -h -r /S /D ตามด้วยชื่อ Folder ที่ต้องการยกเลิกการซ่อน (กรณีสั่งยกเลิกทีละ Folder)

จากคำสั่ง attrib -s -h -r /S /D แสดงว่าเรากำหลังจะยกเลิก attribute ดังนี้
  S   System file attribute.
  H   Hidden file attribute.
  R   Read-only file attribute.
และ
/S /D คือ ยกเลิกทั้งหหมด

เรียบร้อยคับ เอาไปประยุกต์ใช้กันนะคับ ผมขอจบไว้ ณ ตรงนี้คับ...ขอบคุณคับ

วันอาทิตย์ที่ 17 มกราคม พ.ศ. 2559

วิธีตรวจสอบว่า Windows ที่เราใช้ เป็นของแท้หรือไม่ ?

สำหรับผู้ซื้อคอมพิวเตอร์แล้วซื้อกล่องติดตั้งระบบปฏิบัติการ Windows รุ่นต่างๆ ซี่งในปัจจุบันนี้ที่จำหน่ายอยู่ส่วนใหญ่จะเป็น Windows 7 , Windows 8.1 และ Windows 10 ด้วยเพื่อจะลงเอง ก็ไม่น่าจะมีปัญหา แต่ถ้าซื้อ Windows แผ่น copy หรือ ซื้อคอมเครื่องเปล่าแล้วให้ทางร้านลงให้ ซึ่งมีกรณีนี้หลายราย บางท่านคงไม่ทราบว่าที่ร้านลงให้ หรือที่เราซื้อคอม,แท็บเล็ต Windows นี้เป็นของจริงหรือของปลอม วันนี้มีวิธีตรวจสอบง่ายๆว่า Windows ที่เราใช้อยู่นี้เป็นของแท้จริงๆหรือไม่ ?
check-windows-license-activated-0
เริ่มจากกดปุ่ม start แล้วพิมพ์ในช่อง search ว่า cmd , หรือ กรณีใช้ Windows 8 , Windows 8.1 และ Windows 10 ละก็ เข้าไปที่ Search ( กดปุ่ม Windows + Q ) แล้วพิมพ์ cmd เพื่อเรียกหน้าต่าง Command Line ออกมา >>  จากนั้นพิมพ์ slmgr /xpr แล้วกดปุ่ม Enter  แค่นี้เรียบร้อย รอลุ้นผลเลย
ถ้าปรากฏคำว่า “The machine is permanently activate” แสดงว่า Windows ที่เราใช้เป็นของแท้ เพราะผ่านการ Activate เรียบร้อย
แต่ถ้าขึ้นนอกเหนือจากนี้ หรือเป็น Volume activation will expire ( บอกวันหมดอายุด้วย ) แสดงว่าเป็นWindows ปลอม ยังไม่ผ่านการ Activate ถ้าเป็นแบบนี้เท่ากับว่าคุณกำลังใช้ Windows เวอร์ชั่นทดลองถ้าหมด 60 วันแล้ว จะเข้าสู่หน้าแจ้งเตือนให้ใช้ Key ของ Windows  ซึ่งต้องซื้อจากกล่องระบบปฏิบัติการWindows ของแท้
check-windows-license-activated-01
นอกจากนี้ยังสามารถตรวจสอบว่า Windows คุณเป็นของแท้ผ่านการ Activate หรือยัง โดยผู้ใช้ Windows 8 ขึ้นไป และ Windows 10   สามารถกด Windows+Q แล้วพิมพ์ System แล้วเลือกที่ “System”จากนั้นดูบริเวณด้านล่างๆ จากหน้าต่างนี้ว่า ขึ้นข้อความ Windows is Activated หรือไม่ ถ้าขึ้นแบบนี้ สบายใจได้ว่า Windows ที่คุณใช้เป็น Windows แท้แน่นอน
เครดิต:http://www.it24hrs.com/2015/check-windows-license-activated/

วันพุธที่ 13 มกราคม พ.ศ. 2559

ลบบ้านในบัญชี 1 ไม่ได้ (สาเหตุอาจเกิดจาก มีผู้เสียชีวิตอยู่ในบ้าน)

ลบบ้านในบัญชี 1 ไม่ได้ (สาเหตุอาจเกิดจาก มีผู้เสียชีวิตอยู่ในบ้าน)

วิธีการตรวจสอบ

select * from village
เพื่อตรวจตำบลในเขตรับผิดชอบของเราว่า village_id คืออะไร

select * from house where village_id='1' and address='167'
คำสั่งนี้ให้ใส่บ้านเลขที่ ตรงส่วนของ address และรหัสตำบล ประมวลแล้วเราจะได้รหัสบ้านเลขที่ 167

select * from person where house_id='1521'
คำสั่งนี้ให้เอารหัสบ้านเลขที่มาใส่ จะประมวลผลออกชื่อประชากรที่อยู่ในบ้านเลขที่นั้น

หลังจากนั้นเราก็จะได้ทั้ง pid,cid,ชื่อ-สกุล

เพิ่มรายการ Lab ในรายการนัดผู้ป่วย (HOSxP/HOSxP-PCU)

เพิ่มรายการ Lab ในรายการนัดผู้ป่วย (HOSxP/HOSxP-PCU)คลิกที่นี่

วันจันทร์ที่ 11 มกราคม พ.ศ. 2559

DNS ที่จำเป็นต้องรู้

DNS ที่จำเป็นต้องรู้


TOT

ช่วง WAN IP

125.24.64.0 - 125.24.119.255
125.24.128.0 - 125.24.255.255
125.25.64.0 - 125.25.127.255

DNS TOT
203.113.24.199
203.113.127.199



DNS TOT ตระกูล BIZ ทั้งหลาย totgoldbiz , totgoldbizplus ,totgoldbizfix , totplatinumbiz

203.113.15.99

203.113.15.100

DNS TOT ตระกูล goldcyber

203.113.24.199

203.113.127.199

DNS TOT ตระกูล supercyber,silvercyber

203.155.33.2

203.44.144.34



TT&T

203.130.159.20-21

MAXNET

Primary DNS Server (202.69.137.137)

Secondary DNS Server (202.69.137.138)



JI-NET

203.147.0.2

203.147.0.3



PACIFIC INTERNET

203.121.130.41



CAT

202.129.27.134

202.129.27.135



KSC

203.155.33.2

202.44.144.34

By http://brain.itac.co.th/

ผลการส่งข้อมูล OP/PP Individual Data 2559 แยกรายอำเภอ จังหวัดชัยภูมิ

ผลการส่งข้อมูล OP/PP Individual Data 2559 แยกรายอำเภอ จังหวัดชัยภูมิ คลิ๊กที่นี่

ตรวจสอบประชากรที่ "เสียชีวิต" ในบัญชี ๑ แต่สถานะ "ยังไม่จำหน่าย" ในคลินิกพิเศษ

SELECT p.patient_hn,c.hn,p.cid,CONCAT(p.pname,p.fname," ",p.lname)AS peron_name,p.death,p.discharge_date,
pd.person_discharge_name,p.person_discharge_id,c2.name AS clinic_name,cms.clinic_member_status_name,c.discharge,c.dchdate,
c.with_hypertension
FROM clinicmember c
LEFT OUTER JOIN person p ON p.patient_hn = c.hn
LEFT OUTER JOIN clinic_member_status cms ON cms.clinic_member_status_id = c.clinic_member_status_id
LEFT OUTER JOIN village v ON v.village_id = p.village_id
LEFT OUTER JOIN clinic c2 ON c2.clinic = c.clinic
LEFT OUTER JOIN person_discharge pd ON p.person_discharge_id = pd.person_discharge_id
WHERE p.death="Y"
AND c.clinic="002"
AND p.house_regist_type_id IN("1","3")

ตรวจสอบประชากรที่ "เสียชีวิต" ในบัญชี ๑ แต่สถานะ "ยังไม่จำหน่าย" ในคลินิกพิเศษ
-เบาหวาน/ความดัน
-อื่นๆ
เปลี่ยนรหัสคลินิกตามแต่ละโรงพยาบาลเองนะครับ
c.clinic="002"

By : กัมปนาท บุตรจันทร์

แสดงจำนวนผู้รับบริการห้อง X-ray แยกรายวัน

select x.xn,x.hn,x.vn,x.report_date,x.request_date,x.confirm ,xh.department,concat(p.pname,p.fname,' ',p.lname) as ptname ,i.xray_items_name ,
d.name as report_doctor_name , k.department as request_department ,d2.name as request_doctor_name,
xp.priority_name
from xray_report x
left outer join patient p on p.hn = x.hn
left outer join xray_items i on i.xray_items_code = x.xray_items_code
left outer join doctor d on d.code = x.report_doctor
left outer join kskdepartment k on k.depcode = x.request_depcode
left outer join doctor d2 on d2.code = x.request_doctor
left outer join xray_head xh on xh.vn = x.vn
left outer join xray_priority xp on xp.xray_priority_id = x.xray_priority_id
where x.confirm = 'Y' and x.confirm_read_film <> 'Y' and (x.request_date between '2014-08-04' and '2014-08-04' )
order by x.xn

By : สุชาติ เกตุทอง

ตรวจสอบ type area ของประชากรนอกเขตรับผิดชอบ(หมู่0) ไม่เป็น 4

SELECT *
FROM person
WHERE person.village_id="1"
AND person.house_regist_type_id<>"4"

By : กัมปนาท บุตรจันทร์

นับจำนวนเม็ดยาที่สั่งใช้ในปีงบประมาณ แยกรายเดือน

SELECT d.did,d.name AS DRUGNAME,d.strength,d.unitcost,d.unitprice,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 10 THEN o.qty ELSE 0 END) AS m_01,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 11 THEN o.qty ELSE 0 END) AS m_02,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 12 THEN o.qty ELSE 0 END) AS m_03,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 01 THEN o.qty ELSE 0 END) AS m_04,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 02 THEN o.qty ELSE 0 END) AS m_05,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 03 THEN o.qty ELSE 0 END) AS m_06,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 04 THEN o.qty ELSE 0 END) AS m_07,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 05 THEN o.qty ELSE 0 END) AS m_08,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 06 THEN o.qty ELSE 0 END) AS m_09,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 07 THEN o.qty ELSE 0 END) AS m_10,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 08 THEN o.qty ELSE 0 END) AS m_11,
SUM(CASE WHEN SUBSTR(o.vstdate,6,2) = 09 THEN o.qty ELSE 0 END) AS m_12
FROM drugitems d
LEFT OUTER JOIN opitemrece o ON o.icode = d.icode

นับจำนวนเม็ดยาที่สั่งใช้ในปีงบประมาณ แยกรายเดือน ถ้าหากต้องการดูจำนวนเม็ดที่สั่งใช้ในยาแต่ละตัว ให้เพิ่มเงื่อนไข เป็น
WHERE d.did="100736000004320120381555"

By : กัมปนาท บุตรจันทร์

Script ส่งออกข้อมูลโรคเรื้อรัง(Chronic) สำหรับ HOSxP

SELECT
(SELECT hospitalcode FROM opdconfig) AS HOSPCODE,
ps.person_id AS PID,
IF(c.regdate IS NULL OR TRIM(c.regdate)='' OR c.regdate LIKE '0000-00-00%','',DATE_FORMAT(c.regdate,'%Y%m%d')) AS DATE_DIAG,
'' AS CHRONIC,
'' AS HOSP_DX,
'' AS HOSP_RX,
IF(c.dchdate IS NULL OR TRIM(c.dchdate)='' OR c.dchdate LIKE '0000-00-00%','',DATE_FORMAT(c.dchdate,'%Y%m%d')) AS DATE_DISCH,
c.clinic_member_status_id AS TYPEDISCH,
IF(c.lastupdate IS NULL OR TRIM(c.lastupdate)='' OR c.lastupdate LIKE '0000-00-00%','',DATE_FORMAT(c.lastupdate,'%Y%m%d%H%i%s') ) AS D_UPDATE,
p.cid AS CID
FROM clinicmember c
LEFT OUTER JOIN clinic n ON c.clinic = n.clinic AND n.chronic = 'Y'
LEFT OUTER JOIN clinic_persist_icd cc ON c.hn=c.hn AND cc.dxtype = 1
LEFT OUTER JOIN clinic_member_status cm ON cm.clinic_member_status_id = c.clinic_member_status_id
LEFT OUTER JOIN patient p ON p.hn = c.hn
LEFT OUTER JOIN person ps ON c.hn=ps.patient_hn AND p.cid = ps.cid
LEFT OUTER JOIN opduser u ON u.loginname = c.modify_staff
LEFT OUTER JOIN ovst ov1 ON ov1.vn = c.last_cormobidity_screen_vn
ORDER BY c.pt_number,c.regdate

By : สุชาติ เกตุทอง

Errorแฟ้มDEATH ด้วยค่ะ ...ว่าสาเหตุการตาย(CDEATH)

Errorแฟ้มDEATH ด้วยค่ะ ...ว่าสาเหตุการตาย(CDEATH)

วิธีการแก้ Errorแฟ้มDEATH สาเหตุการตาย(CDEATH)



ตาราง rpt_504_name ช่อง icd10 ต้องมีข้อมูล ช่อง icd10


เขียนโดย ณัฐสิทธิ์ ร่มศรี


คำสั่งตรวจสอบรายงานการคัดกรอง และโรค ปี 2558

คำสั่งตรวจสอบรายงานการคัดกรอง และโรค ปี 2558

ขั้นตอนการดูรายงาน ให้ก๊อปคำสั่งไปวางใน sql query แล้วคลิก run


รายชื่อประชากร ที่อาจกรอกช้ำ ในงานคัดกรอง และ โรค ปี 2558
SELECT person.person_id,CONCAT(person.pname, person.fname," ",person.lname) AS `name`,
person.cid,ovstdiag.hn,ovstdiag.icd10,ovstdiag.vstdate,count(ovstdiag.hn)as ovstdiag2
FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z133" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY person.person_id HAVING ovstdiag2 >= 2
union
SELECT person.person_id,CONCAT(person.pname, person.fname," ",person.lname) AS `name`,
person.cid,ovstdiag.hn,ovstdiag.icd10,ovstdiag.vstdate,count(ovstdiag.hn)as ovstdiag2
FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z123" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY person.person_id HAVING ovstdiag2 >= 2
union
SELECT person.person_id,CONCAT(person.pname, person.fname," ",person.lname) AS `name`,
person.cid,ovstdiag.hn,ovstdiag.icd10,ovstdiag.vstdate,count(ovstdiag.hn)as ovstdiag2
FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z014" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY person.person_id HAVING ovstdiag2 >= 2
union
SELECT person.person_id,CONCAT(person.pname, person.fname," ",person.lname) AS `name`,
person.cid,ovstdiag.hn,ovstdiag.icd10,ovstdiag.vstdate,count(ovstdiag.hn)as ovstdiag2
FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z124" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY person.person_id HAVING ovstdiag2 >= 2
union
SELECT person.person_id,CONCAT(person.pname, person.fname," ",person.lname) AS `name`,
person.cid,ovstdiag.hn,ovstdiag.icd10,ovstdiag.vstdate,count(ovstdiag.hn)as ovstdiag2
FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z131" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY person.person_id HAVING ovstdiag2 >= 2
union
SELECT person.person_id,CONCAT(person.pname, person.fname," ",person.lname) AS `name`,
person.cid,ovstdiag.hn,ovstdiag.icd10,ovstdiag.vstdate,count(ovstdiag.hn)as ovstdiag2
FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z138" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY person.person_id HAVING ovstdiag2 >= 2

ผลงานโรค และการคัดกรอง ปี 2558

SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z001" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag.icd10
union
SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z012" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag.icd10
union
SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z108" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag.icd10
union
SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z133" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag.icd10
union
SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z123" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag.icd10
union
SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z014" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag.icd10
union
SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z124" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag.icd10
union
SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z131" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag .icd10
union
SELECT ovstdiag.icd10, count(person.sex)as total FROM ovstdiag INNER JOIN person ON person.patient_hn = ovstdiag.hn
WHERE ovstdiag.icd10 LIKE "Z138" AND ovstdiag.vstdate BETWEEN "2014-10-01" and "2015-06-30"
GROUP BY ovstdiag.icd10

cr.ชีวิต ต้องสู้

วันอาทิตย์ที่ 10 มกราคม พ.ศ. 2559

UC Authentication 4.0x version 2016 พร้อม License Manager 2559

UC Authentication 4.0x version 2016
รองรับการต่อ License Manager เพื่อเข้าใช้งานฐานข้อมูลสนบท. ถึง ปี ค.ศ.2017
เปิดให้ดาวน์โหลดแล้วค่ะ มาใหม่ๆ วันนี้เลย 04/01/2559

UC Authentication 4.0x version 2016
รองรับการต่อ License Manager เพื่อเข้าใช้งานฐานข้อมูลสนบท. ถึง ปี ค.ศ.2017

ขอให้ใช้โปรแกรม UCAuthentication 4.0x version 2016
แทนโปรแกรม UCAuthentication 4.0x และเวอร์ชั่นเก่ากว่านั้นนะคะ

ดาวน์โหลด โปรแกรมได้ที่ ... https://goo.gl/91Tx1Q
หรือ http://www.nhso.go.th/FrontEnd/page-information_detail.aspx…

โปรแกรม vi editor ที่ใช้สำหรับแก้ไขแฟ้มแบบ text บน Linux CentOS

โปรแกรม vi
: เป็น editor ที่ใช้สำหรับแก้ไขแฟ้มแบบ text
: a programmers text editor

Text editor ที่ใช้งานได้ยาก แต่มีใน linux ทุกรุ่น ในบางเครื่องไม่มี pico เพราะไม่ได้ติดตั้ง mail หรือ pine จึงจำเป็นต้องใช้โปรแกรม vi สำหรับแก้ไขข้อมูลในแฟ้มต่าง ๆ ของ linux เช่นการใช้คำสั่ง man ก็คือการใช้ความสามารถของ vi ในการนำข้อมูลมาแสดงผลนั่นเอง

ตัวอย่างคำสั่ง และการใช้งาน
esc กลับไปยังโหมดคำสั่ง
enter ย้ายไปยังต้นบรรทัดของบรรทัดถัดไป
i ใส่ข้อความก่อนเคอร์เซอร์
a ใส่ข้อความหลังเคอร์เซอร์
A ใส่ข้อความที่ท้ายบรรทัดปัจจุบัน
dd ลบบรรทัดปัจจุบันทั้งบรรทัด
x ลบอักษร 1 ตัวอักษร
cw เปลี่ยนข้อความ
:w บันทึกแฟ้ม
:q! ออกโดยไม่ เปลี่ยนแปลงใด ๆ
:wq บันทึกแฟ้ม และออกจากโปรแกรม vi

คำสั่ง ipconfig /all, netstat -a, tracert,ping ใน cmd

การใช้คำสั่ง Command Line บนเครือข่ายคอมพิวเตอร์
การใช้คำสั่ง IPconfig /all:


IPConfig /all คำสั่งสำหรับเรียกดูหมายเลข IP Address ภายในเครื่อง

***เปิด 'Start -> Run -> cmd' พิมพ์คำสั่ง 'ipconfig/all'
จากนั้นทำการตรวจสอบว่า IP Address / Subnet Mask / Gateway / DNS***

การใช้คำสั่ง Netstat -a:

การใช้คำสั่ง Netstat เพื่อตรวจสอบดูการทำงานของโปรโตคอล ICMP
ICMP เป็นโปรโตคอลที่ถูกนำมาใช้ประโยชน์มากมายหลายประการ เช่น การนำพาข่าวสารเกี่ยวกับสถานการณ์ทำงานของ Host กับ Host Router กับ Host รวมทั้ง Router กับ Router ด้วยกัน โดยมีการใช้ ICMP ที่อยู่ภายในเครื่องหรือ Router ทำหน้าที่แจ้งปัญหาต่างๆที่เกิดขึ้น กลับไปยังต้นทาง ที่ส่งข่าวสาร เพื่อ Ping ดูกัน นอกเหนือไปจากการรายงานความผิดพลาดแล้ว ยังมีการนำเอา ICMP มาใช้งานเพื่อตรวจสอบและร้องขอข้อมูลจากเครื่องลูกข่ายปลายทางที่กำหนดไว้ได้เช่นเดียวกัน

Tracert
TRACERT (Trace Route) ซึ่งเป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่คุณสามารถใช้เพื่อนติดตามเส้นทางที่แพคเก็ต Internet Protocol (IP) นำไปยังปลายทาง

Ping
Ping คือคำสั่งสำหรับการทดสอบระบบเน็ตเวิร์ค สามารถทดสอบได้ทั้งใน ระบบเครือข่ายในองค์กร หรืออินเตอร์เน็ต ทำให้เราทราบว่าเราสามารถเข้าถึง คอมพิวเตอร์เครื่องนั้นๆ ได้หรือไม่ หรือเว็บไซต์นั้นเปิดอยู่หรือไม่ เราสามารถใช้ คำสั่ง Ping ผ่านทาง DOS command ได้


ลืม password root mysql

ลืม password root mysql
ขั้นตอนแรก หยุดการทำงานของ service mysql ใน linux ใช้

service mysql stop


จากนั้น run คำสั่ง

mysqld_safe --skip-grant-tables &


จากนั้น เรา login เข้า mysql root โดยไม่มี password ดังนี้

mysql -uroot mysql

ที่ช่องคำสั่งให้พิมพ์

UPDATE user SET password=PASSWORD("abcd") WHERE user="root";

และ FLUSH PRIVILEGES;

ตอนนี้ root password ของ mysql จะถูกเปลี่ยนเป็น abcd ซึ่งเราสามารถไปแก้ไขได้ต่อไป

การตั้งเวลาใน centos elastix

การตั้งเวลาใน centos elastix
1. putty เข้าไป หรือทำที่หน้า console
2. ลบ localtime ของเดิม ด้วย
rm /etc/localtime
3. ln -s /usr/share/zoneinfo/Asia/Bangkok
4. /etc/localtime ntpdate th.pool.ntp.org

จบขั้นตอน

ตั้งเวลา reboot shutdown ด้วย crontab บน CentOS /Elastix/ClearOS crontab บน Linux

ตั้งเวลา reboot shutdown ด้วย crontab บน CentOS /Elastix/ClearOS
crontab บน Linux
====================
คำสั่ง crontab เป็นคำสั่งในการทำ schedule ในการสั่งโปรแกรม หรือ script ต่างๆ ทำงานตามเวลาที่กำหนด บนระบบ UNIX/LINUX
ซึ่งอำนวยความสะดวกได้มากเลยที่เดียว งานบางอย่างที่จำเป็นต้องทำซ้ำๆในเวลาเดียวกัน ไม่ว่าจะทุกวัน ทุกสัปดาห์ หรือ ทุกเดือน

การใช้งาน crontab
------------------------
คำสั่งและ option ของ crontab มีดังนี้
Code:

crontab filename การนำเอาคำสั่ง crontab เข้ามาจาก ไฟล์อื่น
crontab -e แก้ไข crontab ปัจจุบัน
crontab -l ดูคำสั่ง crontab ทั้งหมดที่มีอยู่
crontab -r ลบคำสั่ง crontab ที่มีทั้งหมด
crontab -u user เป็นคำสั่งของผู้ดูแลระบบเท่านั้น(administrators) เพื่อใช้ดู แก้ไข ลบ crontab ของ user แต่ล่ะคน


เมื่อเรียกคำสั่งตามข้างบนแล้ว crontab จะเข้าสู่ระบบการ กำหนด หรือ แก้ไข ซึ่งการ กำหนด หรือแก้ไขนี้ จะเหมือนกับการใช้งาน vi ครับ
ถ้าใครเคยใช้งาน vi แล้วก็จะไม่มีปัญหาอะไร ถ้าไม่เคยใช้ ก็ดูคำสั่งพื้นฐานของ vi ด้านล่างนะครับ
เมื่อเรียกโปรแกรม crontab ให้ทำงานและขณะอยู่ในโปรแกรม เราสามารถกดคีย์ ดังต่อไปนี้เพื่อ
Code:

Esc เพื่อออกมาสู่โหมดปกติ
i เพื่อการเพิ่ม คำสั่ง ข้อความ เข้าไปใหม่
x ลบ ตัวอักษรที่ cursor วางอยู่ ทีละอักษร ในโหมดปกติ
dd ลบบรรทัด ทั้งบรรทัด ที่ cursor วางอยู่ทีละแถว ในโหมดปกติ
:q! ออกโดยไม่ต้องแก้ไขอะไร
:wq! เก็บบันทึกข้อความที่แก้ไขแล้วออกจากโปรแกรม
คำสั่งเหล่านี้เป็นแค่บางส่วนเท่านั้น แต่ก็พอใช้งานคำสั่ง crontab แล้วล่ะครับ ถ้าใครอยากได้มากกว่านี้ต้องศึกษาเพิ่มเอาอีกที

การกำหนดให้ crontab ทำงาน
-------------------------------------
format ของคำสั่ง crontab มีทั้งหมด 6 fields เป็นดังบรรทัดข้างล่าง
Code:

minute(s) hour(s) day(s) month(s) weekday(s) command(s)

fields 1-5 เป็นการกำหนดเวลา และ field ที่ 6 เป็นการกำหนดคำสั่ง ดังความหมายของแต่ละ fields ดังต่อไปนี้
Code:

........................................................................................................................................
Field มีค่า รายละเอียด
........................................................................................................................................
minute 0-59 เวลาเป็นนาที จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
hour 0-23 เวลาเป็นชั่วโมง จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
day 1-31 เวลาเป็นวัน จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
month 1-12 เวลาเป็นเดือน จะสั่งให้คำสั่งที่กำหนดทำงานทันทีเมื่อถึง
weekday 0-6 วันของแต่ละสัปดาห์ มีค่าดังนี้ (อาทิตย์ = 0, จันทร์ = 1, อังคาร = 2, พุธ = 3, พฤหัส = 4, ศุกร์ = 5 และ เสาร์ = 6)
command คำสั่ง เราสามารถกำหนดคำสั่งได้มากมาย รวมทั้ง script ต่างๆ ตามที่เราต้องการ
.........................................................................................................................................

ตัวอย่างการกำหนด crontab
---------------------------------
การเพิ่ม crontab โดยเรียกใช้คำสั่ง crontab -e เมื่อเข้าสู่โปรแกรมแล้ว กด i เพื่อเพิ่ม คำสั่งดังตัวอย่างด้านล่างนี้เข้าไป แล้วทำการบันทึก
แล้วออกมาโดยกด Esc แล้วกด :wq!
Code:
0 2 * * * /sbin/shutdown -r now

จากคำสั่งด้านบนจะเป็นการสั่งให้ reboot เครื่อง เวลา 2:00 น. ของทุกๆวัน

Code:
0 23 * * * /sbin/shutdown -h now
จากคำสั่งด้านบนจะเป็นการสั่งให้ shutdown เครื่อง เวลา 23:00 น. ของทุกๆวัน

Code:
0 0 * * 1 /home/tuxzilla/getlogs.pl
จากคำสั่งด้านบน จะทำการ Run script getlogs.pl ที่ path /home/tuxzilla ทุกวันจันทร์ ทุกๆเดือน ตอนเที่ยงคืน

Code:
0 0 * * 1,5 /home/tuxzilla/getlogs.pl
คำสั่งนี้เหมือนคำสั่งด้านบนครับ แต่จะเพิ่มการทำงานในวันศุกร์ด้วย ซึ่งเราสามารถใช้ "," คั่นไปเรื่อยๆได้ เพื่อที่จะกำหนดเพิ่มให้แต่ล่ะ fields หรือใช้ "*"
เพื่อการกำหนดเป็นทั้งหมด(หมายความว่า หากที่ field ชั่วโมง เป็น * ก็หมายความว่าต้องทำงานทุกชั่วโมง)

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

คำสั่งเพิ่มเติมที่ควรรู้
------------------------
man crontab
man cron
man at
man batch[/u]

หลังจาก แก้ไข crontab แล้ว ก็สั่ง restart cron โดยใช้
service crond restart


ที่มา:http://itweb.lib.ru.ac.th/webboard/00255.html

คำสั่งตรวจเช็คพื้นที่ของ Linux

$ df
/ (/dev/root ): 37872 blocks 46812 i-nodes
/u (/dev/u ): 270814 blocks 36874 i-nodes
/public (/dev/public ): 191388 blocks 55006 i-nodes
/london (wansvr:/london ): 149750 blocks 0 i-nodes
$ dfspace
/ : Disk space: 18.49 MB of 292.96 MB available ( 6.31%).
/u : Disk space: 132.23 MB of 629.98 MB available (20.99%).
/public : Disk space: 93.45 MB of 305.77 MB available (30.56%).
/london : Disk space: 73.12 MB of 202.56 MB available (36.10%).


Total Disk Space: 317.29 MB of 1431.29 MB available (22.17%).
$ df -v
Mount Dir Filesystem blocks used free %used
/ /dev/root 600000 562128 37872 93%
/u /dev/u 1290218 1019404 270814 79%
/public /dev/public 626218 434830 191388 69%
/london wansvr:/london 414858 265108 149750 63%

ตั้งค่า hosxp ปีใหม่ (i_refer_number+o_refer_number)

ตั้งค่า hosxp ปีใหม่ (i_refer_number+o_refer_number)

select * from serial
where name like ‘HN’ or name like ‘AN’ or name like ‘%refer_num%’ or name like ‘%xn-%’

Credit By Jpsurin

บริการทันตกรรม แยกผู้รับบริการ

select m.doctor,d.name,t.code,t.name,m.vn,m.hn,count(m.vn) as vn_count ,sum(m.tcount) as t_count , sum(m.scount) as s_count from dttm t left outer join dtmain m on m.tmcode=t.code and m.vstdate between ‘2015-10-01’ and ‘2015-10-01’ left join doctor d on d.code=m.doctor group by m.doctor,m.vn,m.hn,t.code,t.name

Credit by Jpsurin

โครงสร้างแฟ้ม functional และการบันทึกข้อมูลเพื่อการส่งออก

FUNCTIONAL

หมายถึงการตรวจประเมินความบกพร่องทางสุขภาพ ซึ่งกลุ่มเป้าหมายได้แก่ ผู้พิการ ผู้สูงอายุ และ 20 กลุ่มโรค sub-acute และ non-acute
























ในเอกสารระบุว่ากลุ่มเป้าหมายเฉพาะผู้ที่มารับบริการในโรงพยาบาล แต่ในความเป็นจริงหน่วยบริการทุกระดับมีการประเมิน ADL อยู่แล้ว และเพื่อให้สามารถนำข้อมูลไปวิเคราะห์ในภาพรวมในระดับ อำเภอ จังหวัด เพื่อดูสภาวะพึ่งพิงของกลุ่มเป้าหมาย จึงแนะนำให้หน่วยบริการทุกระดับ ประเมินและบันทึกข้อมูลในโปรแกรม HOSxP / PCU

การบันทึกข้อมูลใน HOSxP / PCU (V. 3.58.12.7b ขึ้นไป)
หลังจากประเมินตามแบบประเมิน (ADL) ให้นำแบบประเมินมาบันทึกในโปรแกรมตามขั้นตอนดังนี้
1. ใช้หน้าจอ One Stop Service
2. บันทึกข้อมูลสำคัญ Vital Sign , อาการสำคัญ , การวินิจฉัย (ให้ใช้รหัส Z000)
3. ไปที่แท็บ การประเมินภาวะสุขภาพ
4. การตรวจประเมินความบกพร่องทางสุขภาพ ให้ใส่วิธีการประเมิน คะแนน และ ภาวะพึ่งพิงผู้สูงอายุ
5. คลิกที่ปุ่มบันทึก










หากต้องการทำรายงานการประเมินให้ Download รายงานได้ที่นี่ นำเข้าโดย append เข้า reporttemplate ทาง sql query เท่านั้น
เครดิตรายงานจาก คุณคณวัชร  คำชัย  รพ.นาเชือก มหาสารคาม  ครับ

Credit by http://ict-chaiyaphum.blogspot.com/

การกำหนดค่าเพื่อให้สามารถส่งออกแฟ้ม student

แฟ้ม student เป็นแฟ้มใหม่ตามโครงสร้าง 53 แฟ้ม ซึ่งโปรแกรม HOSxP PCU 3.58.12.7b สามารถส่งออกแฟ้ม student ได้ แต่ต้องกำหนดค่าในตาราง village_school_class ตามขั้นตอนนี้นะครับ

ขั้นตอน
1. เปิด SQL Query
2. พิมพ์ village_school_class ในช่อง open table และคลิกปุ่ม run เพื่อเปิดตาราง
3. ใส่รหัส export_code ดังรูป




















4. คลิกที่ปุ่ม Update
5. ทดสอบส่งออก 53 แฟ้ม

Download HOSxP PCU Last Version
Credit by http://ict-chaiyaphum.blogspot.com/

มาตรฐานการดำเนินงานสร้างเสริมภูมิคุ้มกันโรค ปี 2558

มาตรฐานการดำเนินงานสร้างเสริมภูมิคุ้มกันโรค ปี 2558


คู่มือเล่มนี้มีคู่มือการดูรหัสวัคซีนในโปรแกรม HOSxP อยู่ที่ภาคผนวก หน้าที่ 46 ครับ

Download
Credit by http://ict-chaiyaphum.blogspot.com/

ปรับปรุงเวลาเปลี่ยนแปลงสิทธิประกันสังคม

ปรับปรุงเวลาเปลี่ยนแปลงสิทธิประกันสังคม. แจ้งมาเพื่อทราบโดยทั่วกัน. หากมีข้อสงสัยติดต่อ งานประกันรพ.หนองบัวแดง 044-872355 ต่อ 1100,1110