Giới thiệu tổng quan bệnh việ nA

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán xấp xỉ ứng dụng vào một số bài toán lớp NP (Trang 44)

Hình 1 .1 Bài tốn xếp ba lô dạng 0-1

3.2 Giới thiệu tổng quan bệnh việ nA

- Lịch sử phát triển

Ngày 4/9/1965 Ty Y tế Bắc Thái thành lập Ban kiến thiết Bệnh viện dã chiến (tiền thân của Bệnh viện A) tại xã Vô Tranh, huyện Phú Lương. Ngày 31/12/1965, Uỷ ban Hành chính tỉnh Bắc Thái chính thức có Quyết định số 657/TCDC về việc tiếp nhận và điều động 73 cán bộ nhân viên do UBHC Khu chuyển giao về và cho thành lập Bệnh viện tỉnh Bắc Thái với quy mô 100 giường bệnh và chỉ tiêu biên chế 62 cán bộ, bao gồm: 02 bác sỹ, 01 dược sỹ đại học, 14 y sỹ, 17 y tá, 02 nữ hộ sinh, 02 dược tá, 01 xét nghiệm viên, 11 hộ lý.

Được sự quan tâm của Tỉnh uỷ, UBND tỉnh và Bộ Y tế, Chính Phủ đã quyết định đầu tư cho tỉnh một bệnh viện phụ sản quy mơ 200 giường bệnh, diện tích xây dựng 14.000m2 với tổng vốn xây lắp 43 tỷ đồng và trang thiết bị 16 tỷ đồng, trên một phần đất trước đây đã được cấp tại tổ 19, phường Thịnh Đán, T.P Thái Nguyên. Từ năm 2012, số bệnh nhân điều trị nội trú tăng lên nhiều, số giường bệnh phải tăng lên hàng năm: Năm 2012: 380 giường, năm 2013: 420 giường, năm 2014: 470 giường, năm 2015: 510 giường.

- Cơ cấu tổ chức

Cơ cấu tổ chức các khoa phòng hiện tại: 31 khoa/phòng, gồm: phịng Tổ chức - Hành chính, phịng Tài chính - Kế tốn, phịng Kế hoạch - Tổng hợp, phòng Vật tư thiết bị y tế, phịng Điều dưỡng, phịng Cơng tác xã hội, phòng Quản lý chất lượng, phòng Đào tạo và chỉ đạo tuyến. Các khoa trong Bệnh viện gồm: khoa Khám bệnh, khoa Hồi sức cấp cứu, khoa Nội tổng hợp, khoa Nội Tim mạch - Bảo vệ sức khỏe cán bộ, khoa Ngoại Tổng hợp, Khoa Ngoại Chấn thương, Khoa Sản, Khoa Nhi, Khoa Phẫu thuật - Gây mê hồi sức, Khoa Hồi sức cấp cứu, khoa Mắt, khoa Răng - Hàm - Mặt, khoa Tai - Mũi - Họng, khoa Dược, khoa Truyền nhiễm, Khoa Y học cổ truyền - Vật lý trị liệu, khoa Da liễu, khoa Hỗ trợ sinh sản, khoa Giải phẫu bệnh, khoa Kiểm soát nhiễm khuẩn, khoa Chẩn đoán hình ảnh, khoa Huyết học truyền máu, khoa Sinh hóa - Vi sinh.

- Đội ngũ

Hiện nay, tổng số cán bộ viên chức trong biên chế của Bệnh viện là 610, bao gồm 138 bác sĩ, trong đó có 16 bác sĩ chuyên khoa cấp II, 37 bác sĩ chuyên khoa cấp I, 5 thạc sĩ; 80 bác sĩ đa khoa, 28 dược sĩ , 351 điều dưỡng, kỹ thuật viên, hộ sinh và 66 đại học.

- Quy trình Điều trị, khám bệnh BỆNH NHÂN PHÒNG KHÁM NHẬP KHOA NỘI TRÚ XUẤT KHOA VIỆN PHÍ KẾT THÚC Q TRÌNH NỘI TRÚ DỰ TRÙ VÀ HỒN TRẢ HAO PHÍ THEO KHOA

PHỊNG CƠNG NỢ DỰ TRÙ VÀ HỒN TRẢ HAO PHÍ THEO BỆNH NHÂN CHỈ ĐỊNH TẠM ỨNG VIỆN PHÍ

CHỈ ĐỊNH CẬN LÂM SÀNG PHẪU THUẬT, THỦ THUẬT

THỰC HIỆN CẬN LÂM SÀNG

- Quy trình xếp lịch thủ công

Ca trực được phân thành 2 ca: Ca ngày từ 7h – 17h cùng ngày; Ca đêm từ 17h – 5h sáng hôm sau. Người trực ca đêm thì hơm sau được nghỉ; Nếu trong ca trực có người nghỉ đột xuất thì sẽ đơn người ở ca trực tiếp theo vào thay thế.

Đối với điều dưỡng thì điều dưỡng trưởng của từng khoa phân cơng lịch trực nộp lên phòng kế hoạch tổng hợp để báo cáo và tổng hợp.

Lịch trực Bác sĩ, trực hành chính, trực cận lâm sàng (siêu âm, X quang, xét nghiệm, nội soi), … do phòng kế hoạch tổng hợp sắp xếp.

+ Tiếp nhận danh sách nhân sự: Họ tên, ngày sinh, giới tính, điện thoại, khoa, chức vụ.

+ Tiếp nhận danh sách ràng buộc:

- Yêu cầu xếp lịch từ các khoa (số lượng Bác sĩ, y tá, điều dưỡng…). - Yêu cầu cấp trực: trực lãnh đạo, ca trực, chức danh và khoa. + Thời gian ca trực: ca ngày, ca đêm.

+ Xếp lịch trực. + Cập nhật lịch trực.

- Hiện trạng

Việc xếp lịch trực của Bác sĩ hiện nay được thực hiện bằng tay (thủ công) và được lưu trữ thông tin trên giấy nên khơng thể tránh khỏi những sai sót như: trùng lặp người trực, mất thông tin, … Cho nên để có được lịch trực chính xác, khơng xảy ra những sai sót thì chỉ có những người thực hiện cơng việc xếp lịch là người có kịnh nghiệm và thực hiện công việc này trong thời gian dài, nên việc xây dựng thuật tốn lập lịch trên máy tính điện tử và ứng dụng vào cơng việc nêu trên là cần thiết, nâng cao chất lượng cơng việc.

3.3 Các mơ hình phân cơng các ca trực

Xuất phát từ tìm hiểu thực tế, tại bệnh viện tồn tại 2 mơ hình phân cơng các bác sĩ và y tá trực tại các lịch trực, đó là:

1. Mơ hình phân cơng trực tại các khoa chun mơn 2. Mơ hình phân cơng trực tại các phịng khám

Hai mơ hình trên có tính chất chun mơn cũng như độ phức tạp là hoàn toàn khác nhau. Sau đây chúng ta phân tích chi tiết 2 mơ hình và tìm lời giải tối ưu trên từng mơ hình

3.3.1 Bài tốn phân cơng trực tại các khoa chuyên môn

Giả sử tại một khoa chuyên môn (Nội, Ngoại, Nhi, Sản,…) qua khảo sát thu được các thông tin như sau:

+ Tập BS={1,2,3,..,NB} các bác sĩ được mã số thứ tự từ 1 đến NB + Tập YT={1,2,3,..,NY} các y tá được mã số thứ tự từ 1 đến NY

+ Tập T={1,2,3,….,NT} danh sách các ca trực được mã số thứ tự từ 1 đến NT

Các bác sĩ và y tá đều phải tham gia vào các ca trực cấp cứu tại khoa theo các yêu cầu sau đây:

+ Mọi bác sĩ và y tá đều có nghĩa vụ, trách nhiệm cũng như quyền lợi như nhau

+ Mỗi bác sĩ và y tá đều có thể đưa ra yêu cầu được nghỉ một số buổi trong lịch tùy theo hoàn cảnh mỗi người.

+ Tại mọi thời điểm tại phịng trực cấp cứu ln ln phải đảm bảo có 1 bác sĩ và 1 y tá trực.

Yêu cầu: Hãy lên lịch phân công trực cấp cứu cho các khoa trong bệnh viện sao cho

các yêu cầu của mọi người đều thỏa mãn đồng thời số buổi trực của các bác sĩ là tương đương, số buổi trực của các Y tá là tương đương.

Phân tích:

+ Hiển nhiên mơ hình các khoa là tương đương đồng thời giữa các khoa là hoạt động độc lập nên chúng ta chỉ cần xây dựng thuật toán phân lịch cho 1 khoa làm đại diện từ đó suy rộng cho tồn bệnh viện.

+ Do Bác sĩ và Y tá trong 1 khoa là độc lập nên chúng ta cũng chỉ cần phân lịch L1 cho bác sĩ và phân lịch L2 cho Y tá sau đó kết hợp lại chúng ta sẽ được lịch chung tồn khoa. Hiển nhiên 2 bài tốn lập lịch L1 và L2 là tương đương.

Kí hiệu L=(L(1),L(2),….,L(NB)) là lịch trực cần tìm trong đó L(i)=k (k=1..NB) được hiểu là bác sĩ k sẽ trực vào ca trực thứ i trong lịch (i=1..NT)

Kí hiệu B=(B(i,j)) là ma trận ràng buộc yêu cầu trong đó B(i,j)=0 được hiểu là Bác sĩ thứ i không sẵn sàng trực tại ca thứ j trong lịch, B(i,j)=1 được hiểu là Bác sĩ thứ i sẵn sàng nhận nhiệm vụ.

Hiển nhiên bài toán cần xây dựng phương án trực L thỏa mãn ràng buộc B sao cho số buổi trực của các bác sĩ là xấp xỉ bằng nhau.

Để giải quyết bài tốn trên, có nhiều phương pháp đưa ra lời giải gần đúng. Trong trường hợp này chúng ta sẽ xây dựng thuật toán gần đúng (theo tư tưởng tham

lam) giải bài toán như sau:

Tư tưởng: Lần lượt xếp các bác sĩ vào lịch trực (mỗi bác sĩ 1 lần) sao cho thỏa mãn

điều kiện. Quá trình lặp đi lặp lại cho đến khi kín lịch thì dừng lại. Hiển nhiên do xếp lần lượt các bác sĩ (mỗi bác sĩ 1 lần) nên số các ca trực của các bác sĩ chỉ chênh lệnh nhiều nhất là 1 buổi, do đó ta đạt được nghiệm theo yêu cầu.

Thuật toán

Input: + NB, NY, NT + Ma trận B Output: L

Bước 1: Xuất phát L=(0,0,…..,0) Chưa xếp bác sĩ nào vào lịch Bước 1: (Bước lặp)

k=1; %Xuất phát từ bác sĩ thứ nhất

+ Tìm ca chưa xếp đầu tiên mà bác sĩ k không bận xếp bác sĩ k vào lịch + Dich chuyển đến ca tiếp theo

+ k:=k=1; Lấy bác sĩ tiếp sau. Bước 2 Kiểm tra điều kiện dừng (Lịch đầy) Quay lại bước 1

Thuật tốn được mơ tả chi tiết bằng ngơn ngữ Matlab

function lap_lich=Tham_lam_1

clear all;

clc;NT=14;NB=5;

load d:\chuyen_dai_tu\B;

% Phan lich truc cho bac si

while KT(X)>0 k=1; while and(k<=NB,KT(X)>0) i=1;ok=0; while and(i<=NT,ok==0) if and((X(i)==0),(B(k,i)==1)) X(i)=k;ok=1; else i=i+1; end; end; k=k+1; end; end; CB=zeros(1,NB);CY=zeros(1,NY); for k=1:NB for i=1:NT if (X(i)==k) CB(k)=CB(k)+1;end; end; end; Lich_truc_bac_si=X So_ca_truc=CB

function KT=KT(X)%Hàm kiem tra

s=0; for i=1:length(X) if X(i)==0 s=s+1; end; end; KT=s;

Sau đây là kết quả xếp lịch trực cho các bác sĩ và y tá tại 1 khoa chuyên môn với các số liệu như sau

+ Số bác sĩ là 5 + Số y tá là 7 + Số ca trực là 14

Ma trận ràng buộc của các bác sĩ và y tá được cho bởi bảng

Bảng 3.1: Ma trận ràng buộc B (1-Sẵn sàng, 0-Không sẵn sàng) C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 BS 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 BS 2 1 0 1 1 0 1 1 1 1 0 1 1 1 1 BS 3 1 0 0 1 1 0 1 1 1 1 0 1 1 1 BS 4 1 1 1 0 1 1 0 1 1 1 1 0 1 1 BS 5 1 1 1 1 0 1 1 1 1 0 1 1 1 0 Bảng 3.2: Ma trận ràng buộc Y (1-Sẵn sàng, 0-Không sẵn sàng) C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 Yta 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 Yta 2 1 1 0 1 0 1 1 1 1 1 1 0 1 1 Yta 3 0 1 1 1 1 1 0 1 1 1 1 1 0 1 Yta 4 1 0 1 1 0 1 1 1 1 1 1 0 1 1 Yta 5 1 1 0 1 1 1 1 1 1 0 1 1 1 0 Yta 6 0 1 1 1 1 0 1 1 1 1 1 1 1 1 Yta 7 1 1 0 1 1 1 1 1 1 0 0 1 1 1

Kết quả chạy chương trình được đưa ra trong bảng 3.3 và 3.4 (Lap_lich_tham_lam_1.m)

Bảng 3.3: Lịch trực các buổi trong tuần (Số hiệu bác sĩ – Số hiệu y tá)

B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14

2-1 1-2 4-3 3-4 2-5 5-7 3-6 1-1 4-2 5-3 2-4 3-5 1-6 4-7

Bảng 3.4: Số buổi trực đối với các bác sĩ – y tá

Bs1 Bs 2 Bs3 Bs4 Bs5 Yta1 Yta2 Yta3 Yta4 Yta5 Yta6 Yta7

Nhận xét:

+ Thuật toán cho kết quả là chấp nhận được tức là số buổi trực của các bác sĩ là đồng đều nhau, số buổi trực các Y tá là đồng đều nhau.

+ Mơ hình bài tốn là đơn giản, dễ giải quyết trong thực tế vì số ràng buộc là ít + Mơ hình áp dụng tốt cho tất cả các khoa tại bệnh viện A Thái Nguyên

3.3.2 Bài toán phân cơng trực tại các Phịng khám

Chúng ta xét bài toán: Giả sử tham khảo thơng tin tại phịngTổ chức cán bộ tại bệnh viện A, ta thu được các thông tin sau:

 Thông tin cơ bản

+ Bảng 1 gồm NBS các bác sĩ: (Số hiệu, tên, chuyên môn đào tạo) + Bảng 2 gồm NYT các y tá: (Số hiệu, tên, chuyên môn đào tạo) + Bảng 3 gồm NPK các phòng khám (Số hiệu, tên phòng khám) + Bảng 4 gồm NBT các buổi trực (Số hiệu, thời gian, ngày) Trong đó số hiệu được đánh số từ 1,2,…,N

 Để đảm bảo về chất lượng chuyên môn: Ban giám đốc yêu cầu mỗi Bác sĩ và Y tá chỉ được trực tại một số phịng khám phù hợp với chun mơn đã được đào tạo (thông tin trong bảng gồm: Số hiệu bác sĩ (Y tá), Số hiệu phòng khám 1- Phù hợp, 0 – Không phù hợp)

 Để tạo điều kiện thuận lợi, cho phép mỗi Bác sĩ và Y tá được đăng kí các buổi trực mà cá nhân sẵng sàng nhận trực theo lịch phân công trong một số buổi xác định (thông tin trong bảng gồm: Số hiệu bác sĩ (Y tá), Số hiệu ca trực 1- Phù hợp, 0 – Không phù hợp)

Yêu cầu hãy xếp lịch trực cho tất cả các Bác sĩ và Y tá tại tất cả các phòng khám trong danh sách tất cả các ca trực để sao cho tại mọi buổi, tất cả các phịng khám phải có đầy đủ 1 Bác sĩ và 1 Y tá trực phù hợp với chuyên môn đào tạo đồng thời số ca trực của các Bác sĩ là tương đương nhau, các Y tá là tương đương nhau.

Hiển nhiên bài toán này là phức tạp hơn rất nhiều bài toán trực tại các khoa chun mơn bởi vì một bác sĩ hoặc y tá có thể trực tại nhiều phịng khám khác nhau tại nhiều ca khác nhau (Bài toán 2 chiều)

Xuất phát từ bài tốn trên, chúng ta có mơ hình tốn học chi tiết cho bài tốn như sau:  Sử dụng các kí hiệu - Tập BS={1,2,…,NBS} số hiệu các Bác sĩ. - Tập YT={1,2,…,NTY} số hiệu các Y tá. - Tập PK={1,2,…,NPK} số hiệu các phòng khám.

- Tập BT={1,2,…,NBT} số hiệu các buổi trong lịch toàn lịch trực.

- Mảng PBS(s,p) biểu diễn sự phù hợp chuyên môn giữa các Bác sĩ và phịng khám trong đó: PBS(s,p)=1 chun mơn Bác sĩ số hiệu s phù hợp với phịng khám p, PBS(s,p)=0 – Khơng phù hợp.

- Mảng PYT(s,p) biểu diễn sự phù hợp chuyên mơn giữa các Y tá và phịng khám trong đó: PYT(s,p)=1 chun mơn Y tá số hiệu s phù hợp với phòng khám p, PYT(s,p)=0 – Không phù hợp.

- Mảng trạng thái MBS(s,t) trạng thái sẵn sàng nhận trực của Bác sĩ có số hiệu s trong ca trực thứ t trong đó MBS(s,t)=1 là sẵng sàng, MBS(s,t)=0 là khơng sẵn sàng - Mảng trạng thái MYT(s,t) trạng thái sẵn sàng nhận trực của Y tá có số hiệu s trong ca trực thứ t trong đó MYT(s,t)=1 là sẵng sàng, MYT(s,t)=0 là không sẵn sàng

Các biến số cần xác định

- Các biến XBS(p,t)=k – bác sĩ số hiệu k được xếp vào phòng khám p trong buổi trực t.

- Các biến XYT(p,t)=k – y tá số hiệu k được xếp vào phòng khám p trong buổi trực t.

- Các biến CBS(s) - Ghi lại tổng số buổi trực của bác sĩ s trong tồn lịch phân cơng trực tại các phòng khám.

- Các biến CYT(s) - Ghi lại tổng số buổi trực của y tá s trong tồn lịch phân cơng trực tại các phòng khám.

Các điều kiện ràng buộc:

R1: Tại một thời điểm t, 1 Bác sĩ chỉ được trực nhiều nhất là 1 phòng khám. R2: Tại một thời điểm t, 1 Y tá chỉ được trực nhiều nhất là 1 phòng khám.

R3: Chỉ xếp lịch trực cho các Bác sĩ sẵn sàng trong buổi trực. R4: Chỉ xếp lịch trực cho các Y tá sẵn sàng trong buổi trực.

R5: Các Bác sĩ và Y tá chỉ được phép trực tại các phịng khám phù hợp về chun mơn.

R6: Tại mọi thời điểm, các phịng khám đều phải có đầy đủ 1 Bác sĩ và 1 Y tá trực

Yêu cầu: Hãy xây dựng bảng phân cơng trực tại các phịng khám cho tất cả các Bác

sĩ và Y tá trong bệnh viện thỏa mãn tất cả các ràng buộc R1,…,R6 sao cho tổng số các buổi trực của các Bác sĩ được phân công là tương đương nhau, số các buổi trực của các Y tá được phân công là tương đương nhau.

Nhận xét: Bài toán trên là một dạng bài toán quy hoạch rời rạc. Để nhận được lời

giải đúng là rất khó thực hiện và trong nhiều trường hợp chúng ta không thể xác định được lịch biểu tối ưu (Phụ thuộc vào 2 ma trận sẵn sàng là TBS và TYT). Sau đây chúng ta sẽ nghiên cứu hai phương án thiết kế giải bài toán

Phương án 1: Thuật tốn tham lam Phân tích:

+ Do Bác sĩ và Y tá trong 1 bênh viện là độc lập nên chúng ta cũng chỉ cần phân lịch L1 cho bác sĩ và phân lịch L2 cho Y tá sau đó kết hợp lại chúng ta sẽ được lịch chung tồn khoa. Hiển nhiên 2 bài tốn lập lịch L1 và L2 là tương đương. Như vậy chúng ta chỉ cần xét bài toán phân lịch cho các bác sĩ là đủ:

+ Kí hiệu L1=(L1(i,j)) là lịch trực cần tìm trong đó L1(i,j)=k (k=1..NB) được hiểu là bác sĩ k sẽ trực tại phòng khám i (i=1..NP) trong ca trực thứ i trong lịch (i=1..NT)

+ Kí hiệu BT=(BT(i,j)) là ma trận ràng buộc yêu cầu trong đó B(i,j)=0 được hiểu là Bác sĩ thứ i khơng sẵn sàng trực tại ca thứ j trong lịch, B(i,j)=1 được hiểu là Bác sĩ thứ i sẵn sàng nhận nhiệm vụ.

+ Kí hiệu BP=(BP(i,j)) là ma trận ràng buộc yêu cầu trong đó B(i,j)=0 được hiểu là Bác sĩ thứ i khơng đáp ứng chun mơn tại phịng khám thứ j, B(i,j)=1 được

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán xấp xỉ ứng dụng vào một số bài toán lớp NP (Trang 44)