Phần Hai Phần mềm quản lý thu chi phòng khám I Mô tả phần mềm quản lý thu chi phòng khám 1.1 Quyền truy cập Vì đây là phần mềm phục vụ cho việc quản lý thu chi phòng khám nênngười quản
Trang 1Mục lục
Phần I GiớI thiệu về ngôn ngữ Visual Basic
Lập trình vớI ngôn ngữ Visual Basic
Cấu trúc của một chương trình viết bằng ngôn ngữ Visual
Trang 2Phần I : Giới thiệu ngôn ngữ Visual Basic
Ngôn ngữ Visual Basic ngày càng được sử dụng rộng rãi trong các đề án,chương trình thực hiện trong và ngoài nước Visual Basic được xem là mộtcông cụ phát triển phần mềm thông dụng hiện nay
Sau phiên bản Visual Basic 1.0 là Visual Basic 2.0, đã từng chạy nhanh hơn,
dễ sử dụng hơn Đến Visual Basic 3.0 bổ sung thêm một số phương thức đơngiản, dễ điều khiển cơ sở dữ liệu hơn Visual Basic 4.0 bổ sung thêm hơn hỗtrợ phát triển 32 bit và bắt đầu tiến trình chuyển Visual Basic thành ngônngữ lập trình hướng đốI tượng Visual Basic 5.0 bổ sung khả năng tạo cácđiều khiển riêng Visual Basic 6.0 có thêm nhiều chức năng mạnh như cácứng dụng Internet/ Intranet .v.v…
Visual Basic gắn liền vớI khái niệm lập trình trực quan, nghĩa là khi thiết kếchương trình, bạn thấy ngay được kết quả qua từng thao tác Visual Basiccho phép chỉnh sửa một cách đơn giản, nhanh chóng giao diện của các đốItượng trong ứng dụng Đó là một thuận lợI cho ngườI lập trình
VớI Visual Basic, việc lập trình trong Windows đã trở nên hiệu quả hơn vàđơn giản hơn rất nhiều Một khả năng nữa của Visual Basic là khả năng kếthợp các thư viện liên kết động DLLl (Dynamic Link Library) DLL chính làphần mở rộng cho Visual Basic, tức là khi xây dựng một chương trình cómột số yêu cầu mà Visual Basic không đáp ứng đầy đủ ta có thể viết cácDLL để phụ thêm cho chương trình
1 Các công cụ để thiết kế giao diện:
Như chúng ta đã biết Visual Basic là ngôn ngữ lập trình có tính hướng đốItượng nên công việc thiết kế giao diện là rất đơn giản Chúng ta chỉ việc tiếnhành đưa các đốI tượng cần thiết trong thanh công cụ vào Form bằng cáchkích – kéo sau đó thay đổI các thuộc tính của chúng trên cửa sổ Propertiescho phù hợp vớI mục đích lập trình
1.1 Form:
Form là một biểu mẫu của mỗI ứng dụng trong Visual Basic Ta dùng Formnhằm mục đích định vị và sắp xếp các bộ phận trên nó khi thiết kế giao diệnvớI ngườI sử dụng Ta có thể xem Form như một bộ phận mà nó có thể chứacác bộ phận khác Các thành phần trong Form chính của ứng dụng tương tácvớI các Form khác và các bộ phận của chúng tạo nên giao tiếp cho ứngdụng Form chính là giao diện chính của ứng dụng, các Form khác có thểchứa các công cụ để nhập dữ liệu, xem xét v.v…
Trang 3Trong nhiều ứng dụng của Visual Basic, kích cỡ và vị trí của biểu mẫu lúcthiết kế là kích cỡ mà ngườI dùng sẽ gặp vào lúc sử dụng Điều này, cónghĩa là Visual Basic cho phép ta thay đổI kích cỡ và di chuyển vị trí Formđến bất cứ nơi nào trên màn hình khi chạy một đề án, bằng cách thay đổImột số thuộc tính của nó trên cửa sổ thuộc tính đốI tượng (PropertiesWindows ) Thực tế, một trong tính năng thiếu của Visual Basic là khả năngtiến hành các thay đổI động để đáp ứng sự kiện ngườI dùng
1.2 Toolbox (hộp công cụ):
Toolbox là hộp công cụ chưa các biểu tượng, biểu thị cho các điều khiển mà
ta có thể biểu mẫu là bảng chứa các đối tượng đã được định nghĩa sẵn củaVisual Basic Các đối tượng này được sử dụng trong Form để tạo thành giaodiện cho các chương trình ứng dụng của Visual Basic Ta có thể coi hộpcông cụ là một hộp “đồ nghề” của người thiết kế chương trình
1.3 Scrollbar (thanh cuốn):
Scrollbar là đối tượng cho phép nhận từ người dùng một giá trị tuỳ theo vị trícon chạy trên thanh cuốn thay cho các giá trị số
Thanh cuốn có một số thuộc tính quan trọng sau:
Thuộc tính Min: xác định cận dưới của thanh cuốn
Thuộc tính Max: xác định cận trên của thanh cuốn
Thuộc tính Value: xác định giá trị tạm thời của thanh cuốn
Trang 41 điều khiển khác bằng việc mô tả nội dung của điều khiển đó Một công cụphổ biến cho việc hiển thị thông tin trợ giúp,
1.7 Picturebox, Image ( hộp ảnh, điều khiển ảnh )
Đối tượng Image và Picturebox dùng để hiển thị ảnh Nó cho phép ngườithiết kế đưa hình ảnh từ các file ảnh ( bmp , gif …) lên Form
1.8 Textbox ( hộp văn bản )
Đối tượng Textbox dùng làm hộp nhập dữ liệu cho phép đưa các chuỗi ký tựvào Form Có thể dùng hộp văn bản để nhập dữ liệu hoặc hiển thị văn bản Tất cả các công cụ trong windows về chỉnh sửa văn bản như : cut , copy ,paste đều dùng trong hộp văn bản
1.9 Command Button ( nút lệnh )
Khi người dùng kích vào 1 nút lệnh trong biểu mẫu, một thao tác nào đó sẽđược thực hiện tuỳ theo thủ tục sự kiện được viết để đáp ứng sự kiện kíchchuột đó
1.10 Listbox ( hộp danh sách )
Đối tượng Listbox cho phép kết xuất các thông tin về nhiều chuỗi kí tự vàotrong nó thông qua phương thức additem Thường được dùng để hiển thịthông tin dưới dạng danh sách có liên quan với nhau Listbox không chophép người dùng nhập dữ liệu vào
1.11 Combo box ( hộp kết hợp )
Công cụ này cho phép người dùng gõ vào thông tin và hiển thị thông tin nó
có tác dụng như hộp danh sách và hộp văn bản Hộp kết hợp có 3 loại:
- Hộp kết hợp thả xuống ( drop-down combo ) : là 1 hộp văn bản cho phépngười dùng gõ vào, kế bên có 1 mũi tên mà khi nhấn vào nó sẽ xổ ra 1danh sách cho phép người sử dụng chọn lựa
- Hộp kết hợp đơn giản ( simple combo ) : luôn hiển thị danh sách và chophép người dùng gõ vào hộp văn bản
- Hộp danh sách thả xuống ( drop- down list box) : tương tự như hộp kếthợp thả xuống Danh sách sẽ không hiển thị sẵn nếu người dùng khôngnhấn vào mũi tên bên cạnh người sử dụng chỉ có thể chọn từ danh sách,
Trang 5gõ vào hộp văn bản thì danh sách sẽ cuộn đúng đến phần tử yêu cầu vàđánh dấu nó.
1.12 Ole ( đối tượng nhúng )
Ole là viết tắt của Object - Linking and Embedding Nó cho phép ta nhúngtoàn bộ ứng dụng và dữ liệu từ một ứng dụng khác vào chương trình Olekhông chỉ là 1 hệ thống cho phép nhúng hay kết nối dữ liệu từ 1 ứng dụngkhác mà vào thời gian chạy của chương trình ta sẽ có 1 bản sao của ứngdụng đó trong chương trình của ta Nó có khả năng automation cho phépđóng gói các đối tượng chức năng của ứng dụng để có thể sử dụng trong ứngdụng khác
1.13 Project explorer
Project explorer trong Visual Basic 6.0 giúp quản lý và định hướng các đề
án, biểu mẫu, các module,… Visual Basic cho phép tổ chức nhiều đề ántrong 1 nhóm gọi là project groups Ta có thể lưu tập hợp các đề án trongVisual Basic thành 1 tập tin nhóm đề án Các tập tin này có phần mở rộng
là Vbg
1.14 Propeties windows ( cửa sổ thuộc tính )
Là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể Các thuộctính này có thể khác nhau với từng đối tượng cụ thể Ta có thể đặt các thuộctính cho phù hợp với các chương trình ứng dụng
2 Lập trình trong Visual Basic
Ở phần một, chúng ta mới chỉ biết tuỳ biến biểu mẫu bằng cách bổ xung cácđiều khiển vào cho phù hợp với yêu cầu của chương trình Tuy nhiên, đó chỉ
có thể coi là bộ mặt của chương trình Muốn chương trình chạy được thìchúng ta phải thêm vào các thành phần khác như lệnh, dữ liệu và cách thứcthể hiển chúng trong chương trình
Khi lập trình trong Visual Basic thì phần lớn các mã được xử lý để đáp ứng
sự kiện Ví dụ như sự kiện kích chuột, bấm phím, load form…Các dòng mãthi hành trong một chương trình Visual Basic phải nằm trong các thủ tụchoặc hàm, các dòng lệnh nằm ngoài sẽ không làm việc Toàn bộ mã lệnhđược gõ vào trong cửa sổ code
Trang 62.1 Cửa sổ code
Cửa số code bao gồm các thành phần sau:
Thanh tách: cửa sổ code có một thanh tách (Split bar) nằm đầu thanh cuộn
dọc Mục đích của nó là: khi các dòng mã trở nên nhiều, ta có thể chia cửa
sổ code thành 2 phần
Hộp liệt kê Object: nằm ở đầu cửa sổ code bên trái, nó liệt kê tất cả các điều
khiển có trên biểu mẫu và thêm vào một đối tượng có tên là: General Khithả hộp liệt kê và nhắp vào một đối tượng nào đó thì sẽ đưa ta đến phần mãviết cho đối tượng đó
Hộp Procedure: hộp này cung cấp mọi sự kiện mà đối tượng đã được lựa
chọn trong hộp liệt kê object
- List properties/Methods: tính năng này đưa ra một danh sách các tínhchất và phương pháp của đối tượng ngay khi ta gõ dấu chấm
- Available constant : tính năng này cung cấp một danh sách các hằng sẵn
có
2.1 Biến
Trong Visual Basic, tên biến có thể dài tối đa 255 kí tự Kí tự đầu tiên phải
là một chữ cái và tên biến có thể là một tổ hợp chữ cái, chữ số và dấu gạchdưới Không được dùng các từ khoá trong Visual Basic ( như end, print .)làm tên biến Visual Basic không phân biệt chữ hoa, chữ thường
Cách khai báo biến: Dim <Tên biến> as <Kiểu biến>
Phạm vi sử dụng biến phụ thuộc vào cách khai báo biến và vị trí đặt dònglênh khai báo
Trang 72.2 Các kiểu dữ liệu:
- String: các biến string lưu giữ các kí tự Một chuỗi có thể có một hay
nhiều kí tự
- Integer: biến nguyên lưu giữ các giá trị số nguyên từ -32768 đến +32767.
Long Integer: biến số nguyên dài lưu giữ các số nguyên giữa:
-2147483648 đến +214783647
- Single precision: các số có phần thập phân gồm: Single precision có độ
chính xác đến 7 chữ số và double precision có độ chính xác lên đến 16 vịtrí
- Currency: Biến tiền tệ là một kiểu mới Kiểu này cho ta 15 chữ số trước
dấu thập phân và 4 chữ số sau dấu thập phân
- Date: kiểu dữ liệu ngày tháng
- Byte: kiểu byte có thể lưu giữ các số nguyên từ 0 đến 255.
- Boolean: đây là kiểu logic với các giá trị True/False.
- Variant: kiểu này được thiết kế để lưu mọi dữ liệu khác nhau của Visual
/ Chia, trả về kiểu số thực Y=4/2
2.3.2 Các toán tử so sánh:
> So sánh xem số thứ nhất có lớn hơn số thứ 2 không
< So sánh xem số thứ nhất có nhỏ hơn số thứ 2 không
= So sánh số thứ nhất có bằng số thứ 2 không
<> So sánh số thứ nhất có khác số thứ 2 không
Trang 8>= So sánh số thứ nhất có lớn hơn hay bằng số thứ 2 không
<= So sánh số thứ nhất có nhỏ hơn hay bằng số thứ 2 không
2.3.3 Các toán tử Boolean
And Chỉ nhận giá trị True nếu cả 2 số hạng đều là True
Or Chỉ nhận giá trị False nếu cả 2 số hạng đều là False
Not Phủ định giá trị của số hạng
2.4 Cấu trúc điều khiển
2.4.1 Các cấu trúc chọn:
2.4.1.1 Cấu trúc If….Then…
Dạng 1: If <Biểu thức logic> then < lệnh> End If
Khi gặp một điều lệnh If… then, Visual Basic sẽ kiểm tra <Biểu thứclogic>, nếu là True thì máy sẽ thực hiện <lệnh> nếu kêt quả là False thì máy
sẽ bỏ qua lệnh và thực hiện những lệnh sau End If
Dạng 2: If <Biểu thức logic> then <lệnh 1> else <lệnh 2>
Khi gặp lệnh này, nếu <Biểu thức logic> lấy giá trị True thì thực hiện < lệnh1> bỏ qua <lệnh 2>, còn nếu <Biểu thức logic> lấy giá trị False thì bỏ qua
<lệnh 1> và thực hiện <lệnh 2>
Nhiều khi bạn phải thực hiện nhiều lệnh ứng với điều kiện là True hay False
Để làm được điều đó, ta sử dụng dạng khác của cấu trúc If … then, có dạngtổng quát như sau:
If <Biểu thức điều kiện> then
Trang 9While <Biểu thức điều kiện>
<Các câu lệnh> được thực hiện lặp đi lặp lại nếu <Biểu thức điều kiện> vẫnnhận giá trị True Do đó, để thoát khỏi vòng lặp thì trong <Các câu lệnh phải
có lệnh thay đổi gia trị của <Biểu thức điều kiện> Trong cú pháp 1, thì
<Biều thức điều kiện> được xét trước khi thực hiện các câu lệnh, còn trong
cú pháp 2 thì các câu lệnh được thực hiện trước khi xét đến <Biểu thức điềukiện>
2.5.2 Cấu trúc For …Next
Cú pháp:
For <biến> = <giá trị đầu> to <giá trị cuối> [Step <bước nhẩy>]
<Các câu lệnh>
Next biến
Đây là lệnh lặp biết trước số lần lặp Khi gặp cấu trúc lệnh này, Visual Basic
sẽ gán giá trị <biến> cho <giá trị đầu>, thực hiện <Các câu lệnh>, rồi tăng
<biến> lên một giá trị tuỳ theo <bước nhẩy> Vòng lặp này sẽ kết thúc khi
<biến> có giá trị lớn hơn <giá trị cuối>
2.5.3 Cấu trúc For Each….Next
For Each <phần tử> In <nhóm>
<Khối lệnh>
Trang 10Next <phần tử>
Khi gặp cấu trúc này, Visual Basic sẽ lặp lại <Khối lệnh> cho từng phần tửcủa mảng, hay các điều khiển…Người ta thường dùng cấu trúc này để duyệtnhiều đối tượng điều khiển
Private/Public Sub <Tên thủ tục> (<Tham số1> as <Kiểu>, <Tham số 2>,
v.v…)
<Các câu lệnh>
End Sub
2.7 Hiển thị và nhận thông tin
Ta sử dụng các hộp đối thoại để hiển thị thông tin cho người dùng hoặc nhậnthông tin Trong Visual Basic có 4 hộp thoại, đó là:
2.7.1 Thông điệp: (MesageBox)
Là một hộp thoại đơn giản nhất, gồm 2 loại:
- Chỉ cung cấp thông tin
- Tương tác với người sử dụng
2.7.2 Hộp nhập (InputBox)
InputBox dùng để nhập thông tin từ người dùng, nó bao gồm một dòngthông báo, hộp soạn thảo và 2 nút “OK” và “Cancel” Nó có mặt hạn chế làchỉ cho người sử dụng nhập rất ít thông tin
Trang 112.7.3 Các hộp thoại thông dụng
Bởi hộp thoại này xuất hiện mọi nơi, nên thay vì phải viết chương trìnhnhiều lần, Windows chứa chúng trong cùng một DLL, Comdlg32.dll hayComdlg.ocx
Có 6 hộp thoại:
- mở tập tin (File Open)
- Lưu tập tin (File save)
- Chọn mầu (Color)
- Chọn phông (Font)
- Trợ giúp (Help)
- In ấn (Print)
2.7.4 Hộp thoại hiệu chỉnh (Custom Dialog)
Đây là loại hộp đối thoại do người lập trình định nghĩa để tương thích vớiyêu cầu nhận thông tin của người sử dụng Nó có ưu điểm là ta có thể thiết
kế theo ý thích Trở ngại của nó là khi thi hành từng biểu mẫu thì sẽ sử dụngtài nguyên hệ thống như bộ nhớ, thời gian CPU Nếu dùng nhiều hộp thoạihiệu chỉnh trong ứng dụng có thể mất tài nguyên hệ thống và dễ bị treo máy
Phần Hai Phần mềm quản lý thu chi phòng khám
I Mô tả phần mềm quản lý thu chi phòng khám
1.1 Quyền truy cập
Vì đây là phần mềm phục vụ cho việc quản lý thu chi phòng khám nênngười quản lý phòng khám có toàn quyền truy cập và sử dụng mọi chứcnăng của phần mềm (người quản lý có thể toàn quyền thực hiện các côngviệc như lưu trữ , chỉnh sửa , thêm bớt thông tin có liên quan đến phòngkhám v v )
1.2 Nhiệm vụ và mục đích của phần mềm quản lý thu chi phòng
khám
Phần mềm này có nhiệm vụ quản lý các khoản thu chi tài chính của phòngkhám Phần mềm này có nhiều chức năng nhằm phục vụ công tác quản lýcác khoản thu chi tài chính của người quản lý phòng khám như việc quản lýcác y tá,bác sỹ ,bệnh nhân.Quản lý tiền luơng và số ngày làm việc của y tá
và bác sỹ của phòng khám.quản lý các khoản chi phí mà bệnh nhân phải trả
Trang 12cho phòng khám về các dịch vụ mà họ dùng.Ngoài ra chương tình nay còn
có chức năng tìm kiếm thong tin về bênh nhân đã đến khám ở phòng khám
và các y tá ,bác sỹ làm việc ở phòng khám nhằm giúp cho nguời quản lý làmviẹc dễ dàng hơn
Phần mềm quản lý thu chi phòng khám giúp cho người quản lý phòng khámnắm vưng được só nhân viên trong phòng khám và những thông tin liênquan đến họ như tiền luơng, ngày công , địa chỉ,cấp bậc.Ngoài ra nó còngiúp cho người quản lý nắm thông tin về các bệnh nhân của phòng khámnhư tên tuổi, địa chỉ,số tiền họ trả cho phòng khám v v Nhằm giúp chongười quản lý dễ dàng quản lý phòng khám một cách có hệ thống
Phần mềm này còn cho phép cập nhật một cách thường xuyên các thông tin
về cá nhân khi có bệnh nhân mới đến khám hoặc một bác sỹ hay một y támới đến phòng khám làm việc
Ngoài ra phần mềm còn giúp cho người quản lý nắm vững khả năng tàichính của phòng khám như các khoản thu hoặc chi của phòng khám trongmột tháng ,một quý hay một năm
Phần mềm cũng giúp cho người quản lý tra cứu và tím kiếm thông tin vềbệnh nhân hoặc nhân viên của phòng khám một cách dẽ dàng hơn bằng việcchỉ nhớ một số chi tiết của họ như tên(Neus như nguời quản lý không nhớđầy đủ họ tên chỉ cần nhớ một số chữ cái), địa chỉ , điện thoại v v
Phần mềm còn giúp cho người quản lý hạn chế sai sót của mình khi nhậpcác thông tin về bệnh nhân và nhân viên của phòng khám
Trang 13Sơ đồ tổng thể về các chức năng của phần mềm
1.3.1 Chức năng quản lý nhânh viên
Vì phần mềm này mục đích là giúp cho ngươi quản lý phòng khám nắmvững về số nhân viên đang làm việc trong phòng khám Cho nên tất cả mọithông tin của họ như cáp bậc ,ngày lưong , địa chỉ v v Sẽ được nhập vào vàlưu trữ trong hệ thống.Ngoài ra người quản lý có thể sửa chữa các thông tin
về nhân viên (có thể tạo mới nếu phòng khám có thêm nhân viên đến làmviệc hoặc xoá nêu có một nhân viên nghỉ làm hoặc xin thôi việc v v )
Chức năng này cũng giúp cho người quản lý có thể nắm được nắm đượcthông tin về những y bác sỹ cộng tác với phòng khám(như số điện thoại ,nơicông tác ,cấp bậc v v ) Đồng thời nguời quản lý cũng có thê chỉnh sửađược những thông tin này
QL lịch làm việc
Trang 14Phần này giúp cho người quản lý làm việc trong trường hợp mà bệnh nhân
có người đại diện Ở đây thường thi người quản lý thương dùng chức năngnaỳ trong trường hợp mà khách hàng là cả một công ty hay là một tập thểđến khám sức khoẻ Để cho dễ dàng quản lý và để tránh cho khách hàngkhoỉ phiền hà và phải làm nhiều thủ tục thì người quản lý sẽ ký hợp đồngvới một người đại diện và tất cả mọi thông tin về hợp đồng sẽ đươc nhập vàlưu trữ trong hệ thống ( như tên người đại diện,số tiền của hợp đồng,số tiền
mà người đại diện đã thanh toan và còn nợ lại bao nhiêu,tên tuổi người đạidiện ,nơi công tác ,cấp bậc v v )
Đồng thời nó cũng giúp cho ngươi quản lý có thể bỏ đi nhưng thông tinkhách hàng không còn quan hệ với phòng khám hoặc ta cũng có thể xoá đinhưng thông tin không chính xác về khách hàng mà ta đã nhập vaò trước đó
1.3.3 Chức năng quản lý bảng giá dịch vụ
Như chúng ta đã biết trong phòng khám có rất nhiều các loại dịch vụ và xét nghiệm Vì thế chức năng này của chương trình sẽ giúp cho người quản lý nắm vững được các dịch vụ mà phòng khám đang có (bởi mỗi loaị dịch vụ hay xét nghiêm khi mà người quản l ý lưu trữ thì chương trình bao giờ cũng bắt buộc lưu trũ bằng ba chữ cái đầu tiên đặc trưng cho dịch vụ đó nếu như không tuân thủ thì chuơng trinh sẽ không cho pép ngưòi sử dụng làm tiếp ), đồng thời nó cũng giúp cho người quản lý nắm được giá tiền mỗi dịch vụ màbệnh nhân và khách hàng phải thanh toán khi lám các xét nghiệm hoặc các dịch vụ tại phòng khám ( dịch vu siêu âm,xét nghiệm máu v v).Ngoài ra trong chức năng này người quản lý cũng có thể sửa chữa các dịch vụ như thêm hoặc bớt các dịch vụ ,thay đổi số tiền mà khách hàng phải thanh toán cho mỗi loại dịch vụ v v
Như chúng ta đã biết trong phòng khám có rất nhiều các loại dịch vụ và xétnghiệm
1.3.4 Chức năng quản lý thu
Trang 15Chức năng này của chương trình sẽ giúp cho người quản lý nắm vững đượccác khoản thu của phòng khám trong ngày như số tiền mà bệnh nhân thanhtoán các khoản phí cho phòng khám ,số tiền bán thuốc cho bệnh nhân v…v… Đồng thời nó cũng giúp cho người quản lý có thể kiểm tra xem cáckhoản thu vào có chính xác hay không Để từ đó xuất ra hoá đơn hoặc giấybiên nhận
1.3.5 Chức năng quản lý chi
Công việc quản lý các khoản tiền phải thanh toán cho các khách hàng ,chocác công ty kinh doanh dược phẩm là một công việc rât kho khăn cho ngườiquản lý Vì thế chức năng này sẽ giúp cho người quản lý nắm được cáckhoản tiền phai thanh toán trong ngày ,trong một tháng Đồng thời nó cũnggiúp cho người quản lý hạn chế bớt sai xót trong một số khâu như kiểm tra
số tiền mình phải thanh toán đã khớp chưa(số tiền phải thanh toán để muamột lô thuốc v v ) Rồi sau đó mới xuất hoá đơn hoặc giấy biên nhận
1.3.6 Chức năng quản lý lịch làm việc
Như chúng ta đã biết trong một phòng khám có rất nhiều nhân viên bao gồmcác bác sỹ , y tá , hộ lý thuộc về biên chế của phòng khám và ngoài ra còn cócác bác sỹ mà phòng khám mời để cộng tác với phòng khám Vì thế việcquản lý giờ giấc ,lịch làm việc sẽ rất là khó khăn đối với người quản lý Chonên trong phần mềm này có thêm phần chức năng quản lý lịch làm việcnhằm giúp cho việc quản lý trở nên dễ dàng hơn.Trong phần này ngươi quản
lý có thể biết vào một giờ naỳ trong ngày có bao nhiêu y,bác sỹ làm việc vàđồng thời người quản lý cũng có thể chỉnh sửa giờ giấc làm việc của họ nếu
có việc đột xuất gì xẩy ra
1.3.7 Chức năng báo cáo
Mọi thông tin chi tiết về tất cả các hoạt động của nghiẹp vụ quản lý thu chiphòng khám sẽ được liệt kê một cách đầy đủ và chính xác để người quản lý
có thể nắm rõ tình hình và báo cáo cho cấp trên của mình Các thông tin màngười quản lý có thể liệt kê như:
Có bao nhiêu bệnh nhân đến khám trong tháng
Số tiền lương phải trả cho các nhân viên trong phòng khám
Trang 16 Số tiền mà phòng khám thu được trong một tháng
v v
Dựa trên những thông tin đó mà người quản lý có thể thiết lập một báo cáođầy đủ về tình hình của phòng khám
1.3.8 Chức năng quản lý bệnh nhân
Đây là một phần rất quan trọng của nghiệp vụ quản lý thu chi phòngkhám.Trong phần này người quản lý sẽ biết được tại thời điểm hiện tạiphòng khám có bao nhiêu bệnh nhân ,các thông tin cá nhân về họ(Tên tuổi,địa chỉ,số điẹm thoại v v) ,các dịch vụ và xét nhgiệm mà họ đang dùng và
do bác sỹ nào làm Đồng thời người quản lý cũng có thể thêm bớt hoặcchỉnh sửa các thong tin nếu như có sai sót
1.3.9 Chức năng tìm kiếm
Tìm kiếm theo tên : Như đã nói ở trên ,trong một phòng khám có rấtnhiều bệnh nhân và nhân viên vì thế để nhớ hết được họ là một việc rấtkhó khăn Nen ở trong phần chức năng này của chương trình sẽ giúpngười quản lý có thể tìm kiếm một nhân viên hoặc một bệnh nhân củaphòng khám một cách dễ dàng Ngưòi quản lý chỉ cần nhớ một số chữ cáitrong tên của bệnh nhân hoặc của nhân viên là phần chức năng nay sẽgiúp họ tìm kiếm những ngưòi có tên chứa đựng các chư cái đó
Tìm kiếm theo số điên thoại: Tương tự như phần tìm kiếm theo tên
Tìm kiếm theo mã vùng: Tương tự như phần tìm kiếm theo tên
Trang 175 Dienthoai Text §iªn tho¹i
B¶ng 2:TblPhiÕu_Chi
B¶ng 3 :TblPhiÕu_Thu
B¶ng 4:TblChuyªn_khoa
B¶ng 5:Tbl§¹i_diÖn
B¶ng 6 : TblB¶ng_gi¸_dÞch vô
Trang 18Bảng 8 : TblDịch_vụ
vụBảng 9 : TblHợp_đồng
Bảng 10: TblLịch_Khám
Trang 191 MaNhanVien Text M· nh©n viªn
B¶ng 11 : TblNh©n_viªn
vô
Trang 20Sơ đồ mối quan hệ trong cơ sở dữ liệu
Trang 21Phần 3 : Mã nguồn
Form Khởi tạo
1 Form Frm_Nhanvien
1.1 Mã nguồn thủ tục cmddelete_Click()
Trang 22Private Sub cmddelete_Click()
Dim ans As Byte
ans = MsgBox("B¹n cã muèn xo¸ th«ng tin cña nh©n viªn cã m· lµ " &MaNV & " kh«ng ?", vbQuestion + vbYesNo, "Th«ng tin ®ang xo¸ !")
If ans = vbNo Then
Exit Sub
End If
rsNhanvien.MoveFirst
Do While Not rsNhanvien.EOF
If rsNhanvien!manhanvien = txtMa.Text Then
Trang 231.2 Mã nguồn thủ tục CmdEdit_Click()
Private Sub CmdEdit_Click()
If cmdedit.Caption = "Söa" Then
For Each ctl In Controls
If TypeOf ctl Is TextBox Then
Trang 24Saved = True
cmdsave.Enabled = False
End If
End Sub
1.3 Mã nguồn Treeview(Cây thư mục)
Private Sub TreeView1_NodeClick(ByVal Node As ComctlLib.Node)Dim nodeName As String
Do Until rsNhanvien.EOF = True
If rsNhanvien!manhanvien = nodeName Then
Private Sub txtDiachi_KeyPress(Keyascii As Integer)
If Keyascii = 32 Then Exit Sub
If (Keyascii >= 33 And Keyascii < 48) Or _
(Keyascii > 57 And Keyascii <= 64) Or _
(Keyascii >= 91 And Keyascii <= 96) Or _
(Keyascii >= 123 And Keyascii <= 126) Then
Keyascii = 0
End If
End Sub
Trang 251.5 Mã nguồn thủ tục cmdnew_Click()
Private Sub cmdnew_Click()
If cmdnew.Caption = "T¹o míi" Then
Trang 27rsNhanvien!ngayluong = txtNgayluong.Text
End If
rsNhanvien.Update
TreeView1.Nodes.Add "parent", tvwChild, , txtMa.Text, "co"
If TreeView1.Nodes("parent").Expanded = False Then
ElseIf logic = False Then
sql = "update tblnhanvien set [tennhanvien] =" & _
"'" & txtHoten.Text & "',[diachi]=" & _
"'" & txtDiachi.Text & "', [capbac]=" & _
"'" & txtCapbac.Text & "',[chuyenkhoa]=" & _
"'" & txtChuyenkhoa.Text & "',[dtnr]=" & _
"'" & txtDTnharieng.Text & "',[dtcq]=" & _
"'" & txtDTcoquan.Text & "',[didong]=" & _
"'" & txtDTdidong.Text & "',[ngayluong]=" & _
"'" & txtNgayluong.Text & "',[donvi]=" & _
"'" & txtDonvi.Text & "'" & _
" where manhanvien = '" & txtMa.Text & "'"
Trang 28'Load skin cho form
Dim SkinPath As String
'Nap co so du lieu len form
Set cnn1 = New ADODB.Connection
cnn1.Provider = "Microsoft.Jet.OLEDB.3.51"
cnn1.Open App.Path & "\qltc.mdb"
Set rsNhanvien = New ADODB.Recordset
rsNhanvien.Open "tblNhanvien", cnn1, adOpenKeyset, adLockOptimistic,adCmdTable
Trang 29
'Tao cac Node len treeview theo co so du lieu
Call Create_Node
'Khoi tao Panel
Dim mypanel As Panel
Set mypanel = StatusBar1.Panels.Add(3)
StatusBar1.Panels(3).Text = "Thanh tr¹ng th¸i"
Do While Not rsNhanvien.EOF
If rsNhanvien!manhanvien = CallMaNV Then
Trang 30End If
DisableText
End Sub
1.8 Priviate sub Dis
Private Sub Dis()
Trang 31txtNgayluong = rsNhanvien!ngayluong
End If
End Sub
1.9 Mã nguồn thủ tục Create_Node
Private Sub Create_Node()
Dim ChildID As Integer
Do Until rsNhanvien.EOF = True
TreeView1.Nodes.Add "parent", tvwChild, "C" & ChildID & "",rsNhanvien!manhanvien, "co"
Trang 32If rsNhanvien.EOF Then rsNhanvien.MoveLast
Trang 33Private Sub Cmbmadichvu_click()
rst2.MoveFirst
While Not rst2.EOF
If rst2!madv = Me.cmbmadichvu.Text Then
While Not rst1.EOF
If rst1!mabenhnhan = Me.txtmabenhnhan.Text And rst1!madichvu =Me.cmbmadichvu.Text Then
While Not rst3.EOF
If rst3!manhanvien = Me.cmbmanhanvien.Text Then
If IsNull(rst3!tennhanvien) Then
Me.txttennhanvien = ""
Else
Me.txttennhanvien = rst3!tennhanvien
Trang 34Private Sub CmdAdd_Click()
If CmdAdd.Caption = "T¹o míi" Then
Trang 35While Not rst4.EOF
If rst4!ngaylamviec = Date Then
Trang 36CmdAdd.Caption = "T¹o míi"
Skin.LoadSkin App.Path & "\_temp.skn"
Trang 37MsgBox "chua chon nhan vien can xoa"
Me.cmbmadichvu.SetFocus
Exit Sub
Else
rst1.MoveFirst
While Not rst1.EOF
If rst1!mabenhnhan = Me.txtmabenhnhan And rst1!manhanvien =Me.cmbmanhanvien.Text And rst1!madichvu = Me.cmbmadichvu.TextThen
Trang 38Private Sub cmdin_Click()
" WHERE tblDV.Mabenhnhan ='" & Me.txtmabenhnhan.Text & "'" Set rst10 = New ADODB.Recordset
CmdAdd.Caption = "T¹o míi"
Skin.LoadSkin App.Path & "\_temp.skn"
Trang 39MsgBox "cha nhËp dÞch vô"
Trang 40Me.CmdAdd.Caption = "T¹o míi"
Skin.LoadSkin App.Path & "\_temp.skn"
Skin.ApplySkin Me.CmdAdd.hwnd
'End If
End If
ElseIf flag = False Then
sql = "update tblbenhnhan set [hoten] ='" & Me.txthoten.Text & "'," &
"[tuoi] ='" & Me.txttuoi.Text & "'," & "[diachi] ='" & Me.txtdiachi.Text &
"'," & "[dienthoai] ='" & Me.txtdienthoai.Text & "'" & _
" where tblbenhnhan.mabenhnhan ='" & Me.txtmabenhnhan.Text &
Private Sub cmdnewdv_Click()
If Me.cmdnewdv.Caption = "Thªm dÞch vô" Then
flag1 = True