(13-06-21, 10:38 AM)bvchauthanh Đã viết: ... chuẩn HL7 (chuẩn mà đơn vị mình đang sử dụng, dữ liệu trả về dạng xml).
Theo tôi thì việc đọc file XML này đơn giản thì cũng không đơn giản mà khó cũng không khó. Vì file XML này phải có cái bảng đối chiếu cây thư mục của nó với các định nghĩa tên Field theo HL7 thì mới biết nó là cột gì rồi code để chuyển đổi.
Hiện trạng mà bạn đã kết nối trực tiếp để lấy dữ liệu HL7 dạng XML rồi hay làm dựa trên các file Export của hệ thống?
Theo tôi thì bạn giữ nguyên file dạng HL7 message thì có thể xử lý dễ hơn với hàm Split().
Ví dụ:
hl7mesg = "MSH|^~\`|HL7Soup|Instance1|HL7Soup|Instance2|20190922162830||ORU^R01|123474|P|2.5.1|||AL"
--> dùng hàm Split (hl7mes,"|") --> sẽ ra mảng tất cả các tên cột --> đối chiếu với bảng tra: MSH1 | MSH2 | ... -> lấy ra tên Field.
*
Sau khi suy nghĩ lại thì đọc XML và đối chiếu bảng tra tên Field sẽ nhanh hơn.
Bạn có thể tham khảo thêm cái bảng định nghĩa các trị số của HL7 message.
Link:
https://wiki.ihe.net/index.php/HL7_Tables#Doctor