BMS-HOSxP Community
HOSxP => Report Exchange => ข้อความที่เริ่มโดย: bannok ที่ กรกฎาคม 30, 2008, 15:52:24 PM
-
ต้องการรายงานจำนวนประชากรในแต่ละ สอ. ครับ เอาจำนวนคน และจำนวนครั้งที่มารับบริการในแต่ละเดือน โดยแยกเป็นรายโรค 5 อันดับแรกครับเพื่อต้องการทราบว่า ประชากรในส่วนรับผิดชอบ ของ สอ.ไหน เป็นโรค อะไรมารักษาที่โรงพยาบาลบ้างครับ ไม่รู้ว่ามีรายงานนี้อยู่แล้วหรือยังหรือว่า สามารถหาได้ยังไง รบกวนด้วยนะครับ
-
....ประชากรในแต่ละ สอ.ไม่ทราบว่าใช้อะไรแยกครับ ถ้าใช้จากที่อยู่ก็เลือกจัดกลุ่มผู้ป่วยจากที่อยู่ได้เลยครับ
....การนับจำนวนก็ใช้ตัวอย่างจากรายงาน 5 อันดับโรคก็ได้ครับ แล้วเพิ่มเงือนไขเรื่องที่อยู่เข้าไปด้วย ถ้า สอ. รับผิดชอบ สอ. ละตำบลอยู่แล้ว ก็ใช้ที่อยู่ตำบลสำหรับจัดกลุ่มข้อมูล แต่ถ้ามีตำบลที่มีมากกว่า 1 สอ. ก็ต้องใช้ข้อมูลหมู่บ้าน ด้วยครับ... :D.....
-
ของผมมีทั้งสองกรณีครับ คือ 1 ตำบล 1 สอ ก็มี และ 1 ตำบล 2 สอ. ก็มีครับ
-
ก้แยกตามรหัสสถานพยาบาล หลัก, รอง ก็น่าจะได้นะครับ
-
.....ลองส่งข้อมูลของ สอ. กับ พื้นที่ที่รับผิดชอบ(หมู่,ตำบล) กับรูปแบบของรายงานที่ต้องการ เช่น ให้เลือกเป็นราย สอ. หรือแสดงทุก สอ. ในรายงาน มาให้ทาง e-mail ก็ได้ครับ ยังงัยจะช่วยดูให้ครับ.. :D...
khuad50@hotmail.com
-
ก้แยกตามรหัสสถานพยาบาล หลัก, รอง ก็น่าจะได้นะครับ
....ที่ผม บาง สอ. มีที่ประชากรในเขตรับผิดชอบ เลือกใช้สิทธิที่ สอ.ข้างเคียงที่ไกล้กว่า(รอยต่อ) ไม่รู้ว่าที่อื่นเป็นเหมือนกันหรือเปล่าครับ... :D.....
-
ขอโค้ดรายงานนี้ด้วยครับ ถ้ามี รบกวนด้วยนะครับ
-
พี่ๆคนไหนมีโค้ดหรือว่ารายงานตัวนี้รบกวนขอหน่อยครับ ต้องการด่วนมากเลย
ขอบคุณมากๆๆ
-
เงียบจังเลย
-
....ต้องขออภัยอย่างแรงเลยนะครับ ...
....ศุกร์-เสาร์-อาทิตย์ ที่ผ่านมา มัวแต่ยุ่งเรื่องงานแต่งงานของน้องที่โรงพยาบาลอยู่ครับ...
....ตอนนี้คงต้องให้คุณ bannok ใช้คำสั่งที่แนบให้ ดึงข้อมูลเป็นราย สอ. ก่อนนะครับ...
....คือผมพยายามที่จะให้แสดงข้อมูลของทุก สอ. ให้อยู่ในรายงานตัวเดียวกัน พยายามอยู่นาน แต่ยังคิดหาวิธีไม่ออก ว่าจะทำยังงัยดีครับ.....
....ถ้าดึงข้อมูลเป็น รายตำบล ทุกตำบล ของ อ.พรหมคีรี ละก้อสามารถทำได้ครับ....
....แต่ราย สอ. ซึ่งพื้นที่รับผิดชอบไม่เต็มตำบล(1 ตำบล มี 2 สอ. แบ่งหมู่บ้านกันรับผิดชอบ) ผมยังนึกวิธีการไม่ออก...
....ลองใช้คำสั่งนี้ดึงข้อมูล(หรือสร้างรายงาน)เป็นราย สอ. ดูก่อนนะครับ โดยใช้ที่อยู่ของผู้รับริการตามเขตรับผิดชอบของ สอ. นะครับ...
สอ.พรหมโลก
select v.pdx,count(v.pdx) as pdx_count,count(distinct v.hn) as hn_count,
v.main_pdx,i.name as main_pdx_name,i2.name as pdx_name
from vn_stat v
left outer join icd101 i on i.code=v.main_pdx
left outer join icd101 i2 on i2.code=v.pdx
where v.vstdate between '2008-05-01' and '2008-05-31'
and v.pdx<> '' and v.pdx is not null
and aid = '800201' and moopart in ('4','04','6','06')
group by v.pdx,i.name
order by pdx_count desc limit 5
-
....ส่วน สอ. อื่นๆ อีก 8 แห่ง ก็เปลี่ยนคำสั่ง ตรงที่ผมทำเป็นสีแดง(ที่อยู่) เป็นคำสั่งตามข้างล่างนะครับ...
สอ.บ้านนาเสน ต.บ้านเกาะ อ.พรหมคีรี
and aid = '800202' and moopart in ('1','01','2','02','3','03','4','04','5','05','6','06','7','07')
__________________________________________________________________
สอ.บ้านน้ำแคบ ต.อินคีรี อ.พรหมคีรี
and aid = '800203' and moopart in ('1','01','2','02','5','05','7','07')
__________________________________________________________________
สอ.นาสร้าง ต.อินคีรี อ.พรหมคีรี
and aid = '800203' and moopart in ('3','03','4','04','6','06')
__________________________________________________________________
สอ.บ้านดอนคา ต.ทอนหงส์ อ.พรหมคีรี
and aid = '800204' and moopart in ('1','01','2','02','6','06','8','08')
__________________________________________________________________
สอ.บ้านอ้านคู ต.ทอนหงส์ อ.พรหมคีรี
and aid = '800204' and moopart in ('3','03','4','04','5','05','7','07','9','09')
__________________________________________________________________
สอ.บ้านไม้เรียง ต.นาเรียง อ.พรหมคีรี
and aid = '800205' and moopart in ('1','01','2','02','3','03','4','04','5','05','6','06','7','07', '8','08')
__________________________________________________________________
สอ.บ้านป่ายาง ต.ท่างิ้ว อ.เมือง
and aid = '800116' and moopart in ('4','04','7','07')
__________________________________________________________________
สอ.บ้านท่างาม ต.ท่างิ้ว อ.เมือง
and aid = '800116' and moopart in ('5','05','6','06')
__________________________________________________________________
.... :D......
-
....คุณ bannok ลองตรวจสอบตาราง thaiaddress ดูอีกทีก่อนก็ได้ครับ ตามคำสั่งข้างล่างว่าเป็นตำบลใน อ.พรหมคีรี กับ ต.ท่างิ้ว อ.เมือง ถูกต้องหรือเปล่านะครับ......
select * from thaiaddress
where addressid in ('800201','800202','800203','800204','800205','800116')
....แล้วเดี๋ยวผมจะลองพยายามอีกทีครับ ว่าจะสามารถทำให้แสดงข้อมูลของทุก สอ. พร้อมกันได้หรือเปล่า... :D...
-
ถูกต้องแล้วครับคุณ Khuad
ขอบคุณมากนะครับสำหรับความช่วยเหลือ
-
...ไม่ทราบเหมือนกันว่าคุณ bannok ยังต้องการรายงานอยู่หรือเปล่า แต่ที่ได้รับปากว่าจะลองดูให้แสดงพร้อมกันในรายงานตัวเดียว สรุปแล้วยังคิดหาทางไม่เจอครับ :P :P :'( :'(
...ไม่ทราบว่าท่านอื่นๆ พอมีวิธีบ้างหรือเปล่า...
...คือถ้าแยกตามตำบลไปเลย ก็จะใช้ข้อมูลจาก field aid จากตาราง vn_stat มาช่วยได้ครับ .......
...แต่ที่ผมพอทำได้ คือ แยกรายงานเป็น 2 ตัว ครับ...
...ตัวแรกจะมี 5 สอ.(หน้า 1) ส่วนรายงานอีกตัวมี 4 สอ.(หน้า 2) โดยใช้ SubReport มาช่วยครับ...
...ที่ต้องแยกไม่สามารถรวม สอ. ไว้ทั้งหมดได้ ก็เพราะว่า รายงาน 1 ตัว จะมี DBPipeLineLink ได้แค่ 5 ตัวเท่านั้นครับ(DBPipeLineLink1-5) ก็เลยแยกคำสั่งได้แค่ 5 สอ. มากกว่านี้ไม่ได้ครับ...
...แต่จริงๆ ข้อมูลของ 5 สอ. ก็พอดีกับกระดาษ A4 หนึ่งแผ่นเหมือนกันครับ ถ้ายังต้องการใช้อยู่ก็ลองนำไปทดสอบดูครับ...
...คำสั่งที่ใช้ดึงข้อมูลในรายงาน ผมเอาจาก SYSTEM-OPD-TOP20-DIAGNOSIS มาปรับใช้ครับ ดังนั้น จำนวนจะนับจาก pdx ในตาราง vn_stat ส่วนชื่อโรคเป็นชื่อ main_pdx(ชื่อหลัก) ในตาราง vn_stat ไม่ใช่ชื่อของ pdx แต่สามารถปรับแก้ไขได้ครับ..... :D.....
-
ขอบคุณมากๆเลยครับพี่ Khuad
สุดยอดจริงๆ