Vấn đề kỹ thuật

MỘT SỐ VẤN ĐỀ KỸ THUẬT PHẦN MỀM

Phần mềm quản lý bệnh viện dùng để quản lý số liệu bệnh viện đồng thời hỗ trợ bác sĩ trong quá trình làm hồ sơ bệnh án. Do đó, phần mềm không chỉ là công cụ thu thập và tính toán dữ liệu mà còn phải có các tính năng hỗ trợ cho công việc hàng ngày của người dùng.

  1. Tính năng phi chức năng

Tóm tắt


  • Cần xem xét giá trị của phần mềm không chỉ ớ chức năng mà còn ở tính năng.

  • Chức năng đáp ứng đầy đủ yêu cầu quản lý số liệu.

  • Tính năng giúp người dùng sự tiện dụng, tiết kiệm thời gian nhập liệu.

Ngoài yếu tố thành phần chức năng, hệ thống phần mềm còn khác biệt nhau về tính năng.

Tương tự với việc mua một chiếc xe hơi, các chiếc xe đều trông giống nhau với 4 bánh, vô lăng, ghế ngồi… nhưng thật sự giá trị giữa các chiếc xe là hoàn toàn khác nhau do những thuộc tính bên trong của nó. Những thuộc tính này quan trọng tùy thuộc trình độ chuyên môn và kinh nghiệm xử lý vấn đề của nhà cung cấp. Một trong những vấn đề mà các phần mềm gặp phải là tính năng trừ ảo số lượng thuốc tồn kho, nguy cơ trì trệ hệ thống và sập mạng khi dữ liệu tăng dần, hoặc các yêu cầu về kết nối nhiều đơn vị ở các địa phương khác nhau.

Chúng ta đã nói đến các chức năng của phần mềm quản lý bệnh viện. Các chức năng phần mềm này phải đáp ứng yêu cầu công việc hàng ngày của người dùng. Phần mềm cũng có các tính năng không mang chức năng nào nhưng rất quan trọng, gọi là tính năng phi chức năng. Các tính năng phi chức năng này được người dùng cảm nhận: Phần mềm dễ dùng không? Chạy “mượt” không? Tương thích với nhiều hệ điều hành không? Có bị no dữ liệu sau một thời gian vận hành không? Bố trí giao diện có hợp lý không? Tìm kiếm một chi tiết trong dữ liệu có dễ không...

Những tính năng phi chức năng này quan trọng đối với người dùng khi sử dụng. Nếu thiết kế dở, thiếu các tính năng này thì phần mềm mang lại bực bội cho người sử dụng.

Những phần mềm “mới”, do các nhà cung cấp non kém thường ít tính năng phi chức năng.

Những phần mềm đã “từng trải” ở các bệnh viện lớn và lâu đời sẽ có nhiều tính năng phi chức năng vì trong quá trình triển khai, vận hành thực tế, người dùng sẽ góp ý và nhà cung cấp sẽ thay đổi cách lập trình để phần mềm chạy “mượt” hơn.

Những tính năng phi chức năng quan trọng:

  • Giao diện thân thiện, dễ sử dụng.

  • Màu sắc hợp lý, có quy ước màu sắc theo chuẩn.

  • Trình bày chức năng hợp lý, liên hoàn, thuận tiện cho người dùng.

  • Co giãn trên nhiều độ phân giải: màn hình máy tính PC, Laptop, Tablet, Smart phone.

  • Xử lý nhanh.

  • Có cảnh báo khi sử dụng sai chức năng.

  • Ít bị lỗi.

  • Nhiều tiện ích hỗ trợ nhập liệu.

  1. Ngăn chặn nhập liệu sai

  • Một entry được nhập liệu nhiều lần do đè bàn phím.

  • Một user mở nhiều cửa sổ nhập liệu.

  • User không có phận sự lại đi vào nhập liệu tại trang của user khác.

  • User xóa, sửa thông tin sau khi đã in.

  • Xuất báo cáo, thống kê trong giờ làm việc.

  1. Ký tự lạ

  • User nhập các ký tự lạ hoặc ký tự không cho phép vì có thể ảnh hưởng đến code.

  • Import một danh sách có sẵn chứa ký tự lạ vào hệ thống. Khi hệ thống load trúng ký tự lạ thì làm treo hệ thống. Phải xử lý làm sạch dữ liệu trước khi đưa vào hệ thống.

  1. Cảnh báo

Nhiều cảnh báo cần được đưa ra trong quá trình làm việc. Việc cảnh báo từ phần mềm sẽ giúp cho người sử dụng thực hiện đúng thao tác, đúng quy trình, tránh sai sót khi nhập liệu.

  • Tiếp nhận:

    • Cảnh báo trùng mã, trùng thẻ,

    • Cảnh báo bệnh nhân khám nhiều lần,

    • Cảnh báo một bệnh nhân có nhiều mã bệnh nhân…

  • Viện phí: cảnh báo bệnh nhân còn nợ viện phí, thừa viện phí.

  • Khám bệnh:

    • Cảnh báo bệnh nhân có dị ứng, tương tác thuốc…

    • Cảnh báo trùng thuốc.

    • Cảnh báo kê đơn quá mức cần thiết.

  • Dược:

    • Cảnh báo số lượng thuốc tồn, thuốc cận date, lệch số liệu thuốc...

  1. Validate

Tóm tắt


  • Validate là một tính năng tự kiểm tra dữ liệu, giúp dữ liệu nhập vào hệ thống được chính xác.

  • Chữ tiếng Việt cũng là một vấn đề cần xử lý kỹ thuật.

Phần mềm được soạn thảo để công việc chạy đúng quy trình.

Chưa đủ. Phần mềm phải xử lý cả các trường hợp người sử dụng sai quy trình.

Bạn hình dung những chiếc xe đang chạy trên đường, đúng luật giao thông. Xe chạy đúng chiều, đúng làn đường, dừng lại khi đèn đỏ và chạy khi đèn xanh... một cách có trật tự. Tình trạng lưu thông sẽ ổn định khi tất cả các xe đều chạy đúng luật giao thông. Bỗng dưng có một xe chạy ngược chiều, xe khác vượt đèn đỏ, xe khác nữa lấn làn đường… Ngay sau đó xảy ra các vụ va chạm và dẫn đến ùn ứ giao thông. Để xử lý, người ta phải làm thêm các hàng rào cứng giữa các làn đường để chống lấn đường. Làm thêm một thanh chắn ngay tại đèn đỏ để chống xe vượt đèn đỏ, ghi camera để phạt người vi phạm… nhằm ép buộc người tham gia lưu thông phải đi đúng luật, không thể tùy tiện.

Phần mềm cũng vậy. Các trình tự nhập liệu và xử lý số liệu được sắp xếp theo một quy trình định sẵn. Nếu người dùng nhập liệu theo đúng kịch bản thì hệ thống sẽ cho ra kết quả theo ý muốn. Tuy nhiên, trong thực tế không hề xảy ra như vậy. Hàng loạt câu chuyện “bất quy tắc” có thể xảy ra.

Ví dụ:

  • Khi nhập tên bệnh nhân, người ta không nhập bằng chữ một cách đúng đắn như vầy “Nguyễn Văn Mười Hai” mà nhập “Nguyễn Văn 12” hay “Nguyễn Văn 10 Hai” hay “Nguyễn Văn Mười 2”... Với chỉ một tên bệnh nhân mà người dùng nhập liệu theo nhiều kiểu khác nhau thì máy tính sẽ hiểu đó là những bệnh nhân khác nhau. Từ đó khó có thể tìm đúng hồ sơ bệnh nhân cho người có tên “Nguyễn Văn Mười Hai”. Để xử lý tình trạng nhập liệu bất quy tắc đó, lập trình viên phải lập trình thêm những đoạn code để ngăn cản người ta nhập liệu một cách tự do.

  • Hoặc năm sinh của em bé được nhập là ngày 01 tháng 01 năm 2030. Tất nhiên năm sinh của em bé không thể là con số lớn hơn thời điểm hiện tại. Lập trình viên sẽ tạo code so sánh và cảnh báo về việc nhập liệu bậy này.

  • Hoặc một bệnh nhân là nam giới nhưng kết quả siêu âm ghi “tử cung bình thường” do bác sĩ sử dụng mẫu mô tả sẵn của nữ cho bệnh nhân nam này.

Tất cả các tình huống đó phải được kiểm soát một cách chặt chẽ, từ đó việc nhập liệu mới “đàng hoàng” và cơ sở dữ liệu không bị nhiễu loạn.

Tình trạng dữ liệu rác sẽ ảnh hưởng lớn đến thống kê số liệu về sau.

Lỗi này thường gặp ở các lập trình viên non tay nghề và nhà cung cấp thiếu kinh nghiệm.

Trong thực tế, nhà cung cấp không thể phát hiện được hết các tình huống bất ngờ mà người dùng gây ra để validate. Việc kiểm lỗi dù rất chi tiết cũng bỏ sót tình huống. Chỉ khi đưa vào ứng dụng thực tế, lỗi mới phát sinh và được thông báo về cho nhà cung cấp thì các lỗi này mới được ngăn chặn.

  1. Vấn đề chữ tiếng Việt

Chữ tiếng Việt phức tạp hơn chữ tiếng Anh ở chỗ có dấu. Vì có dấu nên xảy ra các tình huống dị biệt do cách đặt vị trí của dấu trong chữ và vì cách chọn bộ chữ Unicode dựng sẵn hay tổ hợp.

Ví dụ: Chữ Thúy có thể bị gõ thành Thuý, với dấu sắc đặt ở chữ y. Việc dùng bộ tìm kiếm (search) chính xác khi gõ “Thúy” sẽ không thể tìm ra dữ liệu có chữ “Thuý”. Trong thực tế không thể bắt ép người nhập liệu hoàn toàn đúng chuẩn. Nếu dùng kỹ thuật search loại bỏ dấu tiếng Việt thì sẽ phải chấp nhận kết quả không chính xác. Khi gõ tìm “Thúy” sẽ cho các kết quả Thuy, Thùy, Thuỳ, Thủy, Thuỷ, Thúy, Thuý, Thụy, Thuỵ…

  1. Source code

Tóm tắt


  • Bệnh viện chỉ nên quan tâm đến tính năng phần mềm chứ đừng quan tâm đến mã nguồn của phần mềm.

  • Việc mua lại mã nguồn phần mềm không mang lại ích lợi mà thậm chí còn có hại cho bệnh viện.

  • Nhân viên IT của bệnh viện không nên can thiệp vào mã nguồn.

Source code hay còn gọi mà mã nguồn, là kịch bản để tạo nên phần mềm xử lý quy trình và số liệu. Source code được “viết” theo nhiều ngôn ngữ khác nhau, công cụ lập trình khác nhau, quy trình xử lý khác nhau.

Source code có thể hiện diện dưới dạng mở hoặc đóng gói.

  • Source code web thường được lập trình dưới dạng mở để thuận tiện cho việc sửa code, dễ thay đổi tính năng.

  • Source code được biên dịch thành file cài đặt dưới dạng đóng gói thì không sửa chữa được. Nhà lập trình sẽ thay đổi code từ gốc và đóng gói mới, sau đó update cho khách hàng. Các đĩa CD chứa phần mềm install dưới dạng exe là phần mềm đã được đóng gói. Phần mềm dành cho máy Mac của hãng Apple thường cung cấp dưới dạng file dmg. Các chức năng của phần mềm cũng có thể được đóng gói dưới dạng thư viện dll, API...

Người ta sẽ khuyên bạn nên thương lượng với nhà cung cấp để trao cho bạn source code để bạn có thể sửa lỗi hoặc mở rộng tính năng cho phần mềm khi cần thiết mà không phụ thuộc vào nhà cung cấp. Tuy nhiên, điều đó là lo quá xa bởi vì dù bạn có nắm được source code thì bạn cũng chẳng thể thuê một lập trình viên khác sửa code được. Nếu lập trình viên đó có thể sửa code được thì tốt nhất bạn thuê LTV đó viết mới phần mềm tốt hơn.

Một số bệnh viện có nhân viên IT giỏi, có khả năng đọc code và lập trình. Các nhân viên này thường “ngứa nghề”, tham gia sửa trực tiếp trên mã nguồn. Đây là điều cực kỳ tệ hại cho cả đôi bên. Khi xảy ra sự cố phần mềm thì công ty phần mềm sẽ quy trách nhiệm cho bệnh viện vì đã can thiệp vào mã nguồn gây hại cho hệ thống.

Khi ký hợp đồng “mua phần mềm” thì hợp đồng sẽ ghi là mua/bán quyền sử dụng phần mềm vì thực chất là bệnh viện chỉ mua tính năng sử dụng của phần mềm chứ không mua mã nguồn phần mềm.

  1. Vấn đề lưu trữ thông tin

Dữ liệu bệnh án cần được bảo đảm không bị xóa mất. Có nhiều nguyên nhân có thể gây ra tình trạng mất dữ liệu làm ảnh hưởng đến công tác lưu trữ, báo cáo, thống kê và bảo toàn dữ liệu: sự cố thiên tai như sét đánh, hacker, ramsomware…

Các giải pháp bảo đảm dữ liệu bao gốm:

  • Sao chép liên tục: dữ liệu phát sinh hàng ngày phải được liên tục nhân bản sang một máy tính thứ hai. Khi sự cố về máy chủ xảy ra, không thể tiếp tục sử dụng code và dữ liệu tại máy chủ chính thì hệ thống máy chủ thứ hai sẽ được kích hoạt để thay thế.

  • Sao chép định kỳ: dữ liệu phát sinh dần qua thời gian. Các dữ liệu này cần được coppy, lưu trữ vào các kho lưu trữ phục vụ cho mục đích thống kê với thời gian dài.

Vật liệu và vị trí lưu trữ cũng đóng một vai trò quan trọng:

  • Sao chép vào ổ cứng, băng từ, thiết bị lưu trữ khác: Dữ liệu bệnh viện nhất là file hình ảnh thường tăng rất nhanh sau một thời gian. Người ta phải tính đến việc dựng một máy chủ có dung lượng lớn để lưu trữ các hình ành DICOM gọi là hệ thống PACS. Các tập tinh dữ liệu này cũng có thể được lưu trữ vào hệ thống đĩa CD hay băng từ, tuy nhiên việc lưu trữ này có nhiều hạn chế. Đĩa và băng từ có thể bị hư hỏng tự nhiên sau một thời gian.

  • Sao chép vào một vị trí địa lý khác: khi xảy ra các tai họa như động đất, cháy nổ thì hệ thống máy tính có thể bị hủy hoại hoàn toàn. Do đó, việc lưu trữ dữ liệu ở một vị trí địa lý khác biệt là cần thiết.

Tuy nhiên, các vấn đề trên đây không còn quan trọng nữa khi ứng dụng điện toán đám mây. Một hệ thống máy tính khổng lồ liên kết nhau để bảo đảm cho vấn đề lưu trữ kể trên.

  1. Vấn đề bảo mật

Vấn đề bảo mật cho hệ thống phần mềm cần bảo đảm 2 yêu cầu lớn:

  • Không để cho hacker đánh sập hệ thống.

  • Không để cho hacker lấy trộm và sử dụng thông tin trong dữ liệu bệnh viện.

Chống đánh sập hệ thống:

  • Phương pháp DDoS: dùng để làm quá tải hệ thống, ngăn cản hoạt động bình thường của hệ thống. Phương pháp này không mang lại lợi ích cho hacker mà chỉ nhằm gây rối, cản trở công việc. Các biện pháp phòng chống nhằm mục đích chống việc truy cập ồ ạt. Muốn truy cập phải qua các bước kiểm tra đòi hỏi thao tác bằng tay, bao gồm:

    • Dùng Capcha để xác định việc truy cập.

    • Dùng mã số cấp qua điện thoại hay email.

    • Sử dụng username bằng email.

    • Sử dụng dấu vân tay, token… Cách này gây tốn kém vì phải mua thiết bị.

    • Tham chiếu mã số cấp quyền.

  • Dùng kỹ thuật để có quyền quản trị mạng: Hacker dùng nhiều biện pháp kỹ thuật để đánh cắp mật khẩu xâm nhập máy chủ, xâm nhập DB. Sau khi chiếm được quyền quản trị mạng, hacker có thể sửa code, sửa dữ liệu, đánh cắp dữ liệu… Phương pháp này giúp hacker lấy được thông tin của hệ thống. Các biện pháp phòng chống bao gồm:

    • Sử dụng password 2 lớp.

    • Sử dụng password do 2 người giữ.

    • Sử dụng password kèm token hoặc vật chứa thông tin.

Chống trộm dữ liệu:

  • Mã hóa dữ liệu: mã số bệnh nhân hoặc họ và tên bệnh nhân sẽ phải được mã hóa thành một chuỗi ký tự vô nghĩa, không đọc hiểu được. Chuỗi ký tự này sẽ được phiên dịch thành mã chuỗi ký tự có ý nghĩa khi được sử dụng hợp lệ.

  • Cắt rời dữ liệu: bảng dữ liệu về thông tin hành chính và thông tin bệnh án được lưu trong các bảng dữ liệu khác nhau. Muốn xem bệnh án cụ thể của một bệnh nhân nào đó thì hệ thống phải ráp nối 2 thành phần đó với nhau thông qua mã số bảo mật. Bằng cách này, nếu hacker có lấy trộm được dữ liệu bệnh nhân thì cũng không thể xác định được hồ sơ nào là của ai.

  1. Vấn đề nhập liệu của bác sĩ

Các bác sĩ phải sử dụng máy tính để nhập liệu khi kê đơn, xử trí cho bệnh nhân. Nhiều bác sĩ không có khả năng nhập liệu, lười tìm hiểu phần mềm, ngại khó… đã giao cho y tá trợ giúp nhập liệu. Điều này dẫn đến một số vấn đề mới phát sinh:

  • Y tá không hiểu ý bác sĩ, nhập liệu sai.

  • Y tá cố tình nhập liệu sai so với đơn thuốc của bác sĩ để gian lận thuốc men.

  • Bác sĩ không xem được toàn bộ thông tin về bệnh nhân trong hệ thống phần mềm.

  • ...

Do đó, phần mềm cần hỗ trợ cho bác sĩ các tiện ích để bác sĩ có thể tự tay nhập liệu, vui với công việc gõ máy tính và tiết kiệm thời gian nhập liệu để có thời gian tiếp xúc với bệnh nhân.

Theo biểu đồ trên, thời gian bác sĩ dành cho bệnh nhân chỉ còn 32%. Do đó, cần có giải pháp giúp cho bác sĩ không mất nhiều thời gian cho máy tính.

Các tiện ích hỗ trợ nhập liệu dành cho bác sĩ bao gồm:

  • Sổ tay gõ tắt. Bác sĩ có thể tự tay mình soạn thảo các kiểu gõ tắt thường dùng để sử dụng cho việc nhập liệu nhanh.

  • Soạn thảo văn bản mẫu: các bản mô tả siêu âm, x quang, tường trình phẫu thuật… là những mẫu văn bản dài, có thể được tái sử dụng trong các trường hợp thường gặp. Bác sĩ có thể soạn thảo sẵn cho mình các mẫu văn bản để sử dụng trong các tình huống thích hợp. Khi cần sửa chữa văn bản thì bác sĩ sẽ chỉ chỉnh sửa một số chi tiết bất thườg mà không cần phải nhập liệu lại toàn bộ văn bản.

  • Đơn thuốc mẫu: tương tự với văn bản mẫu, bác sĩ có thể soạn thảo các đơn thuốc mẫu để dùng nhanh. Các bệnh mãn tính như tăng huyết áp, tiểu đường thuường sử dụng lại đơn thuốc cũ, do đó bác sĩ dùng đơn thuốc cũ trên phần mềm để nhập liệu nhanh cho bệnh nhân.

  • Template: Tương tự với đơn thuốc mẫu, bác sĩ có thể soạn thảo các chỉ định mẫu, gói dịch vụ mẫu… để sử dụng nhanh.

  • Autocomplete: khi nhập liệu tên thuốc hoặc tên chẩn đoán, các tên thuốc và chẩn đoán này đã có sẵn trong các list thuốc/chẩn đoán trong phần mềm. Bác sĩ sẽ chỉ gõ vài ký tự đầu tiên thì phần mềm lập tức gợi ý và giúp hoàn tất công việc nhập liệu còn lại.

  • Ghi nhớ cách kê đơn: khi bác sĩ đã kê đơn một lần rồi thì phần mềm sẽ ghi nhớ cách kê đơn để áp dụng cho lần sau.

  • Trợ giúp thông minh: đối với các chọn lựa trong danh sách mà bác sĩ thường dùng, phần mềm sẽ ghi nhớ tần suất sử dụng để ưu tiên gợi ý các chọn lựa nào mà bác sĩ hay dùng nhất.

  • ...


  1. Các loại gói dữ liệu soạn thảo sẵn (menu và template)

Khi nhập liệu, có những danh sách gồm nhiều tiết mục phải kê khai. Công việc này lặp đi lặp lại nhiều lần làm mất thì giờ người nhập liệu.

  • Gói phẫu thuật: một cuộc phẫu thuật cần đến ê kíp mổ, dụng cụ mổ, vật tư y tế và thuốc men được liệt kê thành các danh sách. Các danh sách được soạn thảo sẵn để có thể chọn là load lên nhanh mỗi khi tiến hành phẫu thuật. Với một thao tác chọn gói phẫu thuật, lập tức các template sẽ được load lên chờ sẵn. Trong quá trình thực hiện phẫu thuật, thủ thuật thì sẽ chỉ cần nhập liệu bằng số liệu thực tế.

  • Gói khám và giảm giá: bệnh viện có thể ký hợp đồng với một cơ quan, tổ chức đông người khám sức khỏe. Các tổ chức có thể chọn sẵn menu và giá cả soạn sẵn phù hợp với điều kiện kinh tế của từng khách hàng. Dựa trên các gói này, hai bên còn có thể thương lượng giá cả với nhau.

  • Xử lý ngoài gói: trong quá trình phẫu thuật có thể phát sinh các thuốc hay vật tư, được ghi nhận để tính phí thêm cho bệnh nhân. Tương tự như vậy, bệnh nhân đã đăng ký gói khám nhưng muốn yêu cầu làm thêm dịch vụ khác ngoài gói thì bệnh nhân đó tự trả thêm phí phát sinh.

  • Cách tính phí cho gói: tùy theo sự cam kết của bệnh viện vào khách hàng. Khách hàng có thể chỉ trả đúng số tiền trọn gói mổ mà không trả thêm bất cứ khoản phí phát sinh nào khác. Hoặc khách hàng chỉ phải trả đúng những gì thực tế sử dụng. Trong trường hợp này giá phải trả có thể sẽ tăng hoặc giảm tùy theo tiên hao thực tế.

  1. Kỹ thuật nhập liệu

Việc nhập liệu có thể là gánh nặng trong công việc sử dụng máy tính. Mặc dù user có kỹ năng nhập liệu nhanh nhưng nếu phần mềm được thiết kế hợp lý sẽ tiết giảm công sức nhập liệu và tránh gây trùng lặp, nhầm lẫn dữ liệu.

  • Dữ liệu kế thừa: dữ liệu đã nhập liệu rồi thì không cần nhập liệu lại. BN đã ghi danh thì được cấp mã số ID, mã này được dùng lại suốt đời bệnh nhân nếu không có thay đổi về chi tiết hành chính. Bác sĩ đã kê chỉ định, y lệnh thì phiếu chỉ định sẽ được load lên bằng mã chỉ định… Tương tự vậy, các chi tiết đã được nhập liệu trước rồi thì sẽ được tận dụng cho công việc tiếp theo. Hệ thống không nhập liệu nhiều lần cho một nội dung.

  • Danh mục: Danh mục thường được khai báo sẵn để khi nhập liệu sẽ tự động load lên chính xác và đầy đủ. Ví dụ danh mục thuốc đã được khai báo, phân loại, hàm lượng, tác dụng… Danh mục sẽ được load lên khi nhập liệu cho những lần kế tiếp. Tuy nhiên, giao diện nhập hàng mới cũng phải có liên kết với danh mục để bổ sung cho danh mục.

  • Các tiện ích nhập liệu:

    • Sổ tay gõ tắt: user soạn thảo chữ gõ tắt thường dùng để dùng lâu dài.

    • Template: user soạn thảo sẵn các mẫu nhập liệu ví dụ đơn thuốc, phiếu chỉ định...

    • Load nội dung cũ: bệnh nhân đến khám lại, BS có thể load lại, dùng lại nội dung đơn thuốc cũ.

    • Auto complete: tên thuốc, tên chẩn đoán… sẽ được gợi ý khi nhập liệu. User gõ Pan thì sẽ gợi ý Panadol, Panangin… và tất cả các thuốc nào có 3 ký tự pan liền kề.

    • Reminder: khi kê thuốc, phần mềm đồng thời load hoạt chất. Nếu thuốc không còn trong kho thì phần mềm gợi ý thuốc thay thế dựa vào hoạt chất và hàm lượng tương tự.

  • Auto format: user nhập liệu mà không cần quan tâm đến chữ viết hoa, phần mềm tự độn định dạng cho kiểu chữ viết. Ví dụ: tên người thì tự động viết hoa toàn bộ (LÊ VĂN TÁM), đơn vị tính thì viết thường toàn bộ: muỗng cà phê, viên, giọt.

  1. Vấn đề làm tròn số

Việc làm tròn số là một trong những vấn đề hóc búa của hệ thống CNTT y tế, nhất là khi phải đồng bộ số liệu với hệ thống BHYT. Ta biết rằng toán học cũng có những lỗ hổng không xử lý được bằng máy móc mà phải được người dùng linh hoạt xử lý. Ví dụ: ta lấy 10 chia cho 3 thì được một số thập phân dài vô tận: 3.3333… Nếu dùng số này để nhân lại với 3 thì ta được con số mới là 9,9999… chứ không phải là 10 như ban đầu. Do vậy, một con số sau một quá trình tính toán sẽ có thể xảy ra sai lệch. Tùy theo quy ước về làm tròn số mà việc sai lệch này có thể ít hay nhiều.

Quy định làm tròn số của kế toán: một trong những nguyên tắc của kế toán là sao y bản chính, nghĩa là chứng từ có sao thì ghi lại y như vậy, không được sửa đổi. Tuy nhiên, trong một số trường hợp nếu không xử lý số liệu ngay từ đầu thì sẽ dẫn đến sai lệch nặng nề

Làm tròn đầu vào:

Trong đấu thầu thuốc, các công ty sử dụng mánh khóe làm giảm con số vài chục đồng cho lô hàng trị giá hàng tỷ đồng. Số giảm có tỳ lệ rất ít nhưng lại là ưu thế trong đấu nhau về giá.

Ví dụ: Công ty A chào giá thầu là 1 tỳ đồng cho 1 triệu viên thuốc, như vậy giá một viên thuốc sẽ là 1 tỷ chia cho 1 triệu, bằng 1 nghìn đồng.

Công ty B chảo giá thầu là 999.999.990 đồng cho 1 triệu viên thuốc y hệt như vậy. Nghĩa là công ty B có giá thầu "rẻ" hơn công ty A 10 đồng. Vâng, chỉ 10 đồng thôi, nhưng được xem là rẻ và được bệnh việc chấp nhận.

Khi nhập lô hàng của công ty B thì giá vốn của một viên thuốc sẽ là 999,999 đồng (nếu làm tròn đến 3 chữ số). Và do nguyên tắc kế toán, nhập sao để y vậy, con số này sẽ theo đơn bán hàng xuất cho bệnh nhân. Trong khi nếu nhập hàng của cty A, thì số tiền của viên thuốc sẽ là 1.000 đồng tròn trịa. Nhiều nơi không thấy được vấn đề này.

Để xử lý, bệnh viện phải làm tròn ngay đầu vào, biến số tiền vốn 1 viên thuốc từ 999,999 đồng tháng 1.000 đồng.

Làm tròn đầu ra:

Việc làm tròn số đầu ra đôi khi là vấn đề nan giải nếu không quy định thống nhất quy tắc làm tròn số:

  • Là tròn đến mấy chữ số sau số thập phần? 2 hay 3 chữ số?

  • Làm tròn trước tổng hay làm tròn ở tổng?

  1. Các vấn đề đáng sợ đối với nhân viên IT

Nhân viên IT bệnh viện không phải là người tạo ra phần mềm mà là người giúp bệnh viện vận hành hệ thống. Nếu phần mềm được lập trình tốt thì nhân viên IT sẽ rất nhẹ gánh. Nếu phần mềm không lập trình tốt thì nhân viên IT sẽ phải tốn nhiều công sức trong quá trình vận hành.

Bên cạnh những tiện lợi do hệ thống máy tính mang lại cho hoạt động và quản lý bệnh viện, có những vấn đề nan giải mà nhân viên IT bệnh viện rất quan tâm:

Các vấn đề do lập trình phần mềm:

  • Dữ liệu báo cáo không ổn định. Cùng một bảng báo cáo của cùng một thời điểm nhưng số liệu khác nhau mỗi lần mở ra.

  • Code lập trình không tối ưu gây ra tình trạng trì trệ hệ thống.

  • Lập trình thiếu logic khiến cho kết quả xử lý không đúng.

Các vấn đề tai nạn hệ thống:

  • Sập mạng làm ngưng trệ hay tê liệt hệ thống: sập mạng này có thể do phần mềm quá tải dữ liệu, do lỗi lập trình, có thể do máy chủ bị hư.

    • Quá tải dữ liệu có thể do hoạt động giao dịch quá tấp nập, ví dụ: lượng bệnh nhân tăng đột biến sau kỳ nghĩ lễ tết dài ngày khiến cho việc thực thi dòng lệnh tăng mạnh, máy chủ hệ thống không xử lý kịp. Một tác vụ bị nghẽn sẽ kéo theo các tác vụ khác nghẽn theo. Cần phải tăng RAM và CPU cho hệ thống máy chủ để tăng khả năng đáp ứng lệnh máy tính

    • Quá tải dữ liệu có thể do bộ nhớ đầy qua thời gian. Do thiếu dung lượng, việc ghi chép vào bộ nhớ có thể gặp khó khăn. Các thuật toán select dữ liệu cũng sẽ mất nhiều thời gian. Để xử lý vấn đề này, IT bệnh viện cần chuẩn bị sẵn server có dung lượng lưu trữ lớn, có ổ cứng chứa các dữ liệu cũ, ít khi dùng tới. Việc lưu trữ dữ liệu cũ phải được áp dụng bằng nhiều giải pháp khác nhau, trong đó lưu trữ lại chỗ và lưu trữ từ xa sẽ giúp an toàn hệ thống.

  • Thiên tai: bệnh viện không trang bị hệ thống chống sét nên hệ thống bị sét đánh hư máy chủ. Khi hệ thống bị sét đánh, mọi hoạt động sẽ bị ngừng trệ. Do đó cần có 2 giải pháp:

    • Hệ thống dự phòng tại chỗ: dùng 1 server phụ để backup và thay thế ngay khi cần có sự cố xảy ra.

    • Hệ thống dự phòng Online: khi máy local bị sét đánh, có thể chuyển sang hệ thống online để tiếp tục hoạt động.

  • Nhân tai:

    • Những nhân viên IT cũ đã rời nhiệm sở nhưng chưa cắt hết quyền hạn. Một số nhân viên IT hiểu rõ đường đi nước bước của hệ thống IT bệnh viện, sau khi rời nhiệm sở có thể trở thành những kẻ phá hoại. Họ có thể đặt một script (kịch bản máy tính) để hệ thống tự động xóa hết dữ liệu và code.

    • Những hacker mũ đen chuyên tìm lỗ hỗng của hệ thống để chêm vào những đoạn code phá hoại dữ liệu và code phần mềm. Mặc dù điều này không mang lại lợi ích về kinh tế cho hacker nhưng lại gây thảm họa cho bệnh viện.

  • Bắt cóc dữ liệu đòi tiền chuộc (Ransomeware): các hacker gian manh sử dụng các script để tiến chiếm hệ thống, "trói" dữ liệu bệnh viện, đòi tiền chuộc. Nhiều trường hợp bắt cóc dữ liệu đòi tiền chuộc đã xảy ra tại nhiều bệnh viện trên thế giới. Để tránh điều này, ITBV cần phải nâng cấp hệ thống Windows Server, cách ly phần mềm với internet, sao lưu dự phòng xa...