Chuẩn dữ liệu

CHUẨN DỮ LIỆU

  1. Chuẩn hóa dữ liệu

Tóm tắt

  • Để có được bộ dữ tiệu tốt cho công việc khai thác dữ liệu thì cần phải chuẩn hóa dữ liệu từ đầu vào.

Nhằm có được bộ dữ liệu tốt, cần có một bộ dữ liệu danh mục được chuẩn hóa.

Có những danh mục chuẩn hóa quốc tế, có danh mục chuẩn hóa ở cấp quốc gia và cũng có danh mục chuẩn hóa tai từng bệnh viện.

Danh mục quốc tế: Tên quốc gia, mã số quốc gia, bộ mã chẩn đoán ICD, bộ mã thuốc men ATP, LOINC, SNOMED CT, HL7…

Danh mục cấp quốc gia: Danh mục thuốc, danh mục tên dịch vụ y tế, danh mục bệnh viện, danh mục tên chuyên khoa, danh mục tỉnh thành…

Danh mục tự tạo: các khoa phòng, danh mục user, danh mục kho thuốc, danh mục thuốc… là các danh mục do bệnh viện tự tạo.

Việc quy chuẩn danh mục giúp cho việc nhập liệu được nhanh chóng và dễ cho việc phân loại dữ liệu, giúp ích cho việc thống kê và giao tiếp giữa các cơ quan y tế.

Tuy nhiên, việc chuẩn hóa các danh mục này cũng chỉ mang tính tương đối vì dữ liệu có thể biến đổi và không bao trùm được hết các khía cạnh thực tế.

Ví dụ:

  • ICD 10 có thể ghi chẩn đoán “Viêm Xoang Hàm”, tuy nhiên thực tế cần ghi rõ hơn là viêm xoang hàm trái hay phải, mức độ nặng nhẹ thế nào, ở giai đoạn nào của diễn tiến bệnh.

  • Danh mục nghề nghiệp không thể có các nghề như lơ xe, phụ hồ, xe ôm… Khi phát sinh các “nghề” mới, cần phải quy chuẩn các nghề đó vào 1 danh mục đã được định chuẩn.

  • Danh mục thuốc cũng phải được cập nhật vì nhiều thuốc mới phát sinh.

Một số vấn đề về danh mục chuẩn theo Bộ Y tế Việt Nam, nhằm phục vụ cho công tác thanh toán viện phí Online của Bảo Hiểm Xã Hội.

  • Danh mục dịch vụ: các danh mục dịch vụ hiện tại do Bộ Y tế Việt Nam ban hành (2016) không theo một chuẩn quốc tế nào. Nhiều tên dịch vụ bị xếp loại trùng lắp nhau. Một tên dịch vụ có nhiều mã số… Những điều này không tạo thành chuẩn dữ liệu cho y tế quốc gia. Mặt khác tên gọi trong chuẩn không dùng được hoặc bất tiện trong việc ghi chỉ định hàng ngày. Ví dụ: một tên gọi là “Chụp Cắt Lớp Vi Tính mạch máu não có cản quang” khá dài dòng thì nên được ghi ngắn gọn là “CT mạch máu não CE”.

  • Danh mục thuốc: Danh mục thuốc nên được tuân theo chuẩn quốc tế. Cần phân biệt rõ tên thuốc (tên thương mại, tên biệt dược) với thành phần hoạt chất. Hàm lượng thuốc chính là hàm lượng của hoạt chất. Một thuốc có nhiều hoạt chất khác nhau thì tên hoạt chất phải đi kèm hàm lượng của nó. Tên thuốc thì có thể tùy gọi nhưng hoạt chất và hàm lượng cần phải được tuyệt đối chính xác. Cần có một bảng con đi kèm tên thuốc để ghi rõ hoạt chất và hàm lượng trong trường hợp thuốc có nhiều hoạt chất. Điều này rất quan trọng vì tổng hàm lượng của từng hoạt chất trong một đơn thuốc có thể ảnh hưởng đến kết quả điều trị và việc tách riêng từng hoạt chất sẽ giúp cảnh báo tương tác thuốc.

  1. Xây dựng bộ chuẩn dữ liệu dùng chung

  • Các chuẩn cho hoạt động tính toán:

    • Chuẩn về thời gian.

    • Chuẩn về tiền tệ.

    • Chuẩn về làm tròn số.

  • Các chuẩn chuyên môn:

    • Chuẩn danh mục tên dịch vụ y tế.

    • Chuẩn tên thuốc.

    • Chuẩn tên hoạt chất.

    • Chuẩn vật tư y tế.

  • Các chuẩn hành chính:

    • Chuẩn giới tính.

    • Chuẩn danh mục nghề nghiệp.

    • Chuẩn dân tộc.

    • Chuẩn địa phương.

  • Các chuẩn tổ chức:

    • Danh mục tổ chức.

    • Danh mục chức vụ

    • Danh mục học vị

  • Chuẩn truyển, gửi dữ liệu.

  1. HL7 - chuẩn giao tiếp dữ liệu y tế.

Muốn thống nhất dữ liệu y tế quốc gia, nhất thiết phải có một bộ dữ liệu được quy chuẩn:

Tóm tắt


  • HL7 là một chuẩn dữ liệu được quy ước để các phân hệ trao đổi thông tin cho nhau.

  • Tuy nhiên HL7 cho đến nay chưa phát huy được nhiều tác dụng hữu ích.

  • HL7 hiện nay được áp dụng cho truyền tin trong mảng xét nghiệm và chẩn đoán hình ảnh mà không áp dụng tốt cho bệnh án điện tử.

HL7 là chuẩn dữ liệu quốc tế nhằm thống nhất các phương thức trao đổi dữ liệu trong nội bộ bệnh viện và giữa các đơn vị y tế với nhau.

(Đây là phần khó giải thích nhất trong các thuật ngữ y tế. Ở đây chỉ sơ lược về khái niệm. Muốn tìm hiểu sâu thì tìm đọc về chuyên đề HL7).

Câu chuyện như thế này:

Tôi gửi đi một bức điện tín như sau: Phan Xuaan Trung | 1967 | basc six y khoa

Người nhận được sẽ hiểu rằng:

  • Họ và tên: Phan Xuân Trung.

  • Năm sinh: 1967

  • Nghề nghiệp: Bác sĩ y khoa.

Bức điện tín chỉ chuyển đến người nhận nội dung tối giản. Còn việc dịch nội dung này ra thành bức thư hiểu được là việc của người đọc, nếu không hiểu thì dùng bộ biên dịch để “dịch” ra. Hết câu chuyện.

HL7 làm việc theo hình thức như vậy. Tất cả dữ liệu liên quan đến bệnh nhân như Lý lịch bệnh nhân, Phiếu chỉ định, Kết quả xét nghiệm, Hồ sơ nhập viện… được truyền từ nơi này sang nơi khác trong nội viện hoặc giữa bệnh viện này đến bệnh viện khác bằng hình thức điện tín tối giản theo một tiêu chuẩn định sẵn. Vì là bộ dữ liệu được quy ước với nhau nên người tham gia chuẩn HL7 phải tuân theo các quy ước đó và việc này cần phải có công cụ biên dịch.

Bộ mã hóa và bộ biên dịch:

Người gửi thông tin đi phải có bộ biên dịch từ văn bản thường sang văn bản kiểu HL7 để chuyển đi.

Người nhận thông tin đến phải có bộ biên dịch từ văn bản HL7 sang văn bản thường, đọc được, hiểu được.

Như vậy mỗi phân hệ chức năng trong bệnh viện phải có 2 công cụ: mã hóadịch mã để có thể truyền dữ liệu cho nhau và đọc được nhau. Các bộ biên dịch này được lập trình theo các quy tắc vừa rườm rà vừa thiếu khuyết của HL7.

Nội dung khung sườn của HL7:

Bạn muốn gửi đi 1 bức thư qua đường bưu điện, bạn phải tiến hành 2 nội dung:

  • Một là nội dung ngoài bì thư: Người gửi, địa chỉ, thời gian gửi; người nhận, địa chỉ, thời gian nhận. Đây là thủ tục để 2 bên gửi và nhận có thể bắt tay nhau.

  • Hai là nội dung bức thư cần trao đổi, như trên đã phân tích, là nội dung đã được mã hóa, ngầm hiểu và cần được biên dịch.

Ví dụ: Đây là một mẫu tin HL7, dùng để nhập viện cho bệnh nhân:

Phần màu đỏ là phần bì thư, tức thủ tục giao nhận tin nhắn.

Phần màu xanh là phần nội dung thư, gồm mã bệnh nhân, tên bệnh nhân, ngày tháng năm sinh, địa chỉ, ….

MSH|^~\&|SENDING_APPLICATION|SENDING_FACILITY|RECEIVING_APPLICATION|RECEIVING_FACILITY|20110613083617||ADT^A01|934576120110613083617|P|2.3||||

EVN|A01|20110613083617|||

PID|1||135769||MOUSE^MICKEY^||19281118|M|||123 Main St.^^Lake Buena Vista^FL^32830||(407)939-1289^^^theMainMouse@disney.com|||||1719|99999999||||||||||||||||||||

PV1|1|O|||||^^^^^^^^|^^^^^^^^

Nhìn vào đoạn mã này, người bình thường không đọc được nội dung và không thể hiểu hết ý nghĩa của mẫu tin. Thông tin dạng này chỉ để dùng cho máy xét nghiệm đọc và hiểu.

Xem thêm về các mẫu tin HL7 ở đây:

https://www.mieweb.com/wiki/Sample_HL7_Messages#ADT.2C_Patient_Registration

Trong thực tế hiện nay, dù HL7 đã được nhiều người biết đến, nhưng do tính chất và quy mô khác nhau giữa các đơn vị y tế, việc truyền tin theo bộ mẫu định sẵn theo chuẩn tạo nên sự khó khăn cho bệnh viện, đòi hỏi tất cả các bệnh viện phải dùng bộ biên dịch và giải mã như nhau. Các đơn vị cung cấp phần mềm khác nhau sử dụng cơ sở dữ liệu khác nhau, vừa đủ để đáp ứng cho công việc của mình, không làm thêm dữ liệu thừa và không sẵn sàng để “map” với các phần mềm khác. Do đó HL7 ngày càng trở nên kém tác dụng trong việc trao đổi thông tin y tế.

Ứng dụng HL7:

Hình thức truyền tin tối giản này chỉ phù hợp đối với các bảng kết quả xét nghiệm và các bảng thống kê số liệu.

Đối với các tài liệu bệnh án y khoa thì cách làm này khá là phiền phức vì các thông tin về bệnh nhân rất sinh động chứ không đơn giản là thông tin chữ số khô khan. Dữ liệu y tế không chỉ có số liệu mà còn có các định dạng thông tin multimedia khác như hình ảnh, video, âm thanh… Việc truyền dữ liệu chuyên môn giữa các bệnh viện như hội chẩn, chuyển viện... thường không hữu dụng khi dùng HL7. Trong thực tế bác sĩ tiếp nhận thông tin bệnh nhân cần các tài liệu mô tả sinh động về người bệnh, diễn tiến bệnh chứ không chỉ đọc số liệu trên giấy.

Đối với một hệ thống quản lý bệnh viện có đầy đủ phân hệ, sử dụng chung Database thì HL7 không đóng vai trò quan trọng.

Các version trước đây của HL7 (từ version 2x trở về trước) sử dụng các dấu ngăn cách để phân biệt các trường dữ liệu với nhau. Hiện nay HL7 đã chuyển sang định dạng xml, uyển chuyển hơn trong việc map thông tin.

Tham khảo: HL7

  1. FHIR - một biến thể của HL7:

FHIR - là từ viết tắt của Fast Healthcare Interoperability Resources.

Nhận thấy thông tin HL7 quá khô khan, cứng nhắc trong khi các ứng dụng truyền và nhận tin trong y tế rất đa dạng: bệnh nhân muốn xem hồ sơ của mình, bác sĩ muốn gửi hội chẩn, nhà nghiên cứu muốn thống kê số liệu… tổ chức HL7 cho ra đời bản nháp FHIR có hình thức mềm hơn, dễ dùng hơn. Các dữ liệu khô khan của HL7 nay được gia vị hóa bằng các thẻ XML, HTML, JSON, CSS, RESTful... giúp hiển thị thông tin một cách thân thiên hơn. Thay vì

PID|Phan Xuaan Trung|1967|basc six y khoa|||||

thì nay FHIR cho phép hiển thị thông tin trông giống như vầy:

Họ và tên: Phan Xuân Trung.

Năm sinh: 1967

Nghề nghiệp: Bác sĩ y khoa.

Nghĩa là người đọc sẽ thấy thông tin một cách thân thiện hơn.

Những phương thức hiển thị này rất thân thiện với website. Các phần mềm quản lý bệnh viện viết dưới dạng web sẽ hưởng lợi nhiều từ FHIR. Thông tin được xem bằng browser của máy tính bàn, máy tính bảng và cả điện thoại di động. Các thông tin có thể trích xuất từ chuẩn HL7 tùy ý thích.

Để hiển thị nội dung trực quan như vậy cần đến một API (aplication programing interface).

Tham khảo: https://en.wikipedia.org/wiki/Fast_Healthcare_Interoperability_Resources

  1. Bảng mã dữ liệu LOINC

Bảng mã dữ liệu LOINC bao gồm Mã đại diện cho một tên dịch vụ y tế hoặc một bộ dịch vụ y tế, áp dụng cho khu vực cận lâm sàng (xét nghiệm và chấn đoán hình ảnh).

Tên một xét nghiệm có thể đọc khác nhau giữa các vùng miền, địa phương hay giữa các quốc gia. Ví dụ: đường huyết hay Glucose huyết thanh?

Tên một xét nghiệm có thể nghe giống nhau nhưng khác nhau về yêu cầu định tính hay định lượng, hoặc khác nhau về cách tiến hành xét nghiệm. Ví dụ: đường huyết lúc đói hay đường huyết ngẫu nhiên? Xét nghiệm HIV theo phương pháp Westtern blot hay Elisa?

Do đó, các tên xét nghiệm đó phải được phân biệt một cách rõ ràng và được gán cho một mã số xác định.

Bằng cách dùng chung mã số, việc gửi nhận thông tin cho nhau bằng điện tử sẽ trở nên dễ dàng.

Ứng dụng bộ mã LOINC nhiều nhất là nhúng vào thành phần bản tin HL7. Khi đó, thay vì gọi tên xét nghiệm thì người ta dùng mã đại diện để gọi tên xét nghiệm.

Tên dịch vụ y tế bao gồm tên dài (long terms), tên ngắn (short terms) và tên tương đương (synonym).

Một mã LOINC bao gồm 6 thành phần:

  • component

  • property

  • time

  • system

  • scale

  • method.

Mỗi thành phần được quy ước thành các bộ mã riêng để thuận tiện trong việc sắp xếp. Nhìn vào dãy mã số, người ta không thể xác nhận được đó là xét nghiệm gì mà phải dùng một tiện ích phiên dịch là RELMA.

Cho đến nay thì LOINC chưa được ứng dụng rộng rãi và hữu dụng trong CNTT y tế thế giới.


  1. SNOMED CT

Tham khảo: www.snomed.org

SNOMED CT (The Systematized Nomenclature of Medicine) là chuẩn thuật ngữ y khoa quốc tế.