แสดงกระทู้

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.


Messages - golf_pk

หน้า: [1] 2
1
ถ้าต้องการทำเป็นสามปีงบประมาณย้อนหลัง  ต้องทำยังไงบ้างครับ...   จากรายงานตรวจสุขภาพข้างบนคับ

2
แก้ยังไงครับ

3
รบกวนอาจารย์ที่มีใบรับรองแพทย์ DOCTOR-CERT-1-ENG  ถึง DOCTOR-CERT-4-ENG ใช้  รบกวนขอด้วยครับ
โรงพยาลบาลติดชายแดนครับ...  รบกวนด้วยนะครับ มีความจำเป็นต้องใช้ครับ  โดยอย่างยิ่งคือ ขอใบรับรองแพทย์ DOCTOR-CERT-4-ENG ครับ รบกวนด้วยครับ

4
ผมสังเกต เห็นในโปรแกรม OPPP2010 ตามมาตรฐาน Person ให้เลือกเป็น 126 = บริติส (อังกฤษ,สก๊อตแลน)  ครับ

5
Pain score  กายภาพ  ถ้าจะทำรายงานสรุปว่า  กี่ครั้ง เพิ่ม/ลด  คิดเป็นกี่เปอร์เซ็นต์ ต้องสร้างสคลิปอย่างไรครับ  จากตารางไหนได้บ้างครับ

6
Development / Re: HOSxP 3.52.5.28
« เมื่อ: พฤษภาคม 08, 2016, 12:13:48 PM »
ผมใช้ Custom 1-Custom 4  ในการใช้ระบุ  จังหวัด  อำเภอ  ตำบล และหมู่บ้านครับ  แล้วถ้าผมอยากได้รายงานสรุปว่า  เกิดเหตุ  ที่  จังหวัด  อำเภอ  ตำบล และหมู่บ้าน ใด  รบกวนอาจารย์ช่วยในการเขียนสคิปหน่อยครับ

9
ความเร่งด่วน--->select * from pt_priority
ประเภทผู้ป่วย--->select * from opdscreen_patient_type

ขอบคุณครับ.....

10
สอบถามครับ  ว่าข้อมูลนี้อยู่ตารางไหนครับ

ในหน้า ซักประวัติผู้ป่วยนอก  ตรงขวาของหน้าต่าง จะมีช่องรับข้อมูล 
1. ประเภทผู้ป่วย
2. ความเร่งด่วน

อยากทราบว่า  อยู่ตารางไหนครับ


11
ไม่แยกผู้ป่วยนอก/ใน เหรอครับ

โจทย์ไม่แยกนะครับ  อยากได้รวมเลยครับ

12
select n.name,count(distinct o.hn) as PERSON,count(o.vn)as VISIT,sum(o.sum_price) as SUM from opitemrece o
left outer join patient p on p.hn=o.hn
left outer join nationality n on n.nationality=p.nationality
where vstdate between "2014-10-01" and "2015-09-30"
and p.nationality <> "99"

group by p.nationality
count(o.vn)as VISIT จะได้เท่าจำนวน record ของ vn นั้น ๆ ใน opitemrece
ลองเปลี่ยนเป็น count(distinct o.vn)as VISIT


ครับ  แล้ว  code ที่ทำนี้ จะได้แค่ ค่าใช้จ่ายทั้งหมดครับ  แล้วถ้าอยากได้ ค่าใช้จ่ายที่เก็บได้จริงละครับ  จะต้องเพิ่มโค้ดแบบไหนดีครับ  จอยกับตรารางไหนอีกไมครับ

13
select n.name,count(distinct o.hn) as PERSON,count(o.vn)as VISIT,sum(o.sum_price) as SUM from opitemrece o
left outer join patient p on p.hn=o.hn
left outer join nationality n on n.nationality=p.nationality
where vstdate between "2014-10-01" and "2015-09-30"
and p.nationality <> "99"

group by p.nationality

14
จากรูป  ผมเขียน code ถูกต้องไมครับ รึปรับตรงไหนบ้างครับ

15
select c.hn,pt.pname,pt.fname,pt.lname,max(s.vstdate) lastdate
,substring_index(group_concat(cast(bps as decimal) order by vn desc),',',3) bps
,substring_index(group_concat(cast(bpd as decimal) order by vn desc),',',3) bpd
from opdscreen s
left join clinicmember c on s.hn=c.hn
left join patient pt on c.hn=pt.hn
where c.clinic=002
and s.vstdate between '2012-10-1' and '2013-9-30'
and s.bps>0
group by c.hn


ถ้าผมอยากได้ 3 คร้ังต่อเนื่องละครับ อาจารย์ ต้องกรองโค้ดอย่างไรครับ  เช่น  ตัวอย่างข้างบนนั้น มีผลคัดกรอง ครบทั้งสามครั้ง 1 หรือ 2 คร้ัง ไม่เอามาแสดงนะครับ ต้องปรับโค้ดอย่างไรดีครับ

16
ถ้า 3 ครั้งละครับ จะเขียนโค้ดอย่างไรดี

17
ไม่มีครับ ยังไม่สามารถทำได้ในตอนนี้ครับ
ก่อนอื่นก็ขอบคุณ อ.golf_win ก่อนเลยครับ

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


19
ถ้าต้องเลือกวันที่โดย  ไม่ให้เลือกเป็นช่่วงต้องใช้ฟังก์ชันใดครับ

เช่น  อยากเลือกวันนัด   แล้วเอามาเก็บในตัวแปร  คล้ายกับ   
 GetDateDialog(d1);
   ds1:=formatdatetime('yyyy-mm-dd',d1);
   ds2:=formatdatetime('yyyy-mm-dd',d2);

แต่อยากเลือกเป็นปฏิทันเดียว  ไม่อยากเลือก 2 ปฏิทิน  งง ไมครับ

21
และขึ้นแบบนี้ด้วยครับ  มันคือไรครับ

22
ผมส่งออก 12 แฟ้ม   แล้วฟ้องแบบนี้คืออะไรครับ  แล้วจะมีปัญหาเวลานำเข้า DRGindex5.1 ไมครับ และใช้เวลานานมากครับ

24
??? ::) ท่านต้องไปถามคนที่ลงข้อมูลด้วยนะครับ ว่าลงข้อมูลตรงไหน เวลาทำ UltraSound ถ้าลงแท็บหัตถการ ก็เอาตาม อ.golf_win ได้เลยนะครับ  แต่หากบางแห่งลงในแท็บ ค่าบริการ คงต้องไปจับจาก icode ใน opitemreace เอานะครับ

คือเขาลงในหัตการนะครับ  ขอบคุณนะครับ อ.Terminator2014

25
ผมใช้การบันทึกจากหัตถการครับ
OPD-->doctor_operation
IPD-->ipt_nurse_oper

ขอบคุณครับ.....อ.gof_win
 ;D ;D ;D ;D ;D ;D

26
ดันตัวเองก็ได้ครับ  ดัน ๆๆๆๆๆๆ 
 ??? ??? ??? ??? ??? ??? ???

27
อยากทราบว่า Ultrasound โดยแพทย์ในรพ.มีกี่คน แยกผป.นอก และใน จะใช้ตารางไหนดีครับ??
และฟิว ที่มี Ultrasound ชื่ออะไรครับ....????
ขอบคุณอาจารย์ทุกท่านนะครับ  ....ขอความกรุณาด้วยนะครับ
 ;D ;D ;D ;D ;D ;D ;D ;D ;D

28
เท่าที่สังเกตุดู  เครื่องพิมพ์รุ่นนี้ ไม่ว่าจะต่อ กับคอมฯ windows 7 จะ32บิต หรือ64บิต ก็จะไม่มีข้อมูลใบสั่งยาออกมา
ไม่ว่าจะลงไดร์เวอร์แบบใหม่สุดจากเว็บแล้วก็ตาม  ทั้งที่ฟอร์มก็อันเดียวกันทั้งรพ.  และที่สำคัญ  คือ  เครื่องพิมพ์ HP P1006 ใช้ได้ไม่มีปัญหา ออกทั้ง OPD Crad และใบสั่งยา
ใครเจอปัญหานี้บ้างครับ
ช่วยด้วยครับ 
เครื่องพิมพ์ รุ่น HP P1006 ไม่มีจำหน่ายแล้ว ส่่วนใหญ่รพ.ก็สั่งแต่ HP P1102 ด้วยสิครับ

30
ของผมก็เป็นครับ
มันเตือนว่าไม่มีสิทธิ์สั่งยาครับ ทั้งที่เป็นกลุ่มแพทย์อยู่

31
ขอบคุณ อ.บิ๊กเบิร์ด  ที่คอมเมนต์อย่างละเอียดเลยคับ 
 ;D ;D ;D ;D ;D ;D ;D ;D ;D

32
ขอลองไล่ทีละข้อครับ
เอาแต่ผลลัพธ์ตัวเลขใช่ไหมครับ

F =  ผู้ป่วย NCD  ได้แก่  คลินิกเบาหวาน,ความดัน,หอบหืด,ไต,หัวใจ 
ทั้งหมดที่มีผลการคัดกรอง >= 7  มีกี่คน

   โค้ดคือ
 select count(distinct(v.hn))     from depression_screen d1
    left outer join vn_stat v on v.vn = d1.vn     
    LEFT OUTER JOIN clinicmember c ON c.hn=v.hn                   
    where vn.vstdate  between "'+d1+'" and "'+d2+'"
        and c.clinic in("1","10","2","9","13")
        and d1.depression_score>=7
ไม่รู้ว่าเหมือนกันไหมนะครับ ถ้าตัดตารางที่ไม่เกี่ยวข้องจะทำให้หาข้อมูลได้เร็วขึ้นครับ


ใช่ครับ  เอาเฉพาะผลลัพธ์ตัวเลขครับ

33
ตกลง A-F  ผมถูกซักข้อบ้างไมครับ :o :o :o :o

34
กำลังมึนกับคำถาม ขอแกล้งตายแปป  :o :o :o

555+  อ.บิ๊กเบิร์ด  ครับ  คือผมก็ได้โจทย์มาอย่างนี้ครับ  ตามแบบฟอร์มเลยครับ

35
ข้อ D กับ F ทำไมต้อง join หลายตาราง ทั้ง ๆ ที่ไม่ได้ใช้ครับ

คือผมก็ไม่แน่ใจอ่ะครับ ว่าจะใช้ตารางไหนบ้าง  ผมได้โค๊ดที่มีในเครื่องเลยยกมาทั้งหมดเลยครับ  อาจารย์ชีแนะด้วยครับ 

38
A =  ผู้สูงอายุ >= 60  ที่มารับบริการ
    โค้ด คือ 

     select count(distinct(hn))
     from vn_stat                                           
     where vstdate between "'+d1+'"and "'+d2+'"  and age_y>=60'

B = ผู้ป่วย NCD  ได้แก่  คลินิกเบาหวาน,ความดัน,หอบหืด,ไต,หัวใจ  ทั้งหมดกี่คนทุกอายุ
     โค้ดคือ
     
      select count(distinct(vn.hn))
      from depression_screen d1 
      left outer join depression_screen_evaluate d2 on d2.depression_screen_evaluate_id = d1.depression_screen_evaluate_id   
      left outer join suicide_screen_evaluate d3 on d3.suicide_screen_evaluate_id = d1.suicide_screen_evaluate_id           
      left outer join vn_stat vn on vn.vn = d1.vn       
      left outer join person p1 on p1.patient_hn=vn.hn   
     left outer join house h1 on h1.house_id=p1.house_id   
     left outer join village v1 on v1.village_id=h1.village_id
      left outer join thaiaddress t1 on t1.addressid=v1.address_id 
     left outer join patient p on p.hn=vn.hn                       
    LEFT OUTER JOIN clinicmember c ON p.hn=c.hn                 
    where vn.vstdate  between "'+d1+'" and "'+d2+'" and c.clinic in("1","10","2","9","13")


C = ผู้มารับบริการตั้งแต่ อายุ 60 ปีขึ้นไป ได้รับการคัดกรองภาวะซึมเศร้า 9Q มีกี่คน

    โค้ดคือ

     select count(distinct(vn.hn))
     from vn_stat vn                                               
     left outer join depression_screen d1 ON vn.vn=d1.vn           
     left outer join depression_screen_evaluate d2 on d2.depression_screen_evaluate_id = d1.depression_screen_evaluate_id 
     left outer join suicide_screen_evaluate d3 on d3.suicide_screen_evaluate_id = d1.suicide_screen_evaluate_id           
     left outer join patient p ON p.hn=vn.hn                       
     where vn.vstdate between "'+d1+'" and "'+d2+'" and vn.age_y>=60

D = ผู้ป่วย NCD  ได้แก่  คลินิกเบาหวาน,ความดัน,หอบหืด,ไต,หัวใจ  ทั้งหมดที่ได้รับการคัดกรองภาวะซึมเศร้า 9Q มีกี่คน

    โค้ดคือ
     select count(distinct(vn.hn))
     from depression_screen d1
     LEFT OUTER JOIN depression_screen_evaluate d2 ON d2.depression_screen_evaluate_id = d1.depression_screen_evaluate_id   
     LEFT OUTER JOIN suicide_screen_evaluate d3 ON d3.suicide_screen_evaluate_id = d1.suicide_screen_evaluate_id           
     LEFT OUTER JOIN vn_stat vn ON vn.vn = d1.vn       
     LEFT OUTER JOIN person p1 ON p1.patient_hn=vn.hn   
     LEFT OUTER JOIN house h1 ON h1.house_id=p1.house_id   
     LEFT OUTER JOIN village v1ON v1.village_id=h1.village_id 
     LEFT OUTER JOIN thaiaddress t1 ON t1.addressid=v1.address_id
    LEFT OUTER JOIN patient p ON p.hn=vn.hn                       
    LEFT OUTER JOIN clinicmember c ON p.hn=c.hn                 
    where vn.vstdate  between "'+d1+'" and "'+d2+'" and c.clinic in("1","10","2","9","13")

E =  ผู้มารับบริการตั้งแต่ อายุ 60 ปีขึ้นไป  ที่มีผลการคัดกรอง >= 7  มีกี่คน
    โค้ดคือ

     select count(distinct(vn.hn))   
     from vn_stat vn                                             
     left outer join depression_screen d1 ON vn.vn=d1.vn         
     left outer join depression_screen_evaluate d2 on d2.depression_screen_evaluate_id = d1.depression_screen_evaluate_id 
     left outer join suicide_screen_evaluate d3 on d3.suicide_screen_evaluate_id = d1.suicide_screen_evaluate_id         
     left outer join patient p ON p.hn=vn.hn                       
     where vn.vstdate between "'+d1+'" and "'+d2+'" and vn.age_y>=60 and d1.depression_score>=7

F =  ผู้ป่วย NCD  ได้แก่  คลินิกเบาหวาน,ความดัน,หอบหืด,ไต,หัวใจ  ทั้งหมดที่มีผลการคัดกรอง >= 7  มีกี่คน

   โค้ดคือ

      select count(distinct(vn.hn))
    from depression_screen d1
    left outer join depression_screen_evaluate d2 on d2.depression_screen_evaluate_id = d1.depression_screen_evaluate_id 
    left outer join suicide_screen_evaluate d3 on d3.suicide_screen_evaluate_id = d1.suicide_screen_evaluate_id             
    left outer join vn_stat vn on vn.vn = d1.vn     
    left outer join person p1 on p1.patient_hn=vn.hn   
    left outer join house h1 on h1.house_id=p1.house_id   
     left outer join village v1 on v1.village_id=h1.village_id 
    left outer join thaiaddress t1 on t1.addressid=v1.address_id   
    left outer join patient p ON p.hn=vn.hn                       
    LEFT OUTER JOIN clinicmember c ON p.hn=c.hn                   
    where vn.vstdate  between "'+d1+'" and "'+d2+'" and c.clinic in("1","10","2","9","13") and d1.depression_score>=7



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


40
ขอบคุณ อ.ทุกท่านครับ  หวังว่าจะได้รับความร่วมมือจาก อ.ทุกท่านอีกนะครับ

42
 ??? ??? ??? ??? มีค่ามีเก็บใน variable1.value แต่ผมอยากให้  ก่อนเอามาเก็บ ใน variable1.value ต้องผ่านการ  คูณและหารก่อนทำไงครับ  เช่น    variable1.value := ค่าได้จากคำสั่ง sql GetSQLIntegerData * 1000 / 38211  ทำอย่างไรครับ

  Value := GetSQLIntegerData('select ( select count(distinct(hn)) as hn from ovstdiag o   '+
' where o.vstdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A050" and "A059" ) '+
'     + ( select count(distinct(ip.hn)) as hn from iptdiag i,ipt ip '+
' where i.an=ip.an and  ip.dchdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A050" and "A059" ) '+
' as total')

end;


รบกวนอาจารย์อีกแล้วครับ

43
ขอบคุณ อ.terminator2014
และอ.golf_win  มาก ๆ ครับ
ผมได้ไปต่อละ  ขอบคุณคร๊าฟฟ

44
;D แบบนี้ไหมครับ

select count(distinct(hn)) as hn from ovstdiag o

where o.vstdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099";

+

select count(distinct(ip.hn)) as hn from iptdiag i,ipt ip
where i.an=ip.an and  ip.dchdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099" ;

 ;D ;D ;D ;D ได้แล้วครับ
ขอบคุณมากครับ

select ( select count(distinct(hn)) as hn from ovstdiag o
where o.vstdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099" )
     + ( select count(distinct(ip.hn)) as hn from iptdiag i,ipt ip
where i.an=ip.an and  ip.dchdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099" )
        as total_rows

45
พอดีได้โจทย์นี้มาครับ


46
;D แบบนี้ไหมครับ

select count(distinct(hn)) as hn from ovstdiag o

where o.vstdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099";

+

select count(distinct(ip.hn)) as hn from iptdiag i,ipt ip
where i.an=ip.an and  ip.dchdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099" ;


ผมลองรันในสายฟ้าแล้ว  Error ครับ

47
ผมไปเจอรูปแบบนี้มา  


select tem.name, count(*)
from(select name from results
union all
select name from archive_results) as tem
group by name
order by name



แต่จะปรับเข้ากับโค้ดนี้อย่างไร
select count(distinct(hn)) as hn from ovstdiag o

where o.vstdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099"

union

select count(distinct(ip.hn)) as hn from iptdiag i,ipt ip
where i.an=ip.an and  ip.dchdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099"

48
ขออธิบายเพิ่มเติมครับ  นี้คือโจทย์ หาจำนวนผู้ป่วยที่เป็นโรค อุจจาระร่วง ครับ 
พอเอามา union แล้ว  แต่กลับทำให้เป็นตัวเลขรวมใน 1 บรรทัดไม่ได้ครับ 
มือใหม่หัดเขียนครับ
 ??? ??? ??? ??? ???

50
select count(distinct(hn)) as hn from ovstdiag o

where o.vstdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099"

union

select count(distinct(ip.hn)) as hn from iptdiag i,ipt ip
where i.an=ip.an and  ip.dchdate BETWEEN "2010-10-01" AND "2011-09-30" and  icd10 BETWEEN "A070" and "A099"


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

หน้า: [1] 2