1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài ứng dụng công nghệ thông tin trong việc xây dựng hệ thống lưu trữ và truyền tải hình ảnh phục vụ chuẩn đoán và tra cứu tai bệnh viện đa khoa tỉnh bình dương chuyên đề 2 10 nghiên cứu thiết kế phần mền trao đổi thông tin

48 667 1
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 48
Dung lượng 2,34 MB

Nội dung

Trang 1

VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NA VIEN CƠ HỌC VA TIN HQC UNG DUNG 000 DE TAI:

UNG DUNG CONG NGHE THONG TIN TRONG VIEC XAY DUNG HE THONG LUU TRU VA TRUYEN TAI HINH ANH PHUC VU CHAN DOAN VA TRA CUU (PACS) TAI BENH VIEN DA KHOA

TINH BINH DUONG CHUYEN DE 2.10:

NGHIEN CUU THIET KE PHAN MEM TRAO DOI THONG TIN BENH NHÂN GIUỖ PHONG CAP CUU VOI

CAC KHOA KHAM BENH Ở PHONG CHAN DOAN HÌNH ẢNH Ở PHONG SIEU AM Ở PHONG KẾ TOÁN

NGUOI THUC HIEN:

Ngô Anh Tuấn Nguyên Hữu Phước

Cơ quan chủ trì: Viện Cơ học và Tin hoc tng dụng

Địa chỉ: 291 Điện Biên Phủ, Quận 3, thành phố Hồ Chắ Minh

Chủ nhiệm đề tài: Th.S Đào Văn Tuyết

TP Hồ Chắ Minh, 06/2010

Trang 2

VIEN KHOA HỌC V VÀ CÔNG NGHỆ VIỆT NAM VIEN CO HQC VA TIN HOC UNG DUNG

000

DE TAI:

UNG DUNG CONG NGHE THONG TIN TRONG VIEC XAY DUNG HE THONG LUU TRU VA TRUYEN TAI HiNH ANH PHUC VU

CHAN DOAN VA TRA CUU (PACS) TAI BENH VIEN DA KHOA TINH BINH DUONG CHUYEN DE 2.10:

NGHIEN CUU THIET KE PHAN MEM TRAO ĐÔI THÔNG TIN BỆNH NHÂN GIỮ PHONG CAP CUU VOI

CAC KHOA KHAM BENH Ở PHONG CHAN DOAN HINH ANH Ở PHONG SIÊU ÂM - PHÒNG KE TOAN

NGUOI THUC HIEN:

Ngô Anh Tuấn

Nguyễn Hữu Phước

Cơ quan chủ trì: Viện Cơ học và Tin học ứng dụng Địa chỉ: 291 Điện Biên Phủ, Quận 3, thành phố Hồ Chắ Minh

Chủ nhiệm đề tài: Th.S Đào Văn Tuyết

Trang 3

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 MỤC LỤC

I NOIDUNG GOI CONG VIEC CUA CHUYEN DE

I1 Tên gói công việc của chuyên đề

1.2 Chức năng của chuyên đề I3 Nội dung công việc -

1.4 Sơ bộ quá trình nghiên cứu và triển khai gói công việc 2.10

I CAC THONG TIN THIET KE CUA PHAN MEM

II.1 Sơ đồ tổng quát và vị trắ của module trong dự án

II.1.1 Sơ đồ tổng quát của hệ thống

II.1:2 Mô tả chức năng của các module tại các Phòng / Khoa liên quan

IL1.3 Sơ đồ dòng dữ liệu của các Phòng

IIL1.4 Lược đồ User Case mô tả quy trình Siêu âm tại Bệnh vign -_ I2 Thiết kế Cơ sở đữ liệu cho phần mềm

IL.2.1 Cac thong tin cần lưu trữ cho phần mềm Siêu âm IL2.2 Lược đồ quan hệ thực thể dữ liệu đữ liệu của phần mềm IL2.3 Mô tả các bảng dữ liệu đã được thiết kế

I2.4: Nội dung đữ liệu của các bảng

IL3 Thiết kế các chức năng và lập trình

_ HL SẢN PHÁẲM PHAN MEM

Trang 4

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

I NOI DUNG GOI CONG VIEC CUA CHUYEN DE

1 1 Tên gói công việc:

ỘNghiên cứu, thiết kế phần mem trao đổi thông tin bệnh nhân giữa các phòng:

(Giai đoạn I: Giữa 2 phòng: Phòng Cấp cứu Ở Phòng Chẩn đoán hình ảnh, Giai đoạn 2: Thêm một số phòng khác) Ợ

I2 Chức năng của chuyên đề: lưu trữ hình ảnh của bệnh nhân một cách tự động cùng với thông tin kết quả siêu âm của bệnh nhân tại Khoa chan đoán hình ảnh 'BVĐKBD Chức năng chắnh của chuyên để này bao gồm:

"Nhận dữ liệu bệnh nhân tự động từ các phòng Mổ/Cấp Cứu và Kế toán

= Tổ chức và lưu trữ thông tin bệnh nhân (thông tin cá nhân và thông tin bệnh án)

s Lưu trữ thông tin bác sỹ

= Tổ chức lưu trữ và soạn thảo các bênh án mẫu, phục vụ quá trình khám của BS

" Giao tiếp với các thiết bị siêu âm của bệnh viện

Ộ Ghi chẩn đoán, kết quả, kết luận của quá trình Siêu âm trong các lần khám

bệnh

-_" Chụp các ảnh Siêu âm; quay video siêu âm cho bệnh nhân

Chuyển đổi ảnh Siêu âm sang định dạng DICOM và lưu trữ tại Server trung tâm

Ộ In kết quá Siêu âm cho bệnh nhân

" Xem lại thông tin lịch sử khám bệnh của bệnh nhân tại bệnh viện

1.3 Nội dung công việc

= Phan tắch các yêu cầu về hệ thống Y tế tại bệnh viện (bao gồm các quy trình

siêu âm của các bác sỹ; các máy móc, thiết bị kỹ thuật hỗ trợ cho quá trình siêu

âm)

= Khao sat yéu cau sit dung đối với phần mềm tiếp nhận và lưu trữ thông tin bệnh nhân của bác sỹ để thiết kế giao diện và nội dung phần mềm

" Nghiên cứu hoạt động và các chuẩn đữ liệu hỗ trợ của các máy móc thiết bị giêu âm, máy X-quang đi động của bệnh viện

= Nghiên cứu về chuẩn giao tiếp (các cổng in - out, các chuẩn định dạng đữ liệu

đầu ra của thiết bị siêu âm và X-Quang di động)

= Viết code chương trình nhận và đọc dữ liệu giao tiếp với các thiết bị trên

= Cài đặt, kiểm tra, chạy thử

I.4 Quá trình nghiên cứu và triển khai gói công việc 2.10

Ộ- Thời gian thực hiện: từ tháng 08/2009 đến tháng 06/2009 x Quá trình thực hiện: được mô ta qua bang sau

STT Thời gian thực hiện Nội dung thực hiện | Két quả thực hiện 1| Từ08-Ở 09/2009 ỘKhao sat các nhụ cầu sử Đã thu thập được các ý kiến

dụng phần mềm của các của các Bác sỹ, điều dưỡng về bác sỹ và các thông tin các thông tin cân được lưu trữ

liên quan đến phan mêm của các bệnh nhân khám tại

_ BV; thu thập được những yêu

Trang 5

Viện Cơ học và Tin học ứng dụng -_ Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 4 | Thang 11/2009 2 Từ 09 -10/2009 của BV 3 | Tháng 10/2009 - 5 Tw 11 Ở 12/2009 ẹ 6 | Thang 12/2009 -cầu của phần mềm dap tmg cho - Ổqua trình sử dụng của các bác sỹ phòng siêu âm/CĐĐĐHA Khảo sát thiết bị chụp ảnh - X-Quang di động và máy siêu âm kỹ thuật sô tại khoa chân đoán hình ảnh

chức năng của phần -

mềm phục vụ quá trình -

siêu âm của bác sỹ = - ~- Thiết kế cơ sở dữ liệu cho phần mềm -: Thiết - kế giao diện - chương trình cho bác sỹ sử dụng 7

- Viét module quan lý

thông tin bác sỹ siêu

âm/CĐHA và bác sỹ điều trị

Tìm hiểu giao tiếp giữa - máy tắnh và máy siêu âm kỹ thuật số, để lấy dữ liệu

_giêu âm của bệnh nhân trực tiệp khi đang siêu âm

Viết báo cáo nghiệm thu -

giai đoạn | của cho gói _

Thiết kế mô hình các -

May X- Quang di động không :

đặt tại phòng siêu âm mà đặt `

tại phòng chân đoán hình ảnh và phòng cấp cứu

Tại thời điểm khảo sát, các bác sỹ nhận xét: phần mềm kết nối đến máy siêu âm từ máy tắnh thực hiện thủ công, và quá trình thực hiện phức : tạp, nên không được sử dụng - Nhu cầu: muốn có được phân : mém capture anh truc tiép

trong quá trình siêu âm và tự động lưu tại Server mà không

cần có hoạt động thủ công

của các bác sỹ Thiết kế các module Tạo bảng đữ liệu

Đưa đữ liệu mẫu vào bảng Tạo các Store Procedures, Functions phục vụ cho sử dụng khi việt phân mêm

Hoàn tất thiết kế giao diện

chương trình

Hoan tat module quan ly thông tin bac sỹ siêu

4m/CDHA và bác sỹ điều trị

Đã viết module lấy ảnh trực

tuyến từ máy lây ảnh

Chương trình có khả năng

nhận diện các thiết bị camerar :

kết nối trực tiếp đến máy tắnh

thông qua video capture card nôi với máy tắnh chạy phần

mềm Siêu âm

01 ban báo cáo tổng kết:

chuyên để, _

Trang 6

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 7 Từ 04-05/2010 8 | Tháng 06/2010

công việc 2.5 của đê tài

Chạy demo kết nối thử

nghiệm và lấy ý kiến từ

cá BS sử dụng phần

mềm để chỉnh sửa bổ

sung hoàn chỉnh phần

mềm; hoàn thiện báo cáo

chung để tài và tài liệu

hướng dẫn sử dụng

Đào tạo, chuyên giao sản phâm cho các BS của

bệnh viện

- 01 quyên hướng dẫn sử dụng

phần mềm

- 01 slide báo cáo phục vụ đào

tạo các BS, Y tá, điều dưỡng

sử dụng phần mềm

- Đã lấy kết quả khảo sát của

BS Vũ (Phó Khoa CĐHA)

và BS Hoàng Quang Trung

(BS thực hiện Siêu âm):

= Bé sung chức năng quay

phim và được chụp nhiều

ảnh Siêu âm trong mỗi

lần chụp

" Khi in kết quả, được

chọn tối đa 02 ảnh trong số các ảnh đã chụp để in

Trang 7

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

UL CAC THONG TIN THIET KE CUA PHAN MEM IL1 So đồ tổng quát và vị trắ của module trong dự án 11.1.1 So dé tổng quát của hệ thống Ẽ wee eee x -Ở~ - ~ _ ~~ KHOA KHÁMỐẸNH/_ || Yêu cầu siêu âm (khẳn cấp) , PHdNGSIEUAM | CẬP CỨU | K NO F (5) | (1) i ị TT SỐ - ae `

/ Yêu cau 1 chụp hình Ẽ._" 'Yêu câu siêu âm, Xác nhận đóng lệphắ `

/ (khan cap) Sa Chụp X-Quang, CT với yêu câu siêu âm Ổ\ ' Ỏ, | | | +, SN ie oy UTE AT EERIE ROT STG ST: vey Ỳ HINH ANH (CDHA) | Với yêu cầu chup X-Quang - 1 i 1 TÚI - a ate 1A mht : ` h 'ỊÍ PHỊNG CHÂN ĐỐN |, Xácnhận đóngơphắ ¡ PHỊNGKÉTỐN Ữ ' i \ (3) | (4) | mm ỞỞỞ~ _Ở \ Ei! Mi A V A ` > Dữ liệu ảnh DICOM \ ` ` ` ` vẻ ` ` ` ` ` ` ` ` Dữ liệu bệnh nhân A RhẾ= ch anne Teen Rte ReIRTIR Te Ne reine neem eeomarrmecneae sree TL sroepmpeaas PHÒNG HỘI TRƯỜNG (7) Video ca mé /héi chan PHONG MO : (6) A ay AIEEE bee Shab hit nh RT RERETE SE iene ape ee

Hình 1: Vi tri phòng Siêu âm trong sơ đồ kết nối tổng quát của hệ thông của 1I.1.2 Mô tả chức năng của các module tại các Phòng / Khoa liên quan -

Trang 8

Viện Cơ học va Tin hoc tmg.dung Báo cáo đề tài Sở KH&CN Bình Duong 07/2010

Trong sơ đồ tổng quát Hình 1, các chương trình cần triển khai tại các phòng như Sau:

Phòng Server

" Chức năng lưu chuyển các thông tin từ các phòng Kế toán, Siêu âm,

CĐHA, Cấp cứu và Khám bệnh mỗi khi có phát sinh yêu cầu chụp/ chuyên

đối với bệnh nhân chụp ảnh

"Chạy dịch vụ quản trị Cơ sở dữ liệu Oracle, phục vụ việc lưu trữ, cập nhật

thông tin, trạng thái, hình ảnh của tất cả các bệnh nhân chụp ảnh :

ề Phuc vụ quá trình truy xuất hình ảnh, thông tin khi xem lại lịch sử khám - bệnh của bệnh nhân và khi hội chẩn trực tuyến đối với các bệnh nhân đã

Siêu âm

Phòng Kế toán

" Chương trình hiển thị danh sách bệnh nhân đang chờ đóng tiền để chụp ảnh tại khoa chân đoán hình ảnh

= Chitc nang tinh toán giá tiền chup ảnh của bệnh nhân phải đóng dựa trên giá trị đồng chỉ trả của Bảo hiểm Y tế

= Chuyển những thông tin bệnh nhân nào đã đóng viện phắ sang phòng siêu

_âm, để Phòng Siêu âm tiếp nhận thực hiện quy trình khám và siêu âm

Phòng Siêu âm

" Chức năng đăng nhập và xác thực người dùng tại Phòng Siêu âm

= Chức năng nhận thông tin chuyên đến từ các phòng Khám bệnh, Cấp cứu, Ẽ Kế toán với các yêu cầu Siêu âm tương ứng của bệnh nhân (ho tro tinh thoi

gian thực Ở realtime)

= Chương trình hiển thị danh sách bệnh nhân chờ chụp/siêu âm đã đóng phắ - chụp (đối với bệnh nhân khám thông thường) và bệnh nhân chưa đóng phắ

(đối với bệnh nhân chuyên từ Phòng Cấp cứu)

" Chức năng tìm kiểm thông tin bệnh nhân theo họ tên, theo mã số bệnh nhân, mã số điều trị, phục vụ mục đắch tra cứu nhanh chóng của các Bác sỹ " Chương trình phục vụ việc siêu âm của bác sỹ

Giáo tiếp dữ liệu với máy siêu âm

Thao tác lẫy ảnh, quay video từ máy Siêu âm

Mã hóa thông tin ảnh thành chuẩn ảnh DICOM

Giao tiếp với Server để truyền ảnh DICOM

Giao diện thực hiện các thao tác ghi y lệnh và kết quả của bác sỹ Giao diện chỉnh sửa các kết quả và kết luận mẫu của 13 loại Siêu âm

In kết quả khám bệnh của bệnh nhân theo mẫu của bệnh viện

Truy xuất lại thông tin các lần siêu âm trước đó của bệnh nhân

_ Cập nhật thông ' tin bệnh nhân về P.Khám và P.Cấp Cứu sau khi siêu

00000000

0ồ

âm:

Phòng Chẩn đoán hình anh(CDHA)

= Chức năng đăng nhập và xác thực người dùng tại Phòng CDHA

Trang 9

Viện Cơ học và Tin học ứng dụng - Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

" Chương trình hiển thị danh sách bệnh nhân chờ chụp tại phòng CĐHA/(citi, xquang, ) đã đóng phắ chụp (đối với bệnh nhân khám thông thường) và

bệnh nhân chưa đóng phắ (đối với bệnh nhân chuyển từ Phòng Cấp cứu)

" Chức năngfìm kiếm thông tin bệnh nhân theo họ tên, theo mã sô bệnh nhân, _ Mã số điều trị, phục vụ mục đắch tra cứu nhanh chóng của các Bác sỹ

s Cập nhật thông tin bệnh nhân về P.Khám và P Cấp C Cứu sau khi hoàn tất

chụp tại phòng CĐHA

Phòng Kham Bénh/Phong Cap Ciu(PKB/PCC)

" Chức năng đăng nhập và xác thực người dùng tại PKB/PCC

" Chức năng gửi thông tin đến các phòng CĐHA, Siêu âm, Kế toán với các yêu cầu Siêu âm và CĐHA tương ứng Ề của bệnh nhân (hỗ trợ tắnh thời gian

thực Ở realtime) :

" Chức năng nhận thông tin chuyền đến từ các phòng CĐHA, Siêu âm, Kế _ toán với các trạng thái đã chan đoán hình ảnh ,đã siêu âm, đã đóng phi hay

chưa của bệnh nhân (hỗ trợ tắnh thời gian thực Ở realtime)

=_ Chức năng hiển thị danh sách bệnh nhân đã chuyên yêu cầu đến các phòng CĐHA((citl, xquang, ), phòng siêu âm

" Chức năng tìm kiếm thông tin bệnh nhân theo họ tên, theo mã số bệnh nhân,

mã số điều trị, phục vụ mục đắch tra cứu nhanh chóng của các Bác sỹ * Chức năng xem lại lịch sử khám và các hình ảnh của chân đoán hình

ảnh/siêu âm của bệnh nhân _

Trang 10

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

II.1.3 Sơ đồ dòng đữ liệu của các Phòng

e Sơ đồ các Khoa điều trị, phòng Cấp cứu mm PHÒNG ĐIỀU TRỊ / CÁP CỨU ỳ PHÒNG | Module i KE TOÁN | rotary Module chuyên dữ ' BỆNH !- war, Ad

NHAN | cap phat Ở> lieu den

aw 4 ID bénh cac phong

a nhan Quá trình tương ứng khám của BS

es WTAE Uns E= ieeind we rem chats STALE ce

Hinh 2: So d6 két nối và làm việc tại các phòng Điều trị và phòng Cấp cứu

Trang 11

EERE RERCET Vién Co hoc va Tin hoc tmg dung Báo cáo đề tài Sở KH&CN Binh Dương 07/2010 PHONG CHAN ĐỐN HÌNH ẢN PC điều khiển [

Hình 4: Sơ đồ kết nối và làm viêc tai phòng Chẩn đoán hình ảnh

Trang 12

Viện Cơ học và Tin học ứng dụng - Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 H.1.4 Lược đồ User Case mô tả quy ắrình Siêu 4m/CDHA của bệnh nhân tại Bệnh viện

' Qua quá trình khảo sát, quy trình và thủ tục cho một bệnh nhân S nay tại Bệnh viện Đa khoa tỉnh Bình Dương như sau:

lêu âm/CĐĐĐHA hiện PKB/PCC _ BỆNH NHÂN PHÒNG KÉ TOÁN P.SIÊU ÂM/P.CĐHA t $ ĩ + Ẳ +ẲỎ Yêu cầu siêuâm/CĐHA - (phiếu khám bệnh) Ở _ ; : Yêu câu siêu âm/CĐHA (phiểu khám bệnh) _ | Ấ Yêu cầu đóng lệ phắ _ (phiếu khám bệnh) Đóng lệ phắ | (tiền) Ẽ Đóng dấu xác nhận (phiếu khám bệnh) Yêu cầu siêu âm/CĐHA | (phiếu khám bệnh đã có xác nhận đóng phắ) Ẽ | Thực hiện SÂ/CĐHA Điển thông tin bệnh án In kêt quả i Vao sé ểmx

Két qua siéu 4m/CDHA

(phiếu khám bệnh + kết quả siêu âm/CĐHA) Kết quả siêu âm/CĐHA

phiếu khám bệnh + kết quả)

Trang 13

Viện Cơ học và Tin học ứng dụng | Báo cáo đề tài Sở KH&CN Binh Dương 07/2010

1I2.Thiết kế Cơ sở dữ liệu cho phần mềm -

1L2.1 Các thông tin cần lưu trữ cho phần mềm

i.? Các thông tim của bệnh nhân: * Họ và tên bệnh nhãn đáng sa y3 | =_ Mã số bệnh nhân /Ư = Ma số điều trị /2#dn J2! c : Giới tắnh /À Ộ=- Tuổi (có the Dia chi

Théng tin Bao hiém Y té (ề6 Ữ7/ Hedy HEL hon, ae Lied tri? $6 thang doi vc A i as

42 Cac théng tin khám bệnh từ nơi chuyên đến

Nơi chuyển đến của bệnh nhân /( ƯỀ Ư` honey Ư Khoa GNa QCNh Viêm BS Khám bệnh / BS Điều trị

= Ngày giờ khám bệnh

_Ợ_ Các vùng cần thực hiện Siêu âm/CĐHA

ồ - Ghi chú của BS Khám đối với mỗi loại yêu cầu Siêu âm/CĐĐHA của

_ bệnh nhận

=_ Trạng thái khám hiện tại của bệnh nhân Ư:

Trạng thái thanh toán phắ của bệnh nhận 7 (Đã

¡,3 Thông tin Siêu âm/CĐĐHA của bệnh nhân:

= Ngày giờ siêu âm

Vùng cần siêu âm //:/z oY VEE i

z Triệu chứng lâm sàng / (hết quá khám của

-*._ Các nhận xét của quá trình siéu 4m/CDHA

- Các kết luận của BS cho mỗi lần siêu am/CDHA

Cac anh Siéu 4m/CDHA cua bénh nhân Ề: pyr res é faite fet AMM

Video Ề siêu âm của bệnh nhân Ư (Đhuo vụ Vue ý EOF: +Ộ panes fy Oe 1⁄2 RG id t3)

.4 Thông tin cần lưu của mỗi bác sỹ (BS Khám bệnh & BS Siêu am/CDHA): Họ và tên Bác sỹ Khoa / Phong Ộ_ Năm sinh Ộ- Chức danh

ỘTài khoản đăng nhập hệ thống

* Mat khẩu đăng nhập hệ thống:

Bad

iS Quản lý các y lệnh của bác sỹ ứng với mỗi vị trắ siêu âm/CĐHA khác nhau, bao gồm:

Ộ._ Vùng siêu âm/CĐHA (mã số, tên vùng Siêu âm/CĐHA)

Các kết quả siêu âm/CĐHA mẫu

Các kết luận mẫu/CĐHA

Trang 14

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 H.2.2 Lược đổ quan hệ thực thể dữ liệu dữ liệu của phần mềm Tư io ị _AHH Đ Qmame) (ậegimalub) ee,

lai_user_type _-USf_Vp lụ Ở has user type ỞỞỞỞỞỞ _ỞỞ.o grad Conclusion TanBHYT wa (etuepert00) Í endvalue) , Ở TỢ ndvalue C = \| mm fuliname Chasewed Cad) SY eo Lan Ề Cdepname > ã et - ai_user Ởẹ)-Ở indepartmentỖ Ở]+Ở~ ai_insurance Ly has Ởa- ai_department Cate letcapture e q dateotacounting) a Ở ; ` L foneusion> (ant) J mm ae Ẩ GommentTemplate ) eee (GonctusionTemplate) 3 PSs LAG reaposid > panel <e pice Lr S 5 ⁄ ai_patient_treal ƑỞẬ|ỞỞỞẨ< KhániSiêu Âm/CĐHA HK Ộresult "> poo _ |) P + i/ i A / ai_patient_request_position has treats has status } + ai_patient_accounting _Ở ` ẠC se 2 oe ddress ai_patient_status N N NU C staid > ( Sianame` r Vv is request type t in position | ai_patient_request | | aLpatent positon | ỞỞỢ TN

Teqname > A mu 5 Cposname C ` Ổposid > >

Hình 7: Lược đô quan hệ của các thực thể

Trang 15

'Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 ai_patient_request_position (NF3) : ; : cornmenftTemplalconclusionTernpl reqposid posid regid price te ate , / ha pom 1 ai_patient_request (NF3) | posid [L posname ] reaid reqname ai_user_type (NF3) ai_departinent (NF3) tyoid typname depname ai_tiser (NF3) uid - | typid | depid password fullname} doctorid ` Email Ổuname ai_patient_status (NF3) ai_insurance (NF3) j staid | staname | | MaBHYT endvalue valueper100 beginvalue insurancename| ai_patient_treat (NF3) treatid MaBHYT staid pid diagnotics | dayofdoctor} conclusion | HanBHYT NoiDangki wif_patient_accounting (NF3) pid address Sex fullname| birthday ai_patient_pacs (NK3) dateofacou j dateofcaptu result conclusion nting rụ ce ea - treatid la + 2 ee | redposid

Hình 8: Lược đồ các bảng cơ sở đữ liệu

11.2.3 Mô tả các báng đữ liệu đã được thiết kế

Thiết kê cơ sở dữ liệu cho phân mêm

Bảng AI PATIENT_ACCOUNTING

TNLUMN NAME == DATA TYPE NULLABLE DATA DEFAULT COLUMN ID PK |

ve NCHAR(I9CHAR) ~~ ềYes ni 1 null

| FULLNAME NVARCHAR2(45 CHAR) Yes Ở nuỳ 2 ull |

|YEAROFBIRTHDAY NUMBER Yes nul 3 null

| SEX NUMBER Yes null 4 null

Ì ADDRES5 NVARCHAR2(120 CHAR) Yes null 5 null

Trang 16

Viện Cơ học và Tin học ứng dụng - Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

ỔBang AL PATIENT PACS

- COLUMN NAME - DATA TYPE NULLABLE DATA DEFAULT COLUMN ID PK

| TREID_FK - VARCHAR2(20 BYTE) Ves null 1 nut

j REQPOSID FK NUMBER Yes null 2 null 7

| DATEOPCAPTURE DATE Yes ~ nul 3 null ¡

| DATEOFACCOUNTING DATE - Yes null 4 null )

VARCHAR2(1000 : i

RESULTS CHAR) Yes null 5 null ị

| CONCL VARCHAR2(1000

ị CONCLUSION CHAR) Yes null 6 null |

: DOCTORID_FK NUMBER, Yes null 7 null

ị x

_ | STAID FRO NUMBER Yes null 8 null j

| DICOMID_FK -_ NUMBER Yes null 9 null :

ị i

ỔNOTES VARCHSOR2(300 CHAR) Ở-Yes null 10 null

Bảng AI_ PATIENI TREAT

ỔCOLUMN NAME DATA TYPE NULLABLE ATA DEFAULT COLUMN ID PK:

PID_FK NCHAR(13 CHAR) Ở Yes null 1 null

TREATID _ VARCHAR2(20 BYTE) Yes Ộnul 2 null

DID_FK NUMBER Yes null 3 null: ' DIAGNOTICS _ WARCHAR2(S00BVTE) Yes nul 4 pull | _ DAYOFDOCTOR DATE Yes null 5 null

: STAID_FK NUMBER Yes 0 6 null

MABHYT ậ Ở-VARCHARZ(ISCHAR) Yes null 7 null

HANBHYT DATE | Yes | null 8 null

NOIDANGKI VARCHAR2(50 CHAR) Yes son 9 null

DAYOFDOCTORI ỘẼTIME5TAMP(8) Yes sysdate 10 null

BIRTHDAY NUMBER Yes Ộnul il null

_OLDUNIT Ở MARCHAR2(6CHAR) Ves tu? 12 null Bang AL PATIENT _REQUEST

LUMN NAME DATA TYPE NULLABLE DATA DEFAULT COLUMN ID PK |

Fp NUMBER Yes nul 1 nul

ì REQNAM _ VARCHAR2(100CHAR) Ves nul 2 nul

| MODAITY VARCHAR2(10 BYTE) Yes Ổnull 3 null

Bang Al PATIENT _ POSITION

COLUMN NAME DATA TYPE NULLABLE DATA DEFAULT COLUMN ID PK |

Pp5ID ỘNUMBER Ấ Yes null 1 null

| POSNAME YARCHAR2(100 CHAR) Yes null 2 null |

Trang 17

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

Bảng AI_ PATIENT REQUEST 1 POSITION

COLUMN NAME DATA TYPE NULLABLE DATA DEFAULT COLUMN 1D PK

' REQPOSID : NUMBER - Yes null et null

PREG FK NUMBER - _Ở XS null `2 null | POSID ƑFK Ở NUMBER Yes Ở núỳ 3 null COMMENTTEMPLATEỖ VARCHAR2(1500 CHAR) Yes null 4 null CONCLUSIONTEMPLATE VARCHAR2(1000 CHAR) - Yes null 5 null

"PRICE " NUMBER Yes null 6 null Bảng AI USERS COLUMN NAME DATA TYPE NULLABLE ỘDATA DEFAULT COLUMN ID PX

ID NUMBER(20,0) Yes null od null USERNAME VARCHAR2(S0 CHAR) Yes nul 2 null

PASSWORD VARCHAR2(S0 CHAR) Yes null 3 Ộnull

FULLNAME ỞỞ WARCHAR2(S0CHAR) Yes null 4 nul DEPARTMENT | NUMBER - Yes - null 5 null EMAIL _ MARCHAR2(50 CHAR) Yes null 6 nul

_ TYPE Ở MUMBER(S,0} _YeS null 7 null

STATUS - _NUMBER(B,0) Yes nul 8 nul | 9 Ộnul _ DOCTORID - WARCHAR2(20 CHAR) Yes null

Bang AI USERTYPE era i |

THD NUMBER Yes nul 1 null )

: TYPNAME NVARCHAR2(55 CHAR) Yes null 2 null: Bang AI PATIENT STATUS

COLUMN NAME DATA TYPE NULLABLE DATA DEFAULT COLUMN.ID PK _ STAID - _ NUMBER Yes Ở nụl 1 null: | STANAME VARCHAR2(50 CHAR) Yes Ẽ nul 2 null | Bang AI DEPARTMENT

TCOLUMN NAME DATA TYPE NULLABLE DATA DEFAULT COLUMN ID PK

op NUMBER Yes nul 1 nul

IDEPNAME VARCHAR2(S0 CHAR) - Yes nul 2 ỞỞ TH

1L2.4 Nội dung dữ liệu của các bảng

Nội dung bảng AI _PATIENT_REQUEST_POSITION:

Bảng dữ liệu TB_VUNGSIEUAM chứa các thông tin của vùng siêu âm khác

nhau Có tổng cộng 13 vùng s siêu âm (theo như quá trình khảo sát tại Khoa chân đoán hình ảnh tại BV) Ứng với mỗi vùng siêu âm, he thong có lưu trữ một bộ dữ liệu các y

Trang 18

EEE OO 1

Vién Co hoc va Tin hoc tmg dung Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

lệnh mẫu, và một tập các nhận xét mẫu của bác sỹ Nội dung các kết quả mẫu xét nghiệm được thể hiện trong bảng sau: DỮ LIỆU LƯU TRONG CSDL STT DU LIỆU MẪU _ |

1 - |* GAN: không lớn, cầu trúc dong nhất, | * GAN: không lớn, cầu trúc đồng nhất, Echo bình thường Echo bình thường\n* MẬT: Đường * MAT: Đường mật trong và ngoài gan | mật trong và Ongoai gan khéng dan không dãn Túi mật không sỏi Túi mật không sỏi\n* TỤY: Đầu, * TỤY: Đầu, thân, đuôi tụy bình: thường | thân, dudi tuy binh thudng.\n* LACH:

* LACH: C4u tric va kắch thước bình Cấu trúc và kắch thước bình thường.\n*

thường | THẬN: Không sỏi, không ứ nước.\n*

* THẬN: Không sỏi, không tr nude BANG QUANG: Không s6i.\n* Van * BANG QUANG: Không sỏi, đề khác: chưa ghi nhận bất thường * Vấn đề khác: chưa ghi nhận bắt

thường

2 * GAN: không lớn, cầu trúc đồng nhất, | * GAN: không lớn, câu trúc đồng nhất,

Echo bình thường Echo bình thường\n* MẠẬT: Đường

* MẬT: Đường mật trong và ngoài gan | mật trong và ngồi gan khơng dãn Túi không dãn Túi mật không sỏi - mật không sỏi.\n* TỤY: Đầu, thân, * TỤY: Đầu, thân, đuôi tụy bình thường | đuôi tụy bình thường.\n* LÁCH: Cấu

* LÁCH: Cấu trúc và kắch thước bình trúc và kắch thước bình thường.\n*

thường -| THẬN: Không sỏi, không ứ nước.\n* * THẬN: Không sỏi, không ứ nước BÀNG QUANG: Không sỏiÀi* TỬ

* BÀNG QUANG: Không sỏi | CỨNG: Cấu trúc không đồng nhất.\n* * TỬ CUNG: Cấu trúc không đồng nhất | TÚI CÙNG: không dịch\n* Vấn đề * TÚI CÙNG: không dịch khác: chưa ghi nhận bất thường

* Vấn đề khác: chưa ghi nhận bất

thường

3 * Bàng Quang: * Bang Quang:\n - Thành không

- Thành không day | day\n* SL: 01 Tim thai: (Ẩ)n -

* SL:01 Tim thai: (+) Ngôi: dau\n - Nhau: mặt sau Độ - Ngôi: đầu trưởng thành: độ I, Ôi: bình thường

- Nhau: mặt sau Độ trưởng thành: độ | - BPĐ: mmWw_ - CRL: mm GS:

I, Oi: binh thuong mm\n* Buông trứng (P): Bình

" BPD: mm thườngn* Buổng trứng (T): Bình

- CRL: mm GS: mm thườngm* Túi Cùng sau: Không

* Buông trứng (P): Bình thường dịchn* Khoang Morison: Không

* Buồng trứng (T): Bình thường dich\n

* Túi Cùng sau: Không dịch * Khoang Morison: Không dịch

4 * Bàng Quang: - Thành không dày * Bàng Quang\n - Thành không * Tử cung: | day\n* Ta cung:\n - Tu thé: Trung gian\n_~- Kắch thước: DAP # mm \n

Trang 19

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 - Tư thế: Trung gian - Kắch thước: DẠP # mm - Cấu trúc đồng nhất - Nội Mạc: .mm * Buôồng trứng (P): Bình thường * Buồng trứng (T): Bình thường * Túi Cùng sau: Không dịch

* Khoang Morison: Không dịch

thudng\n* Ổ| dich\n*

- Cau trúc đồng nhân - - Nội Mạc:

eee mm\n* Buéng tring (P): Binh

thudng\n* Buéng trimg (T): Binh Túi Cùng sau: Không

Khoang Morison: Không dich\n * Thùy phải: - Bản chất đồng nhất, kắch: thước bình thường - EO: mm * Thùy Trái: - Bản chất đồng nhất, kắch thước bình thường : | * Thể tắch Tuyến giap: "_ J* Tuyến giap: Không hạch, không Focale : | mm\n* Thuy: Trai:\n

* Thùy phải\n - Bản chất đông nhất, kắch thước bình thườngÀn - Eo:

- Ban chat đồng

nhất, kắch thước bình thường.\n* Thê

tắch Tuyến giáp: cc\n* Tuyến giáp: Không hạch, không Focale\n

* Tuyến Vú (P): Câu trúc đồng nhất,

không hạch, không Focale * Dấu parghetti: Không có

* Tuyến Vú (T): Cấu trúc đồng nhất, không hạch, không Focale

* Tuyến Vú (P): Câu trúc đồng nhất,

|không hạch, không Focale\An* Dấu

Sparghetti: Không có.\nỲ Tuyến Vú

(T): Cấu trúc đồng nhất, không hạch,

không Focale.\n* Dấu Sparghetti:

* Dấu Sparghetti: Không có Không có.\n

-U/TM: đAO: mm; dLA: mm; Ở [1⁄/ TM: dAO: mm; đLA: .mm; dRV: mm Ở dRV: mmìn - Vách liên that/ Tam - Vách liên thât/ Tâm trương IVSd: trương IVSd: mm\n - Đường kắnh mm | thât T/Tâm trương LVIDd: mmìàn -

- Đường kắnh thất T/Tâm trương

LVIĐd mm :

- Thành sau thất T/Tâm trương

LVPWd: mm

_ - Vách liên thất Tâm thulVSs: mm

- Đường kắnh thất T/Tâm thu LVIDs: mm ể - Thanh sau that T/Tam thu LVPWs: | mm SỐ | T/Tâm thu LVPWS: | Tỉ lệ co thất trái FS: -

Thành sau thất T/Tâm trương LVPWởd: mm\n - Vach lién thất/ Tâm thu IVSs:

mm\w_ - Đường kắnh thất T/Tâm thu

LVIDs: mm\ạn - Thành sau thất

mmw - Phân

xuất tống máu thất trái EF: %\n -

%\n\n2/ 2D: Vách liên nhĩ, vách liên thất IVS, IAS:

nguyén ven\n\n3/ Doppler:\n* Dòng 2 - Phân xuất tống máu thất trái EF: lá VelMax: m/s, GdPmax: % | " mmHgn - MS: () (2D): cm2; - Tỉ lệ co thất tráiFS: % | (PHT): cm2n- - MR: (-) Mức os dé:\n* Dong DMC Velmax: m/s, | 2/ 2D: Vach lién nhi, vach liên that IVS, | GdPmax: mmHg\n_ - AS: (-)

IAS: nguyén ven S(Av): cm2\n - AR: (-) Mức độ:

Trang 20

Báo cáo để tài Sở KH&CN Bình Dương 07/2010 Viện Cơ học và Tin học ứng dụng - =MS:(-).(2D): 3/ Doppler: a * Dong 2 14 VelMax: mmHg m/s, GdPmax: .cm2;- (PHT) cm2 - MR:(-) Mức độ: * Dòng ĐMC Velmax: mmHg - AS: (-) S(Av): | ~ AR:(-) Mức độ: chủ: mm - * Dòng hở van 3 lá (mức độ: ) Velmax TR: m/s; GdPmax TR: mmHg; PaPs: mmHg - *Dong DMP Velmax: DMP: mmHg m/s, GdPmax: -em2 Dk dong ho m/s; GdPmax | ~~ PRC) 4/ Ghi nhận khác: Đk dòng hở chủ: van 3 lá (mức độ: ) Velmax TR: m/s; GdPmax TR: mmHg; PaPs: | mmHg\n*Dong DMP Velmax: m5; GdPmax DMP: mmHg\n~ ~- PR(- )\n\n4/ Ghi nhan khac: mmìn* Dòng hở * Hệ đm cảnh hai bên (+), thành mạch không xơ vữa, không hẹp, không giảm flow

* Hệ đm nên Ở cột sống hai bên không

hẹp, không giảm flow

*Tm cảnh không dãn, không huyết khối

* Hệ đm cảnh hai bên (+), thành mạch

không xơ vữa, không hẹp, không giảm

fow.n* Hệ đm nên - cột sông hai bên không hẹp, không giảm flow.\n*Tm

cảnh không dãn, không huyết khối

* Hệ đm flow (+) tir géc đến ngọn chỉ, thành mạch không xơ vữa, không hẹp,

khong giảm flow

* Tm néng Ở sâu không dan, đè XP, -không huyết khối

* Không ghi nhận hệ bạch h huyết dưới da dan

* Hé dm flow (+) tir géc dén ngọn chi, thành mạch không xơ vữa, không hẹp, khong giảm flow.\n* Tm nông - sâu

không dãn, đè xẹp, không huyết khốiÀn* Không ghi nhận hệ bạch

huyết dưới da dãn -

10

* GAN:Bờ đều, đồng dạng, không thâm

mỡ, không sang thương khu trú

* TÚI MẬT: Không sỏi Ống mật chủ

không dãn -

* TỤY: Bình thường

| * LACH: Khong to

* TUYẾN THƯỢNG THẬN: Không u

* THAN PHẢI: Không sỏi, không ứ nƯỚC -

* THẬN TRÁI: Không sỏi, không ứ

nước

* GAN:Bo déu, déng dạng, không

thấm mỡ, không sang thương khu trú.\n* TÚI MẬT: Không soi Ong mat chủ không dan\n* TỤY: Bình

thườngn* LACH: Khong _ to.\n* |TUYEN THƯỢNG THẬN: Không

u.\n* THAN PHẢI: Không sỏi, không

ứ nước\n* THẬN TRÁI: Không sỏi,

không ứ nước\n* Doppler dm thận hai bên không giảm flow.\n* BANG: | QUANG: Khéng s0i, khéng_bitu.\n*

Trang 21

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 * Doppler đm thận hai bên không giảm flow " * BÀNG QUANG: Không sỏi, không bứu * Không u vùng chậu : | * Động mạch chủ bụng không phình Không u vùng chậu.\n* Động mạch chủ bụng không phình

II | * Vi tri Khao sat:

- Cân cơ đồng nhất, không có dau hiệu Các mạch máu lân cận bình thường * Vùng Da Ở Dưới Da:

- Cầu trúc đồng nhất

tụ máu, không thấy Focale bất thường

* Vị trắ Khảo sát\n - Cân cơ dong nhất, không có dấu hiệu tụ máu, không thấy Focale bất thường Các mạch máu lân cận bình thường.\n* Vùng Da - Dưới Da\An - Cấu trúc đồng nhất 12 |* * Tinh Hoàn (P): thấy Eocale bất thường, không dịch - Thừng tắnh (P), cầu trúc đồng nhất, không thay nang, không Focale * Tinh Hoan (T):

- Cấu trúc đồng nhất, bờ đều, không

thấy Focale bất thường, không dịch - Thừng tắnh (T), câu trúc đồng nhất, -| không thây nang, không Focale

- Cau trúc đồng nhất, bờ đều, không

* Tinh Hoan (P):\n_ - Câu trúc dong

nhất, bờ đều, không thấy Focale bất thường, không dịch\n - Thừng tịnh

(P), câu trúc đồng nhất, không thấy nang, không Focale.\n* Tinh Hoàn (Ể)àn - Câu trúc đồng nhất, bờ đều, không thấy Focale bất thường, không dịch\n -Thimg tinh (7), cấu trúc đồng nhất, không thấy nang, không Focale

13 * Ban chat dich khop:

* Ban chat dịch khớpAn _- Đông

- Đồng nhất ' ' nhấ\n - Không thấy tụ máu trong bao

- Không thấy tụ máu trong bao khớp |khớp\n* Cân Cơàn - Đồng nhất,

* Cân Cơ: không thấy hình ảnh tụ máu.\n* Da và

- Dong nhất, không thấy hình ảnh tụ | Dưới Dan - Binh thudng\n mau * Da va Dưới Da: - Bình thường II.3.Thiết kế các chức năng và lập trình

Trang 22

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

Chức năng login nhằm bảo mật cho hệ thống, cho phép người sử dụng

nhập tên tài khoản và mật khâu để đăng nhập và có thê sử dụng hệ thống

o Lap trinh:

Hàm kiểm tra một người dùng vừa đăng nhập:

" Kiểm tra dữ liệu nhập vào đã đầy đủ?

Ộ_ Kiểm tra người dùng và mật khâu trong hệ thống có tồn tại và hợp lệ hay không) _ private void Login(string userName, string password) f //kiem tra du lieu dau vao if (userName == Ỏ) { MessageBox Show ("Chưa nhập tên đăng nhậpỢ, "Thông bao!"); ể Ộreturn; }

Ộcheck login in database checkLogin (userName, password) ;

if (doctorId > -1)//truong hop login thanh cong {

frmNhapBenhNhan frm = new frmNhapBenhNhan (this) ; : PublicFunetions logger.Debug ("Dang nhap ' thanh cong!!! "); ể re ,

: Lot : frm.Show(); this.Hide();

}

else//truong hop login that bai

Ở TH ' PublicFunctions logger.Debug("Dan - nhap => fail!"); :

if(doctorId ==-1)

this.labelThongBao.Text = "Tén người đăng nhập hoặc mật khẩu không chắnh xác! Ợ;

_else

this.labelThongBao.Text = "Lỗi kết nối với

CSDL, vui lòng kiểm tra lại máy Server"

: : this label ThongBao.Visible = true;

this.textBoxUserName Focus () ;

}

private void checkLogin(string uid, string pwd) 1 é ; try { : | "

- String log = string.Format("Try Login with user:{0} pass: {1}",uid, PublicFunctions.getMd5SHash (pwd) );

' PublicFunctions logger.Debug (log) ;

OracleCommand _ objCmd = new

OracleCommand ("check existence") ; "

objCmd.CommandType = ComnandTvpe StoredProcedure; objCmd Parameters AddWithValue ("uid", uid);

Trang 23

Viện Cơ học và Tin học ứng dụng Báo cáo để tài Sở KH&CN Bình Dương 07/2010

_iÊ (dt.Rows.Count > 0}( | no nh THỦ

doctorid = int Parse (dt -Rows [0] ["ID"].ToString());

` đoctorFullname : dt.Rows [0] {"fullname"].ToString();

this.userName , 'dt.Rows[0] ["username"] ToString(); this.depName dt.Rows [0] ["depname"}.ToString();

this.email II dt.Rows{0] ["email"].ToString();

- this.docid nhu } : = dt Rows [0] ["doctorid"].ToString(); } : ` :

catch = (Exception ex) {

PublicFunctions _logger.Error("checklogin ~ error tủy _@X%); doctorTd = -?; } a , : } : : : :

= Ham kiêm tra đăng nhập trên cơ sở đữ liệu:

Hàm có 3 tham số là uid, pwd và ¡d_fullname, với uid là tài

khoản đăng nhập, pwd là mật khâu(đã được mã hóa MDS) là tham số đầu vào, còn ¡d_fullname là tham số đầu ra là biến kiểu con trỏ chứa ¡đ,

fuliname, depname, email và doctorid của bác sĩ đăng nhập vào nếu đăng nhập thành công create or replace PROCEDUREỪ _"CHECK_EXISTENCE"( ` Ổuid IN varchar2, co pwd in VARCHAR2, id_fullname out ai_patient_pkg.ai_doctor_Detail) IS : _BEGIN oe

- open id_fullname for select id ,fullname,username,depname,email doctorid

| FROM DFCK ai_usérs, DFCK.AI_Department _ WHERE UID= DFCK.ai_users USERNAME AND PWD=DFCK.ai_users: PASSWORD AND

DFCK.ai_users Department-DECK AI _ Department depid; END; H.3.1 Phòng Khám/Phòng cấp cứu: a) Ch ức năng tiếp nhận bệnh nhân:

o_ Chương trình tự động tạo mã bệnh nhân mới nếu là bệnh nhân mới và tự

động tạo mã điều trị cho bệnh nhân mỗi lần khám/cấp cứu:

Chương trình lấy mã bệnh nhân và mã điều trị mới nhất trong cơ

sở đữ liệu và gửi cho server, server sẽ lưu lại nếu chưa có mã bệnh nhân

và mã điều trị nào được gửi từ client khác, nếu không thì server sẽ gửi

về cho client một mã bệnh nhân và mã điều trị mới, do server sinh ra, _ không bị trùng lắp với các mã ở các phòng gửi yêu cầu siêu âm/CĐĐHA khác Ẽ/, Tao ma sẽ khám mới cho bệnh nhân mới

Trang 24

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 `

return patientPID; }

catch (Exception ex) {

Trang 25

Viện Cơ học và Tin học ứng dụng _Ộ Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 a PEE sự update, Ộnewest pid and treatid from chat server private void pat ientUpdateNewest PIDTreatIDFromServer (string newPid, string newTreatid) { string patientPID = PublicFunctions.PatientPIDHeadl + |PublicFunctions PatientPIDHead2 + "- string zeros = "0000000000000000000"; int pid = int.Parse(newPid) - 1;

long treatId = long Parse(newTreatid) - 1; zeros = zeros.Substring (0, PublicFunctions PatientPIDEndLength) ; -this.newestPID = PublicFunctions.PatientPIDHeadl' + PublicFunctions.PatientPIDHead2 + "-" + String.Format("{Q:" + zeros + "}", pid); ,

long tmp = long.Parse (newTreatid) -

this.newestTreatID = String.Format("{0:" + zeros +

")", tmp);

}

o_ Giao diện cho phép nhập và lưu các thông tin hành chắnh của bệnh nhân Chương trình cho phép nhập các thông tin tuổi, phái, họ và tên, - địa chỉ, bảo hiểm, lâm sàng, và cho người đùng có thê chọn các loại xét

nghiệm cận lâm sàng

THONG TIN BENH NHAN

| Viết phiếu khám BệnH nhân đã chuyển - Bệnh nhân đã chụp trong ngày ' Tìm kiễm hồ sở chụp ảnh Bénh nhân

vl Bệnh nhân mới Ngày khán 22/06/2010 x

THONG TIN KHAM BỆNH :

Trang 26

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 Lập trình: private.void butThemBN_Click(object sender, EventArgs e) { Z/;/kiem tra toan bo thong tin benh nhan chuyen di da ok? 4ặ (!this.checkInput()) return; string pid, fullname, address, dayofdoctor, doctor,request, diagnotics;

int birthday, sex;

pid = this.textBoxMaSo Text; fullname = this.textBoxHoTen.Text.Trim(); birthday = int.Parse(this.textBoxTuoi.Text.Trim()); sex = this.checkBoxSex.Checked ? 0.: 1z address = this.textBoxDiaChi.Text.Trim(); diagnotics = this.richTextBoxLamSang.Text.Trim({); dayofdoctor = PublicFunctions.OraDateTime (DateTime.Now) ; doctor = this.labelHoTenBacSi.Text.Trim(); DateTime dtNow = DateTime.Now; Ộ/Bước 1 _⁄//Nếu thêm bệnh nhân mới thì insert bệnh nhân mới vào bảng ai patient_accouting ' string queryInsert = "ai_insert_patient"; string oldUnit = : this.comboBoxDviTuoi.SelectedItem.ToString(); if (this.checkBoxiBNMoi.Checked) 4 //thuc hien ghi co so du lieu DatabaseSQL.ExecuteNonQuery (queryInsert, CommandType StoredProcedure, " "Ộppid", pid, "ofullname", fullname, : : "pbirthdayỢ; (DateTime Today.Year - birthday) +1, : "DsexỢ, sex, "baddress", address i } else : (⁄//nêu là bệnh nhân cũ thì hỏng inserLt đzô table ai patient_accounting } ẤBước 2: insert ai patient_ treat querylnsert = "ai_insert_patient_treat"; string maBH=""; if (this checkBoxCoBaoHiem Checked) { , this.textboxMABaoHiem.Text.Trim(); maBH.Replace(".", "")i maBH maBH (ot

string treatId = this.textBoxMaDieuTri.Text.Trim();

Trang 27

Viện Cơ học và Tin hoc ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 "pDid_fk", this.frm.DoctorID, : "odayofdoctor", PublicFunctions.OraDateTime (dtNow), "DMaBHYTỢ, maBH, ệDHanBHYT", PublicFunctions.OraDateTime (this.dateTimePickerNgayHHBH.Value), / "pNoidangki", this.textBoxNoiDKBH.Text.Trim(), su "pdateFormat", PublicFunctions.DateTimeFormat, / , ể "ptuoi", birthday, "pOldUnit", oldUnit, "pDiagnotics", diagnotics );

Ổ///Buéc 3: insert ai_patient_pacs

queryInsert = "ai insert patient pacsỢ; request = ""; foreach (DataRow dtr in dsPatient.Tables[this.patientTableNameVitriChup] Rows) { request += String.Format("{0} : {1};\r\n", dtr["LOAICHUP"].ToString(), dtr ["NOIDUNGCHUP"] ToString()); - DatabaseSOL ExecuteNonQuery(queryInsert, CommandType StoredProcedure, "oTreT1d ặkỢ, treatid, "pReqPosId_ fk", dtr [*IDCHUPANH"], oe -"pnotes", dtr {"GHICHU"] }? Ư/zBước 4: add bệnh nhân mới đzô danh sách bệnh nhân đã chuyển ,

//add to datagridview > dua noi dụng vao Table AI_ PATIENTS, khong can dua vo bang

this.patientAddNewPatient (pid, treatid, fullname, birthday, oldUnit, request, dtNow) ; Ổ this.newestPID = pid; this.newestTreatID = treatId; Ổ/) va gui yeu cau chuyên phòng kế toán cho server if (this.checkBoxiBNMoi.Checked) | this.socketWriteThemBN (pid, treatid, - PubLicFunctions.AddNewPidCode) ; else sÓ this.socketWriteThemBN (pid, treatId, PublicFunctions.AddOldPidCode); : this.clearfrmNhapBenhInfo();

Ẽ this.checkBoxiBNMoi Checked = true;

MessageBox Show (DatabaseSQL.errorMsg) ;

PublicFunctions logger Debug ("ba chuyén xong BN " + fullname + "!"); Ổ

}

Ẽo_ Cho phép chọn các loại yêu cầu cho phòng siêu âm/CĐHA

| Chương trình sẽ lấy tất cả các loại Siêu âm/CĐHA trong cơ sở dữ

liệu hệ thống phân theo từng loại siêu âm, xquang, citi va hién thị ra

Trang 28

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

CHUYỂN BỆNH NHÂN BEN KHOA CHAN BOAN HINH ANH

Yéu cau chup : oe ặ2 CT - ặ7 MRI - KIOT SS SIEUẢM Ấ7 XGQUANG TT LOẠI CHỤP _ NỘIDUNG CHỤP GHI CHÚ CHỌN

Chức năng này được thiết kê qua đoạn code sau

private void loadMenuLoaiBenh () { //load tu CSDL len try {

an DataTable dt = DatabaseSQL.executeQuery ("SELECT * FROM VIEW PATIENT _REQUEST_LIST", CommandType.Text); dt.TableName = patientTableNameRequest; if (this.dsPatient Tables [patientTableNameRequest ] == null) dsPatient.Tables.Add(dt); else { dsPatient.Tables.Remove (patientTableNameRequest) i dsPatient.Tables.Add(dt); } yo catch (Exception ex} {

MessageBox Show (DatabaseSQL.errorMsg) i

PublicFunctions logger.Error ("can not load menu loai benh", ex); : return; } this.listRequest = new ` BadioBut con [thắ s đsPatient Tab1es [patientTab1eNameRequest] Rows COuUnE yi - , int x0 = 20, y = 10; Ộdnt cach = (this.panTemp.Size.Width - x0) / this.dsPatient.Tables[patientTableNameRequest] .Rows Count; for (int i= 0; i < - this.dsPatient Tables (patientTableNameRequest] .Rows Count; i++) { DataRow row = :

this.dsPatient.Tables[patientTableNameRequest]} .Rows [il]

Trang 29

Viện Cơ học và Tin học ứng dụng - Báo cáo để tài Sở KH&CN Bình Dương 07/2010 this.listRequest[i].TabIndex = i+15; this.listRequest[i].TabStop = true; this.listRequest[i].Location = new Point(x0 + i * cach, y); :

this.listRequest [i] CheckedChanged += new | EventHandier (this radioCheckChanged) ; this.listRequest[i].TabStopChanged += new EventHandler(this.panTemp_TabStopChanged) ; this.panTemp.Controls.Add(this.listRequest[i}); } : :

Sau khi người : sử dụng click chọn một trong những xét nghiệm cận lâm sàng thì chương trình sẽ tải các loại thuộc xét nghiệm đó và hién thi thành bảnh(hình 10-b) để đễ dàng cho người sử dụng chọn

CHI TIẾT CHỤP - SIÊU ÂM

STT NỘIDỤNGCHỤP ỞỞ GHICHÚ CHỌN

1 Siêu âm Bụng tổng quát Nam : 1

2 Siêu âm Bụng tổng quát nữ O

Siéu am Phu khoa

Siêu âm Tuyên gián 4 5 8 SiệuâmTuyếnvú ? Siêu am Tim 8

| Siéu am Doppler - Mach cảnh 9 Siêu âm Doppler - Mạch máu chi

10 Siêu âm Doppler - Mạch máu thận 1i SiêuâmPhànmềm ` cố 12 Siêu âmtỉnhhoàn _ 13 Siêuâm khớp HBOoOoeooooonondo Hinh 11-b: Giao diện chọn các loại xét nghiệm cận lâm sàng private void 1oadDuLieufromDataTable(int reg1d) { - -string query = String.Format("SELECT ROWNUM, posname, reqposid " + ỘFROM dfck.ai _patient_ request _position " + "OUTER JOIN dfck.ai patient position " +

: ~ Ợ "on posid= posid fk Ợ +

"where regqgid_fk={0}", reqId);

Trang 30

Viện Cơ học va Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 DataTable dt = DatabaseSQL.executeQuery (query, CommandType Text); dt.Columns.Add("SELECT") ; dt Columns.Add ("NOTE") ;

" for (int i-= 0; i <

this.parent.dsPatient.Tables["Al_ PATIENT VITRICHUP"] Rows.Count; 11++) DataRow rrow =

this.parent.dsPatient.Tables["AI_PATIENT_VITRICHUP"].Rows [i]; if (rrow["IDCHUPANH"] == null) continue;

string idChupAnh = rrow["IDCHUPANH"] ToString () for (int vt = 0; vt < dt.Rows.Count; vt++)

{

string ss = dt.Rows[vt] ["reqposid"] ToString();

if (ss ( == idChupAnh)}

//gan dau check vao o phia sau

dt.Rows{vt] ('SELECT"}) = true;

//gan noi dung ghi chu vao o ghi chu

dt.Rows[vt] ["NOTE"] = rrow["GHICHU"];

//xoa thanh phan nay trong bang

this-parent.dsPatient.Tables["AI_ PATIENT VITRICHUP"] Rows.RemoveAt (i) f inv; } } this.dgvPositionList.DataSource = dt;

b) Chức năng gửi yêu cầu siêu âm/CĐHA:

Cho phép chương trình gửi yêu cầu cho phòng siêu âm/CĐHA, phòng kế toán và cập nhật trạng thái đã đóng tiền hay chưa, đã chụp xong hay chưa từ các

phòng siêu âm/CĐHA, phòng kế toán

Lập trình:

Sử dụng lập tình socket đề giao tiếp với máy chủ và từ máy chủ sẽ gửi tin cho các máy cần thiết theo mỗi mẫu tin

#region Socket Process Area

Trang 31

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 pfs still read from socket or not/ is socket still living? z Ư é a / #;: 116đ : , volatile bool socketIsLive;

Init socket : connect to socket server

-> create a listener thread: for reading from socket private void socketInit () { try { TcpClient tc = new

TepClient (PublicFunctions Socket IpAddress,

int Parse (PublicFunctions SocketPort));// in the place of server, enter your java server's hostname or Ip ,

PublicFunctions _logger.Debug ("Socket server

connected") ;

socket_ns = tc.GetStream();

socket_sw = new StreamWriter(socket_ns);

socket_sr = new StreamReader (socket_ns);

Thread t = new Thread (socketReceiveServer); socketStart(); - t.Start(); , } catch (Exception ex) (

MessageBox Show (DatabaseSQ1L errorMsg) Ư

/ PublicFunctions _togger Error ("can not connect to chat server:", ex);

// Console WriteLine (ex Message) ; Close the void socket Stop () { socketIsLive = false; socketWrite2Server (".bye"); // if(sw != null) // sw.Close(); // 1f(sr != null) ⁄/ sr.Close(); } void socketStart() { - socketIsLive = true; ;} , Bun string of message is receiving from socket serever string socketReceiveString="";

' waiting data from socket server and then read to end of message and after that :

Trang 32

-_ Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 ồ DEocess that information to update patient status if need void socketReceiveServer () { while (socketIsLive) { ` try { string inString = ""; //1ặ (ns.DataAvailable) ( inString = socket_sr.ReadLine(); bool issocketStart = inString.StartsWith ("###"); : bool isEnd = inString.EndsWith ("$$$"); inString.Replace("$13$", "\n"); //Console.WriteLine("receive: " + inString); if (issocketStart) socketReceiveString = inString; else socketReceiveString += inString; if (isEnd) {

this socketReceiveStringProcess (socketReceiveString) ;

⁄/ MessageBox Show (?received: Ợ +

socketReceiveString Substring (9, socketReceiveString.Length - 12)); PublicFunctions - 1ogger.Debug ("received: " + socketReceiveString.Substring (9, socketReceiveString.Length ~ 12)); } } catch (Exception ex) {

MessageBox Show (DatabaseSOL.errorMsg) ;

Trang 33

Viện Cơ học và Tin học ứng dụng oo Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

catch (Exception ex) | 7

MessageBox Show (DatabaseSQL.errorMsg) ;

PublicFunctions logger.Brror ("socket writer error! !!", ex); : socketIsLive = false; } SPADA Sy // process string after.reading from socketserver void socketReceiveStringProcess (string s) { - try {| - gtring depID = s.Substring(3, 3); -

string content = s.Substring(9, s.Length - 12); string[} tmpArr = content.Split(';'); switch (depID) { case "PCC": case ỘPKB": //do add new patient break; case "PKT":

//do change status of patient to 1 ->

finished $ and waiting, in room chan doan-hinh anh if (tmpArr [0] Equals (PublicFunctions AddNewAccountingCode) ) patientChangeStatus (tmpArr[1], 1); break; case "PHA": //do change status to 2 if (tmpArr[0].Equals (PublicFunctions.AddNewPHACode) ) patientChangeStatus(tmpArr[1], 2); ' break; case "PSV": ; //get new pid and treatid from server if (tmpArr.Length == 3) { patientUpdateNewestPIDTreat IDFromServer (tmpArr | [1], tmpArr[2]); if (this.checkBoxiBNMoi Checked) patientCreateNewPatient (); } break; } ể

catch (Exception ex) {

MessageBox Show (DatabaseSQL.errorMsg) ;

Trang 34

ĩỉĩNEEERTLRRLRLLLLIINNNộộộệTNNNợẹTTTTTTasasaemmememe=m=mỞ=ỞễS.ảẲẮ_ Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010 private void socketWriteThemBN(string pid) { String s = string.Format("{0};{1}" PublicFunctions AddNewPidCode, pid); socketWrite2Server (s) ; kham

i ooỢ s=PublicFunctions AddNewPidCode Ở gửi thôngbin bệnh nhân khám lần đầu,

hoặc =PublicFunctions AddOldPidCode Ở gui thông tin bệnh nhân tái khám private void 1 socketWriteThenBN (string pid,string treatid, string newPidCode) { String s = string.Format("{O};{1};{2}", newPidCode, pid, treatid); socketWrite2Server (s) ; } +

#endregion Socket Process Area

cẹ) Chức năng xem hình ảnh siêu âm/CĐĐHA của bệnh nhân

-d) Chức năng tra cứu thông tin bệnh nhân

Chương trình sẽ hiển thị tất cả các bệnh nhân đã được chuyển đi xét nghiệm cận lâm sàng, trong ngày thịnh 12)

THONG TIN BENH NHAN

Viểt phiếu khóm Bệnh nhân đã chuyển Bệnh nhân đã chụp trong ngày Tìm kiếm hỗ sở chụp ảnh Bệnh nhân

/ | +~ẤInkểt quả - Tìm kiếm bệnh nhận Refresh i

HO VA TEN BN TUỔI YÊU CAU CHỤP ` NGÀY KHÁM GIỎ KHÁM Ở CHITIẾT

Ww sacs10-093510 HữuThọ 1888 SIEUAMSigu am-Tuyé 22/06/2010 104346 | Chiuết | Ổwy SA0610-093509 Bệnh Nhân 509 Ẽ 15 SIEUAM:Sigu am Phy k 22/06/2010 -104345 | Chủ& | Ổww SA0610-093509 Bệnh Nhân 508 Ẽ 15 SIÊUÁM:Siêu âm Tuyế 22/08/2010 10:43:45 | Chiết |

% Tư SA0810-093508 Binh Nhan 508 102 IốT _ SIÊU ÂM:Siêu âm Phụk 22/06/2010 10:43:45 | Chiuiết |

% Tụ SA0610082508 Bịnh Nhân 508 102 16T Ở SIÊUÂM:SiêuâmTuyế 22/06/2010 10:43:45 | Chiúết | Ổwy SA0810-093507 Bệnh Nhân 507 101 11T SIÊUÂM:Siêu âm Sảnp 22/08/2010 10:43:46 [ ChiuếL | đu SA0610083498 RôóCon :SIÊU ÂM:Siêu âm Bụng 22/08/2010 10:43:45 | Chiết | Bệnh nhãn chưa đóng tiền Bệnh nhân đỡ đóng tiền Ổtal Bệnh nhân chưa chụp ảnh Bệnh nhân đã chụp ảnh : (8) (0) (8) (0) Hinh 12: danh sách các bệnh nhân đã xét nghiệm cận n lâm sảng trong ngày

Trang 35

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

THÔNG TỊN [BỆNH NHÂN sói : :

Viết phiếu khám : Bệnh nhân đã chuyển - Bệnh nhãn đã chụp trong ngày , Tìm kiếm hồ sơ chụp ảnh Bệnh nhân i

THONG TIN TIM KIEM

tì Theo Mã Bệnh Nhân _ 09350 C¡ Theo Mã Điều TrịBN ; Ở_

CỌ Theo Tên Bệnh Nhân Ẽ

| Tim kiếm

KET QUA TIM KIEM

-MASOBN - HỘ VÀ TÊN BN TUỔI YÊUCÂUCHỤP NGÀY GIỜ CHI

22/06/2010 104345 |ẼhiUế

ồS a SA0810-093509 'Bệnh Nhàn 509 15 Ở SIÊUẢM Siêu

34 Ảw SA0810:093508 BịnhNhânB0 16T SIÊUÂM Siêu

Hình 13: giao diện chức năng tìm kiểm thông tin bệnh nhân

22/08/2010 10:4345 [Xitểj

Chương trình cũng hỗ trợ cho người sử dụng xem chỉ tiết mỗi bệnh nhân

trong các danh sách ở trên với các đầy đủ các thông tin bệnh nhân, các lần điều trị có xét nghiệm cận lâm sảng của | ben nhan do BN Bénh Nhan 509 ; THỐNG TU BEM MEAL Tus fE Gigi tinh | Horn B13 số bénhinhan: sane:

Dis chỉ : teshng onky

tđã số điều tr , Hgảy giả khám

EMT Ngay het han BH Meh dang ky BH Mei nhan oénh oT ha, WM BETES

VOT MRGIEUTRE | NGAY KHAM NOLNHAN BENH MEM CHITIET

Trang 36

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

Thiết kế: cho phép nơi tiếp nhận bệnh nhân chờ chụp ảnh ở phòng chụp

ảnh xem danh sách các bệnh nhân đang chờ chụp ảnh, được chuyên từ phòng

khám và phòng cấp cứu chương trình tự động cập nhật danh sách theo thời gian

thực Khi bệnh nhân đã hoàn tất việc xét nghiệm và có kết quả thì điều dưỡng có

Ổthé bam in phiéu chụp để có thể thông báo cho chương trình phòng khám và

phòng cấp cứu biết bệnh nhân đã có kết quả xét nghiệm(hình 15)

mm ỘDANH SÁCH BỆNH NHÂN CHỜ CHỤP ANH Teiifyv têch rhần ae neha bs Reteesh HỘ ⁄Á TÊN đá.Ẽ Ở- ;|Ngô Anh Tuấn UD0065 ` ThụnThan Thử 4 TU N Hai Hatên BH Ngô Anh Tuần $A8 10-093497

t6 Mỏ sô BH A0510 091496 Ngay 3 SA 351.0934897 teos6 Than Thần Thị 34 37:93 55 Tuổi EU | Prov fare

5 329510-092487 000067 - Than Than ỳhg AM, 819350 TA chuyền đến

B 9-ự33493 000066 Rẻ Cón 12 873355 8S Điều tị

4 'SA/510-093489 000069 Đướng Trưởng Són - l2 0703138 Loarnâg hiểm Ặ Chắnh sách - Ộròng bào riểm ể

Ổog 2^23313-032500 000031 Trần #nh Kaa 1h ,

31-083501 000092 tiguyyên Hữu Phưếc Ở SỐ TT LGA NGC OUEEL CHU OH CTE 12 5A2311-092500 00084 Trần Anh Knsa ei 1 ST Marien

? 5403-0349) 000085 ềEwing Trin Sgn 12 ẹr Mar pis

3 2A3313092503 (G0087 Tài ⁄ăn Tải 12 373353

13 9310-099508 000102 Bani hấp S8 T02 Ở TẾ 7 03 Sã

i4 SA0510-032503 DũUIỂZS Ưn EÚE 102 Ở 1E 879355

Ẩậ, ZA4310-032501 000104 Benn Maas 593 18 70358

13-ữ35503 00011: EƯnh Hnan 538 IN PHIẾU CHỤP q4 323310041) IGE? Halu The Hình lãi Giao diễn sinh phòng CĐHẢ ` SH Hee ven Lập trình: :

Khi người sử dụng ấn vào nút duyệt trên danh sách thì chương trình sẽ

tự động lấy dữ liệu của bệnh nhân về các thông tin hành chắnh, các yêu cầu xét

nghiệm của phòng CĐHẠ dé thé hiện ra phần khung bên phải

private void dataGridViewDSBenhDaChuyen_CellContentClick (object sender, DataGridViewCellEventArgs e) { try { if (e.Columnindex == 6 && e.RowIndex >= 0) { DataRow row = this.dsPatient Tables [tableNamePATIENTS_PCDHA_TODAY] .Rows[e.RowInde x]:

//thuc hien load cac truong du lieu tuong ung len form theo doi , Ổ ,

Trang 37

._ Viện Cơ học và Tin học ứng dụng Ẽ Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

. #/this textBoxNoiChuyenDen Text =

row [" DEPARTMENT" J ToString();

: this.textBoxGioiTinh.Text = String Format (" {O:NG;;Nam}",

int Parse (row["SEX"] ToString().Trim()));_

//thuc hien load cac noi dung chup

string treatID = row["TREATID"] ToString();

this loadDanhSachChup (treatID); this.rowProcessed = e.RowIndex; } } catch (Exception ex) { , ,

MessageBox Show (DatabaseSOL.errorMsg) ;

PublicFunctions logger.Error("fill data error:"

ex);

3

private bool loadDanhSachChup (string treatID) {

string sqlCommand = "SELECT rownum as STT,

reqname, posname,notes,staid_fặk FROM AI_PATIENT_PACS,

AI_ PATIENT REQUEST POSITION, AI _PATIENT_POSITION, AI PATIENT REQUEST "

+ " WHERE reqposid fk= reqposid and posid_fk=posid and reqid fk=reqid and reqname<>' SIÊU ÂM!" and treid_fk='" + treatID + win, DataTable dt = DatabaseSQL.executeQuery (sqlCommand, CommandType.Text) ; if (dt == null) { - PublicFunctions logger.Error ("error while loading capture list!"); return false; } _ this datagridvewNoiDungChup.DataSource = dt; if (dt.Rows.Count > 0) this datagridvewNoiDungChup Rows [0] Selected = false; | return true; //this.datagridvewNoiDungChup x 11.3.3 Phong Kế toán

Chương trình hiển thị danh sách bệnh nhân đang chờ đóng tiền để làm

- xét nghiệm cận lâm sàng tại khoa chân đoán hình ảnh

Hình 15: Khung bên trái hiển thị danh sách các bệnh nhân chờ đóng tiền làm xét nghiệm cận lâm sàng Khung bên phải là thông tin đóng phắ gôm các thông tin hành chắnh cơ bản(họ tên, mã số BN, ngày khám, giờ khám, tuôi, phái,

nơi chuyên đi) và thông tin các nội dung xét nghiệm

Trang 38

Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

Tecbiêntbệeh hận : : arn his dan

HA SỐ BN HỒ VÀ TÊN BH GIỎ KHẨM Ở DỰYỆT Peta EE as EU

SAự610-083496 - ÍNgõ Anh Tuần - TL) Ấ HatỏnEtl Ngõ Anh Tuần

SAN3 1183487 -_ Than Thân Thể - "Mã só HÀ GAHE11-091348B Ngay

2 SAQS W097 Than Than Th Tact al ẹ Phar Ham

4 SA0510-093489 Oudny Trudag Son ẹ Nerchuyéndén Phong HerTuic ap cu

6 SASILDQ352- Le van ST H 07 08 S6 BS Daun BS shee Cap ấu,

.B_ SAA5I-083480 ` Hguyện Th Mth Hải 1G 07.03.56 TT LOA NỘI DỤNG BI

? SA)SI-03M51 Ở ThnhiMAnhẢnh l 1E Ở 070356 2 eT " bat pha an

495 10-093484 Đao Vận Tuyết a4 07-03 56 ặ$ SA1311-H834743 Cigneen Huu Friis 2h 07 04.56

1ũ SA091-083478 Tran Thanh Tang 1? 070356 -

11 SAO5ETL09247 Léa Wan Tara Ss - OF 0856 Loa bao hide / Chắnh sách: Prong baa hen

12 3A9510-099451 Chữa đất tên I5 ` 070256

l2 SAORIND4495 Ở Đan Shin Phương 23 070358 Feng ten slong (NE?

l4 5A9510-083480 Nguyen *lãn Niẫn 54 C1? H3 5ỏ Điệu hiểm hồ trợ (Vĩ lÊU

15 SA131-083487 tnó Ảnh Tuần z4 07.02 56 Tiên phẩ /lang (VHE) 260.30

lũ SA051-0Ả88 Ở MguysnVăn Hóa - 3$ 2058

l7 SA3510093448 Ở Lá Sinh Thành 8 07 (3.5 " OK bona 1 EN "

J n nh 8 07 03.56 OT

-Hình 16: Giao diện chắnh phòng Kế toán

Sau khi đã đóng tiền, nhân viên thu tiền sẽ ấn nút ỘĐÃ ĐÓNG TIÊNỢ dé

gửi tin cập nhật trạng thái của bệnh nhân tại các phòng khám bênh, phòng cấp cứu là đã đóng tiền Lập trình: Lấy danh sách các bệnh nhân đang chờ đóng phắ: private bool loadWaitingPatients () { this.dsPatient = new DataSet (); try {

//load noi dung danh sach cho

DataTable dt = DatabaseSOQL.executeQuery("select * from "+ tableNamePATIENTS PCDHA TODAY, CommandType.Text);

dt.TableName = tableNamePATIENTS_PCDHA_ TODAY;

if

(this dsPatient Tables [tableNamePATIENTS_ PCDHA _ TODAY]

Trang 39

Viện Cơ học và Tìn học ứng dụng _ Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

1ặ (this.dsPatient.Tables["TNSURANCE, TABLE"] == null)

dsPatient.Tables Add (đE) ; else { dsPatient.Tables Remove (""INSURANCE_ TABLE") ; dsPatient.Tables.Add(dt) } 4 catch (Exception ex) {

MessageBox Show (DatabaseSQL.errorMsg) ;

PublicFunctions logger.Error("error while loading patients:", ex); return false; } Ổ//do du lieu len data gridview for (int i= 0; i < this dsPatient Tables [tableNamePATIENTS_ PCDHA ỘTODAY) Rows.Count; i++) { DataRow row = this.dsPatient.Tables[tableNamePATIENTS PCDHA TODAY] Rows [i]; //stt a,

string maBN = row("PID"].ToString();//ma benh Ổnhan string maDTri = row(["TREATID"].ToString();//ma benh

nhan :

string fullName ="

row["FULLNAME"] ToString();//fullname

string tuoi = row{"BIRTHDAY"].ToString(); //tuol string gioKham = row["DAYOFDOCTOR"] ToString()i //gio -|kham

DateTime đateee = Convert.ToDateTime (gioKham) ; gioKham = String.Format("{O:hh:mm:ss}", dateee); //duyet ; : this.dataGridViewDSBenhDaChuyen.Rows.Add((i + 1).ToString(), maBN, maDTri, fullName, tuoi, gioKham, "Duyét"); } : " //do du lieu len combobox bao hiem this.comboBoxBaoHiem.DataSource = dsPatient.Tables["INSURANCE TABLE"]; this.comboBoxBaoHiem DisplayMenber = "INSURANCENAME"; return true; Lấy đanh sách các nội dung xét nghiệm của mỗi bệnh nhân khi ấn nút ỘDuyệtỢ: private void: loadbanhSachChup (string treatID) {

string sqlCommand = "SELECT rownum as STT,

reqname,posname,price FROM AI_ PATIENT PACS,

AI_PATIENT REQUEST _ POSTTION, At _ PATIENT POSITION, AT _PATIENT_REQUEST

1

+ " WHERE reqposid fk= reqposid and posid_fk=posid and reqid_ ặfk=regid and treid ặk='" + treatID +N:

Trang 40

Viện Co hoc va Tin hoc tng dung Báo cáo đề tài Sở KH&CN Bình Dương 07/2010

DataRow row = dt.Rows[il]i

string tien = row["price"].ToString(); if (tien != "") this.tongTIEN += Convert.ToInté4 (tien); } this.datagridvewNoiDungChup DataSource = dt; if (dt.Rows.Count > 0) this.datagridvewNoiDungChup Rows [0] Selected = false; //this.datagridvewNoiDungChup this.textBoxTienBH.Text = "0,000"; this.textBoxTongTien.Text = this.textBoxTienPhaiDong.Text = String.Format ("{0:0,0)", this tongTIEN) ; }

Lập trình gửi thông tin cập nhật trạng thái đã đóng tiền của bệnh nhân

dùng lập trình socket tương tự như chức năng gửi yêu câu xét nghiệm từ phòng khám, phòng câp cứu

11.3.4 Phong SERVER:

Thiết kế: _

Làm trung gian nhận và gửi các thông điệp giữa các client là các phòng cấp _ cứu, phòng siêu âm, phòng khám, phòng chân đoán hình ảnh, và phòng kế toán

Lưu trữ và cung cấp các mã bệnh nhân và mã điều trị mới nhất chưa được

sử dụng của hệ thống cho phòng cấp cứu và phòng khám bệnh để tạo bệnh nhân

- mới điều trị mới không bị trùng lắp giữa các phòng :

-Lập trình:

Hàm xử lý các thông điệp từ các máy trạm: nếu nhận được thông điệp Mã các phòng gửi thông điệp được lưu trong fựle config.xml của mỗi chương trình( phòng cấp cứu là PCC, phòng Khám là PKB, 2 <PCC-Name>Phong cap cứu</PCC-Name> <PCC-ID>PCC</PCC-ID> <PKB-Name>Phong Kham Bệnh< /PKB-Name> <PKB-1D>PKB</PKB-ID> <PKT-Name>Phòng Kế Toán</PKT-Name> <PKT-ID>PKT</PKT-ID> <PHA-Name>Phong chan đoán hình ảnh</PHA-Name> <PHA-ID>PHA< /PHA-1D> <PSA-Name>Phòng siêu âm</PSA-Name> <PSA-ID>PSA</PSA-ID> 'Mã các loại thông điệp - Các mã từ phòng Khám/PCC:

Ởề ,bye thì chương trình máy trạm đó dừng hoạt động,

e DIED: phong cấp cứu/phòng khám bệnh gửi và xin cấp

mã BN, mã điều trị mới

e NPID: may tram xin cấp một ma BN và mã điều trị mới

e OPID: may tram xin cap một mã điều trị mới

Các mã từ phòng PSA, PCĐHÀ: "

Phòng CĐHA(mã PHA), Phòng Siêu Âm(PSA) và phòng kế toán(PKT)

Ngày đăng: 25/04/2014, 18:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN