รพจศ

วันพฤหัสบดีที่ 29 ตุลาคม พ.ศ. 2558

10 อันดับโรคที่มีค่ารักาษาเยอะสุด hosxp

OPD
select a.pdx,count(a.pdx) as pdx_count ,i.name as icdname ,sum(income)  as sum
from vn_stat a
left outer join icd101 i on i.code=a.main_pdx
where a.vstdate between '2014-10-01' and '2015-09-30'
and a.pdx<>'' and a.pdx is not null
group by a.pdx,i.name
order by sum(income) desc
limit 10

IPD
select pdx,name ,count(an),sum(income)/count(an),sum(income) as sumtotal
from an_stat a,icd101 i
where a.dchdate between '2014-10-01' and '2015-09-30'
and  a.pdx = i.code
group by pdx
order by  sumtotal desc
limit 10

วันจันทร์ที่ 13 กรกฎาคม พ.ศ. 2558

ตารางน่ารู้

ตารางที่ใช้เก็บความเป็นบุคคลากรใน รพ
คือตารางชื่อ patient_hospital_officer

วันพฤหัสบดีที่ 2 เมษายน พ.ศ. 2558

ย้ายข้อมูลลงฐานใหม่ SQL 2008

ทดสอบย้ายระบบและฐานข้อมูล ความเสี่ยง ไปเครื่องใหม ย้าย database sql server 2008 ตามขั้นตอนนี้

 เพื่อความปลอดภัยให้ทำการCopy ฐานข้อมูลของเครื่องเก่าไว้ก่อน โดยไปที่ C:\Program Files\Microsoft SQL Server\MSSQL10.(ชื่อserver)\MSSQL\DATA แล้วไปcopy ฐานข้อมูลไว้ตามชื่อฐานข้อมูล copyไว้ทั้งสองไฟล์ (.ldf,.mdf)

    • ให้สร้าง User ใน sql server 2008  เครื่องใหม่ไว้ก่อน แล้วสร้าง database ตามชื่อที่ต้องการ Import เข้ามา(เครื่องใหม่)

      *การสร้าง user ขึ้นมาใหม่ ให้ไปที่ Security –> Login –>  คลิกขวา Add new login–>  ตรง General ใส่ Username และ Password ให้ไปที่ Tab Server Role ต่อ แล้วให้ติ๊กถูกหมดทุกข้อ

    • ทำการ สร้างฐานข้อมูลในเครื่องใหม่ก่อนโดยใช้ชื่อฐานข้อมูลเดียวกันในที่นี้คือdbRisk

    • ไปที่ฐานข้อมูลเก่า dbRisk คลิกขวา –> tasks –>  generate script –>  เลือกฐานข้อมูล reservation_system ให้ติ๊กถูกช่อง script all object in the select all database –>  ตรง Output ให้เลือก Script to new query window –>  เมื่อเสร็จก็จะได้ Script ที่จะใช้สำหรับสร้างตารางและโครงสร้างต่างๆ

    • ไปที่ฐานข้อมูลใหม่ให้เปิดหน้า Script ขึ้นมา วางScript แล้วให้ทำการ Execute Script

    • ไปที่เครื่องใหม่ให้ ให้เปิดโปรแกรม Import and Export Data (64 bit) เมื่อเปิดโปรแกรมให้เลือกต้นทางที่จะทำการ Export –> เลือกปลายที่จะทำการ Import –>  เลือก Copy Data From One Or More Table Or Views –>  เลือก table ทั้งหมด กด Edit Mappings ส่วน Destination schema name เลือก dbo ติ๊กถูก (Delete rows in existing destination tables ข้อมูลฝั่งDesinationจะหาย) , Enable identity insert –>  Run immediately กด Finish

    • เสร็จสิ้นในส่วนนำข้อมูลจาก SQL Server มาใช้สามารถเช็คฐานข้อมูลใหม่ดูในแต่ละตารางว่ามาครบหรือไม่

    Credit : http://km.phuket.psu.ac.th/?p=483

วันอังคารที่ 10 กุมภาพันธ์ พ.ศ. 2558

sql ต่างๆ

เบาหวาน
select p.hn,p.cid as ID,concat(p.pname,p.fname)as Name, p.lname as Last_n,concat(DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),p.birthday)),"%Y")+0, " ปี") as age,p.sex,if(p.sex="1","ชาย","หญิง")as Sex, DATE_FORMAT(DATE_ADD(p.birthday, INTERVAL 543 YEAR),"%m/%d/%Y") as BirthD
    from ovstdiag o
    left join ovst ov on o.vn=ov.vn
   left join opdscreen op on o.vn=op.vn
   left join patient p on o.hn=p.hn
    where o.icd10 in("E119","E113") and p.death<>"Y" and DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),p.birthday)),"%Y")+0 >="60"  and p.sex ="2"
   and p.moopart IN("01","1","02","2","03","3","04","4","05","5","06","6","07","7","10","11","12") and p.tmbpart in("02","2") and p.amppart ="16" and p.chwpart ="47"
    group by o.hn

คำนวนหาอายุวันเดือนปี
select pt.birthday,curdate(),
timestampdiff(year,pt.birthday,curdate()) as age_y,
timestampdiff(month,pt.birthday,curdate())-(timestampdiff(year,pt.birthday,curdate())*12) as age_m,
timestampdiff(day,date_add(pt.birthday,interval (timestampdiff(month,pt.birthday,curdate())) month),curdate()) as age_d
from patient pt
where pt.hn='0051709'

นับผู้ป่วย7สีในคลินิกเบาหวาน คำนวนจากค่า fbs
SELECT COUNT(DISTINCT(opdscreen.hn)) FROM opdscreen
LEFT OUTER JOIN patient ON opdscreen.hn=patient.hn
Where (opdscreen.fbs BETWEEN '125' and '154')
and opdscreen.hn in(Select distinct(clinicmember.hn) from clinicmember where clinicmember.clinic='001' )
and opdscreen.vstdate between '2014-10-01' and '2014-10-31'

นับผู้ป่วย7สีในคลินิกเบาหวาน คำนวนจากค่า ความดัน
SELECT COUNT(DISTINCT(opdscreen.hn)) FROM opdscreen
LEFT OUTER JOIN patient ON opdscreen.hn=patient.hn
Where ((opdscreen.bps BETWEEN '110' and '120') and (opdscreen.bpd BETWEEN '60' and '89'))
and opdscreen.hn in(Select distinct(clinicmember.hn) from clinicmember where clinicmember.clinic='001' )
and opdscreen.vstdate between '2014-10-01' and '2014-10-31'

คัดกรองต้อกระจก 60 ปีขึ้นไป
select pt.hn,ov.vn,pt.pname,pt.fname,pt.lname,pt.birthday,pt.informaddr,ov.pdx,ov.dx_doctor,ov.dx0,ov.dx1,ov.age_y,ov.vstdate,pt.type_area
from vn_stat ov ,patient pt ,ovst ovst
where  ov.vn=ovst.vn and pt.hn=ov.hn and ov.vstdate between "2014-10-01" and  "2014-12-30" and ov.hn=pt.hn
 and ov.age_y>= 60
 and ov.age_y<= 200

 and ( (ov.pdx >= "Z010" and ov.pdx <= "Z010")
 or (ov.dx0 >= "H540" and ov.dx0 <= "H545")
 )

 ผู้ป่วย 60-69 ปี ชื่อที่อยู่ type 1,3
SELECT person.cid,person.pname,person.fname,person.lname,person.house_regist_type_id,person.birthdate,person.patient_hn,           
            person.age_y,person.discharge_date,sex.`name` AS sex,CONCAT(house.address,' หมู่ ',village.village_moo) AS BAN,thaiaddress.full_name
                        ,person.death
            FROM       
            person      
            INNER JOIN house ON person.house_id = house.house_id   
            INNER JOIN village ON person.village_id = village.village_id     
            INNER JOIN thaiaddress ON thaiaddress.addressid = village.address_id  
            INNER JOIN sex ON person.sex = sex.`code` 
            WHERE                                   
            person.age_y BETWEEN "60" AND "69" AND  
            person.death = "N" AND village.village_moo <> "0" AND              
            house_regist_type_id in("1","3") order by village.village_moo,person.age_y ASC

นับจำนวนประชากรแยก ช-ญ
           SELECT t1.village_id,t1.village_name,t2.hh AS "ËÅѧ¤ÒàÃ×͹",
       MAX(IF(sex='1',cc,NULL))AS "ªÒÂ",
      MAX(IF(sex='2',cc,NULL))AS "Ë­Ô§"
FROM(
SELECT p.village_id,v.village_name,COUNT(sex)AS cc,sex FROM person p
LEFT OUTER JOIN village v ON v.village_id=p.village_id
WHERE p.house_regist_type_id IN('1','3')AND p.village_id<>'99'AND p.person_discharge_id='9'
GROUP BY p.sex, p.village_id  )AS t1
INNER JOIN (SELECT h.village_id,COUNT(address)AS hh FROM house  h
LEFT OUTER JOIN village v ON v.village_id=h.village_id
WHERE h.village_id <>'99'
GROUP BY h.village_id)AS t2 ON t2.village_id=t1.village_id
GROUP BY village_id

วันศุกร์ที่ 16 มกราคม พ.ศ. 2558

การแก้ไขPassword โปรแกรมHosXp ด้วยตัวเอง

ในการเปลี่ยนข้อมูลนั้นด้วยตนเองในHosxp สามารถทำได้ดังนี้
1. ไปที่เมนู System > Show User Information
2.เมื่อเลือกแล้วระบบจะให้ทำการใส่รหัส ซึ่งก็คือpassword ที่เราล็อกอิน Hosxp ปัจจุบัน 
3.จะเข้าสู่หน้าเมนูข้อมูลส่วนบุคคล จากนั้นท่านสามารถเปลี่ยน password
เมื่อทำการแก้ไขแล้วให้กดบันทึก เป็นอันเสร็จสิ้นการเปลี่ยนpassword ครับ

วันอังคารที่ 16 ธันวาคม พ.ศ. 2557

การ Export data ของ MS SQL Server วันนี้ต้องมาทำการบ้านวิชา Data Warehouse นอกสถานที่กับเพื่อนๆแล้วมีการต้องช่วยกันใส่ข้อมูลในฐานข้อมูล ของMS SQL Server แล้วปัญหาก็เกิดขึ้นว่า “จะเอามารวมกันท่าไหน” ซึ่งถ้า Export data แบบธรรมดาจะไม่ได้ข้อมูลมาด้วยก็เลยต้องใช้วิธีสร้างสคริปต์แทนค่า การ Export data คลิกขวาที่ database > Task > Generate Script… จะำพบกับหน้าจอWizard เริ่มการสร้าง script เลือกฐานข้อมูลทีต้องการ ตั้งค่าเพิ่มเติม Script Create เป็น False Script Data เป็น True Script Indexes เป็น True เลือกที่ Table เลือก ตารางที่ต้องการ เลือกว่าต้องการจะให้ผลออกมาอยู่ในรูปแบบไหน ตรวจสอบเพื่อความแน่ใจอีกครั้งว่าตั้งค่าถูกต้อง กด Finish

วันศุกร์ที่ 19 กันยายน พ.ศ. 2557

คำถามงานคุณภาพโรงพยาบาลเจริญศิลป์

ร่วมตอบคำถามงานคุณภาพ ตอบถูกมาก ยิ่งมีสิทธิ์ลุ้นรับรางวัลมาก

*****ขอบคุณเจ้าหน้าที่ทุกท่านที่ร่วมตอบคำถาม
*****เฉลย โรงพยาบาลเจริญศิลป์เริ่มเข้าสู่กระบวนการพัฒนาคุณภาพครั้งแรก เมื่อ ปี 2544 ค่ะ .^_^

.....ผู้โชคดี นายเอกสิทธิ์ แก้วมีสี, นางพรทิพย์  ลำเพย ***
หมายเหตุ..งานคุณภาพ ขออนุญาต ให้รางวัลเฉพาะท่านที่ระบุตัวตน ที่ชัดเจน เท่านั้นค่ะ ไม่แนะนำให้ใช้นามแฝง..
......คำถามจริงเริ่มวันจันทร์ ที่  22 กันยายน นี้ค่ะ

เงื่อนไขการตอบคำถาม
1. ทุกวันจันทร์จะตั้งคำถามใหม่ แต่ละคำถามท่านมีเวลาเข้าตอบได้ 1 สัปดาห์
2. 1 ท่านสามารถตอบได้ 1 ครั้ง ต่อ 1 ข้อ
3. เฉลยคำตอบทุกวันศุกร์ เวลา ประมาณ14. 00  น. (ถ้าตรงวันหยุดเลื่อนขึ้น 1 วัน)
4. ประกาศผู้ได้รับรางวัลทางเว็ปไซต์ ของ รพ. เวลา ประมาณ 15.00 น.หลังเฉลยคำตอบ รับรางวัลได้ที่ห้องกลุ่มการพยาบาลค่ะ ^^-^^