Ví dụ, kiểu bản tin ADT được sử dụng để truyền tải các dữ liệu về quản lý bệnh nhân ADT của một bệnh nhân từ một hệ thống ứng dụng này sang hệ thống ứng dụng khác.. Các ký tự ngăn cách
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Ngô Thế Hoàng
Nghiên cứu chuẩn HL7 V2.8 và xây dựng ứng dụng hỗ trợ thu thập thông tin phục
vụ công tác Y tế dự phòng tỉnh Thái Nguyên
THÁI NGUYÊN, 2020
Trang 2LỜI CAM ĐOAN
Tên tôi là: Ngô Thế Hoàng
Sinh ngày: 07/3/1983
Học viên lớp cao học CHK16A - Trường Đại học Công nghệ Thông tin &Truyền thông - Đại học Thái Nguyên
Hiện đang công tác tại: Trung tâm Kiểm soát bệnh tật tỉnh Thái Nguyên
Xin cam đoan: Đề tài “Nghiên cứu chuẩn HL7 V2.8 và xây dựng ứng dụng
hỗ trợ thu thập thông tin phục vụ công tác Y tế dự phòng tỉnh Thái Nguyên” do
TS Nguyễn Hải Minh hướng dẫn là công trình nghiên cứu của riêng tôi Tất cả tài
liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng
Tôi xin cam đoan tất cả những nội dung trong luận văn đúng như nội dungtrong đề cương và các thông tin trích dẫn trong luận văn được ghi rõ nguồn gốc.Nếu sai tôi hoàn toàn chịu trách nhiệm trước hội đồng khoa học và trước pháp luật
Thái Nguyên, ngày tháng 7 năm 2020
Tác giả luận văn
Ngô Thế Hoàng
Trang 3Tôi xin bày tỏ lòng biết ơn sâu sắc đến:
Thầy giáo hướng dẫn TS Nguyễn Hải Minh đã tận tình chỉ dẫn, giúp đỡ tôi
hoàn thành luận văn này
Phòng đào tạo Sau đại học Trường Đại học Công nghệ Thông tin và Truyềnthông đã giúp đỡ tôi trong quá trình học tập cũng như thực hiện luận văn
Trung tâm Kiểm soát bệnh tật tỉnh Thái Nguyên nơi tôi công tác đã tạo điềukiện tối đa cho tôi thực hiện khóa học này
Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên,khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoànthành luận văn này
Thái Nguyên, ngày tháng 7 năm 2020
Tác giả luận văn
Ngô Thế Hoàng
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC HÌNH ẢNH vii
DANH MỤC BẢNG BIỂU viii
LỜI MỞ ĐÂU 1
CHƯƠNG 1 TỔNG QUAN VỀ CHUẨN TIN HỌC Y TẾ 2
1.1 Giới thiệu chung 2
1.2 Chuẩn Logical Observation Identifiers Names and Codes (LOINC) 2
1.3 Chuẩn International Classification of Diseases, Tenth Revision (ICD 10) .6
1.4 Chuẩn Digital Imaging and Communications in Medicine (DICOM) 9
1.5 Chuẩn Clinical Document Architecture (CDA) 12
CHƯƠNG 2 CHUẨN HL7 V2.8 15
2.1 Khái niệm 15
2.2 Môi trường truyền thông 15
2.3 Khung bản tin 16
2.3.1 Các bản tin 16
2.3.2 Phân đoạn và nhóm phân đoạn dữ liệu 16
2.3.3 Các trường dữ liệu 16
2.4 Quy tắc xây dựng bản tin 21
2.4.1 Mã giả dành cho việc xây dựng bản tin 21
2.4.2 Quy tắc cho hệ thống tiếp nhận 24
2.5 Các quy tắc xử lý bản tin 24
2.5.1 Khởi tạo bản tin 25
2.5.2 Bản tin phản hồi sử dụng quy tắc xử lý cơ bản 26
2.6 Các giao thức trong HL7 28
2.6.1 Giao thức số thứ tự 28
2.6.2 Phân đoạn dữ liệu và bản tin nối tiếp 30
Trang 52.6.3 Giao thức khối/nhóm HL7 32
2.6.4 Giao thức cho việc diễn giải các phân đoạn hoặc nhóm phân đoạn lặp lại trong một bản tin cập nhật 35
2.6.5 Giao thức để xử lý các trường dữ liệu lặp lại trong một bản tin cập nhật .36
2.7 Các bản tin điều khiển 37
2.7.1 Phản hồi thông thường 37
2.7.2 Phản hồi thông thường, trả về lỗi 38
2.7.3 Bản tin sử dụng số thứ tự: Giao thức 38
2.7.4 Bản tin phân mảnh 38
2.7.5 Bản tin phản hồi sử dụng phương thức xử lý cơ bản 41
2.7.6 Bản tin phản hồi sử dụng phương thức phản hồi nâng cao 41
CHƯƠNG 3 XÂY DỰNG MÔ HÌNH THU THẬP THÔNG TIN Y HỌC HỖ TRỢ CÔNG TÁC Y TẾ DỰ PHÒNG TỈNH THÁI NGUYÊN 43
3.1 Chức năng, nhiệm vụ của trung tâm kiểm soát bệnh tật tình Thái Nguyên 43
3.2 Quy trình yêu cầu trao đổi, cung cấp thông tin từ các cơ sở khám chữa bệnh cho Trung tâm kiểm soát bệnh tật 45
3.3 Quy trình trao đổi thông tin trong hệ thống 45
3.4 Quy trình gửi nhận thông tin HSBA thông qua hệ thống quản lý bản tin HL7 48
3.5 Quy trình phân quyền truy cập, xem thông tin HSBA trên hệ thống HL7 ENGINE bệnh viện 52
3.6 Quy trình gửi thông tin HSBA đến bệnh viện HIS 54
3.7 Quy trình gửi dữ liệu phục vụ báo cáo thống kê 55
3.8 Giao tiếp giữa HL7 Engine Bệnh viện và HL7 Engine Trung tâm kiểm soát bệnh tật Tỉnh 56
3.8.1 Chuẩn thông điệp HL7 v2.8 56
3.8.2 Quy trình trao đổi thông tin trong hệ thống HL7 ENGINE 65
3.9 Thuật toán đóng gói bản tin HL7 từ phía người gửi 69
3.9.1 Sơ đồ giải thuật đóng gói bản tin HL7 Error! Bookmark not defined. 3.9.2 Cài đặt Module sinh bản tin HL7 69
Trang 63.9.3 Thuật toán trích rút thông tin từ bản tin HL7 phía người nhận .71
3.10 Giao thức trao đổi thông tin giữa người gửi và người nhận 72
TÀI LIỆU THAM KHẢO 76
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 77
Trang 7DANH MỤC HÌNH ẢNH
Hình 1.1: Cách quản lý thư mục của chuẩn LOINC 4
Hình 1.2: Tổ chức cây thư mục theo chuẩn LOINC 5
Hình 1.3: Cấu trúc ảnh DICOM 11
Hình 2.1: Biểu đồ quy tắc truyền một bản tin 22
Hình 2.2: Biểu đồ quy tắc truyền một trường dữ liệu xuất hiện 23
Hính 3.1 Sơ đồ trao đổi thông tin hiện tại giữa TTKSBT với Bệnh viện 45
Hình 3.2: Quy trình thu thập thông tin và tạo lập bản tin HL7 từ hệ thống HIS 46
Hình 3.3 Quy trình gửi nhận thông tin HSBA thông qua hệ thống quản lý bản tin HL7 50 Hình 3.4 Quy trình xác thực thông tin trong hệ thống 53
Hình 3.5: Quy trình gửi thông tin HSBA từ HL7 Engine Bệnh viện đến HIS .54
Hình 3.6 Sơ đồ gửi/ nhận thông tin từ giữa TTKSBT và Bệnh viện 55
Hình 3.7: Quy trình gửi nhận HSBA qua giao thức HL7 v2.8 65
Hình 3.8: Quy trình trao đổi dữ liệu danh mục 67
Hình 3.9: Giải thuật đống gỏi bản tin HL7 Error! Bookmark not defined.
Hình 3.10: Giải thuật chèn các thành phần con và giá trị lặp trong bản tin HL7
Error! Bookmark not defined.
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1: So sánh mã chẩn đoán 7
Bảng 3.1: Các segment thông tin của một thông điệp HL7 56
Bảng 3.2: Các trường thông tin trong MSH 58
Bảng 3.4: Các trường thông tin về đợt điều trị tại bệnh viện (PV1) 60
Bảng 3.5: Các trường thông tin cơ bản TXA Error! Bookmark not defined Bảng 3.6: Các trường thông tin trong OBX Error! Bookmark not defined. Bảng 3.7: Các trường thông tin MSA 64
Bảng 3.8: Các trường thông tin ERR 64
Bảng 3.9: Các trường thông tin VTQ Error! Bookmark not defined Bảng 3.10: Các trường thông tin QAK Error! Bookmark not defined Bảng 3.11: Các trường thông tin RDF Error! Bookmark not defined Bảng 3.12: Các trường thông tin RDT Error! Bookmark not defined. Bảng 3.13: Cấu trúc thông tin của thông điệp truy vấn và trả lời 67
Bảng 3.14: Các loại tài liệu trao đổi qua hệ thống HL7 ENGINE 68
Trang 9em lựa chọn định hướng nghiên cứu chuẩn HL7 2.8 - một phiên bản mới nhất của tổchức chuẩn tin học trong Y tế thế giới; Từ đó đề xuất và xây dựng thử nghiệm môhình thu thập dữ liệu trực tuyến từ các trung tâm y tế của tỉnh về Trung tâm Kiểmsoát bệnh tật nhằm có thông tin đủ, chính xác, kịp thời để làm tốt hơn nữa cácnhiệm vụ chuyên môn trong công tác Y tế dự phòng của tỉnh.
Trang 10CHƯƠNG 1 TỔNG QUAN VỀ CHUẨN TIN HỌC Y TẾ 1.1 Giới thiệu chung
Trên thế giới, vấn đề chuẩn hóa thông tin, chuẩn hóa giao thức trao đổi thôngtin và chuẩn hóa danh mục danh mục chẩn đoán bệnh, danh mục xét nghiệm, thủthuật và XQ trong trao y tế đã được đặt ra từ rất lâu Với mục tiêu kiện toàn hệthống Công nghệ Thông tin (CNTT) hỗ trợ công tác chăm sóc sức khỏe nhằm manglại những lợi ích thiết thực cho người bệnh
Với tốc độ phát triển nhanh của ngành CNTT, ứng dụng CNTT trong y tếđang có những thay đổi cơ bản về chất Những ứng dụng hỗ trợ các bệnh viện vàcác cơ sở khám chữa bệnh tháo gỡ những khó khăn trong việc trao đổi dữ liệu, như:
Hệ thống Thông tin trao đổi thông tin nội bộ, trao đổi dữ liệu với các hệ thốngthông tin ở nước ngoài Nguyên nhân chính của những khó khăn này là do việckhông thống nhất trong khi áp dụng các danh mục tham chiếu, dữ liệu không thốngnhất, đồng thời chưa thực sự có một giao thức chung khi trao đổi dữ liệu và thôngtin y tế
Tại Việt Nam, với nhận thức sâu sắc về vấn đề kiện toàn các hệ thống côngnghệ thông tin trong y tế, nâng cao chất lượng chăm sóc sức khỏe người dân, Bộ Y
tế đã và đang có những nỗ lực trong việc đưa ra các định hướng, hướng dẫn, quyếtđịnh nhằm nâng cao chất lượng chăm sóc sức khỏe người dân thông qua việc banhành các văn bản, quyết định có tính chất định hướng cụ thể
Trong các phần sau đây, chúng tôi phân tích tập trung vào hai mảng: danhmục chuẩn hóa và các chuẩn công nghệ thông tin có thể áp dụng trong việc trao đổithông tin trong y tế Các danh mục chuẩn hóa được đề cập đến như: địa bàn hànhchính, bệnh viện, nơi khám, chữa bệnh ban đầu, phẫu thuật - thủ thuật,… là các từđiển dữ liệu trợ giúp đắc lực cho việc trao đổi thông tin thông qua việc áp dụng cácchuẩn trong truyền thông trong lĩnh vực y tế
1.2 Chuẩn Logical Observation Identifiers Names and Codes (LOINC)
Chuẩn LOINC tạo ra các định danh phổ quát và dựa trên cho các chuẩn
Trang 11ASTM E1238, HL7, CEN TC251, và các bản tin báo cáo giám sát của chuẩnDICOM, chuẩn danh mục mã hóa thông tin quản lý phòng xét nghiệm, hay các hệthống lưu trữ thông tin bệnh nhân… Theo cách tiếp cận xây dựng ứng dụng, cácđịnh danh quy định bới chuẩn LOINC có thể được sử dụng với vai trò là giá trịđược danh mục cho trường “Observation Identifier” trong bản tin ORU HL7, phânđoạn OBX hoặc sử dụng trong các trường tương ứng trong các chuẩn HL7 Khi sửdụng chuẩn LOINC trong bản tin HL7, thì việc nhận biết mã thông qua hệ thống mã
ký hiệu bắt đầu “LN”
Để thuận tiện cho quá trình trao đổi dữ liệu, mỗi định danh yêu cầu một tênđầy đủ được tạo chuẩn tắc sao cho người sử dụng có thể quản lý được các xétnghiệm, thủ thuật mà đồng thời vẫn có mối liên kết ngữ nghĩa với tên chuẩn
CSDL LOINC là hồ sơ tổng quát, chuẩn hóa tên của phần lớn các bộ xétnghiệm chuẩn và các mã số được sử dụng trong hoạt động phòng thí nghiệm Dovậy, các thuật ngữ sử dụng trong hoạt động phòng thí nghiệm có thể được ánh xạsang các tên định danh chứa trong CSDL của LOINC
Đối với các trường hợp các hệ thống quản lý cần các dữ liệu hoặc các giá trịtham chiếu mà hiện không có trong CSDL LOINC, người sử dụng có thể gán chochúng một giá trị mã, tên LOINC mới Tuy nhiên cần chú ý, nên tạo mới các bộ giátrị mã, tên LOINC tuân theo nguyên tắc: mỗi dòng tương ứng với một phương pháp
đo nghiệm riêng
Danh mục các mã dùng trong phòng thí nghiệm LOINC hiện nay được cậpnhật thường xuyên bởi dự án LOINC CSDL LOINC, bản cập nhật mới nhất chứahầu hết các thuật ngữ cập nhật đến thời điểm đó Về cơ bản, LOINC bao gồm cácthuật ngữ được chia thành 3 lĩnh vực:
Các thuật ngữ dùng trong phòng thí nghiệm (Laboratory Categories)
Các thuật ngữ dùng trong lâm sàng (Clinical Categories)
Các Claims Attachments theo HIPAA chứa các thông tin bổ trợ cho các hoạt
động khám, chữa bệnh
Trong mỗi lĩnh vực, LOINC lại được tổ chức thành nhiều chuyên môn nhỏ
Trang 12hơn như trong hình sau
Hình 1.1: Cách quản lý thư mục của chuẩn LOINC
Trang 13Ngoài ra, LOINC cũng được tổ chức theo các bộ phận chuyên môn trong phòng thí nghiệm đến tận các mức chuyên môn sâu như sau:
Hình 1.2: Tổ chức cây thư mục theo chuẩn LOINC
Mặc dù vậy, LOINC không bao gồm các thuộc tính sau đây:
+ Phương tiện xét nghiệm
+ Chi tiết mẫu, nơi thu thập
+ Độ ưu tiên hay thứ tự thực hiện của xét nghiệm
+ Người kiểm tra kết quả
+ Kích thước mẫu
Trang 14+ Địa điểm xét nghiệm
Lợi ích khi áp dụng thống nhất danh mục mã dùng trong phòng thí nghiệmLOINC Có thể nhận thấy, đối tượng sử dụng danh mục mã dùng trong phòng thínghiệm LOINC này là các phòng thí nghiệm tại các đơn vị cung cấp dịch vụ khámchữa bệnh Các bệnh viện và các cơ sở khám, chữa bệnh cũng lưu trữ danh sách các
mã dùng trong phòng thí nghiệm LOINC phục vụ cho việc quản lý phòng xétnghiệm cũng như trao đổi dữ liệu kết quả với các bộ phận, đơn vị khác Nếu ápdụng LOINC cùng với HL7, việc trao đổi dữ liệu về yêu cầu, kết quả xét nghiệm cóthể mở rộng không chỉ giữa các bộ phận trong nội bộ đơn vị mà còn có thể mở rộngphạm vi trao đổi với các bệnh viện, cơ sở khám, chữa bệnh khác cũng sử dụngLOINC cùng với HL7
Các quy tắc cập nhật danh mục mã dùng trong phòng thí nghiệm LOINC.
Hiện nay, việc cập nhật danh sách mã dùng trong phòng thí nghiệm LOINC
là do LOINC PROJECT, dựa trên các cập nhật từ các phòng xét nghiệm tại các đơn
vị khám, chữa bệnh cung cấp
Như vậy, có thể thấy rằng, nguồn dữ liệu danh mục các mã dùng trong phòngthí nghiệm LOINC là xuất phát từ LOINC PROJECT Để áp dụng danh mục mãdùng trong phòng thí nghiệm LOINC cho ngành y tế, Bộ Y tế có thể phối hợp vớiLOINC PROJECT về việc cung cấp dữ liệu thông qua hình thức hợp tác thông tinhoặc cử cán bộ theo dõi cập nhật của LOINC PROJECT thường xuyên Để cập nhậtcác thay đổi cho LOINC, Regenstrief Institute là đơn vị tiếp nhận các đóng góp vềviệc bổ sung, cập nhật cho danh mục LOINC Để làm rõ nội dung nào sẽ được cậpnhật vào CSDL LOINC, Regenstrief Institute đưa ra các trường hợp gửi cập nhật:
+ Trường hợp (a) loại xét nghiệm hoàn toàn mới, chẳng hạn như, DNAsequencing hoặc (b) sử dụng mã LOINC theo cách khác với qui định
+ Bổ sung các biến thể của các xét nghiệm mà CDSL LOINC hiện đã có
1.3 Chuẩn International Classification of Diseases, Tenth Revision (ICD 10).
ICD-10 (Danh mục mã bệnh) được Đại hội đồng Y tế Thế giới thông qua lần
Trang 15thứ 43 vào tháng 5/1990 và chính thức được Tổ chức y tế thế giới (WHO) ban hànhnăm 1994 Các quốc gia khác bắt đầu thông qua bộ mã ICD-10 vào năm 1994,nhưng Mỹ chỉ thông qua một phần bộ mã ICD-10 vào năm 1999 cho các mặt bệnhbáo cáo tử vong ICD-10 là danh mục chẩn đoán phân loại quốc tế tiêu chuẩncho tất cả các bệnh học nói chung và các mặt bệnh lâm sàng nói riêng ICD-10 được
sử dụng để phân loại bệnh và các vấn đề sức khỏe được lưu lại trên nhiều loại hồ sơsức khỏe như hồ sơ bệnh án thông thường, hồ sơ bệnh án điện tử, phiếu khám bệnhhay giấy chứng tử
Phiên Bản thứ Mười (ICD-10) chứa dữ liệu lớn hơn và nhiều bệnh chi tiếthơn bản ICD-9 được các nước phát triển sử dụng trên toàn thế giới
Dưới sự bảo trợ của WHO, phiên bản ICD-10 hỗ trợ thúc đẩy việc thu thập,phân loại, xử lý, và báo cáo thống kê các số liệu về tình hình bệnh tật tử vong củacác nước trên thế giới Các lần sửa đổi mới của ICD được triển khai định kỳ để việcphân loại bệnh có thể phản ánh rõ nét những tiến bộ trong khoa học y tế
Số 2-5 = Dạng số
Số 1 = chữ an pha
Số 2 = dạng số
Số 3-7 = chữ an pha hay dạng sốKhông gian có sẵn cho
Chưa cụ thể Rất chi tiết (Cho phép miêu tả
về trạng thái bệnh tật, biểu hiệnbệnh, căn bệnh học/nguyên nhângây bệnh, biến chứng của bệnh,chi tiết vị trí phẫu thuật, dichứng, mức độ suy yếu chức
Trang 16năng, các tác nhân sinh hoá học,giai đoạn/thời kỳ, liên quan đếnhạch bạch huyết, sự thuận bên
và sự định vị, quy trình hay cấyghép có liên quan, số tuổi có liênquan, hay liên quan đến khớpxương)
Sự thuận bên Không xác định bên
phải đối lập với bêntrái
Thường xác định bên phải đốivới bên trái
Mã mẫu2 813.15, chỗ gẫy xương S52123C, chỗ gãy xương được
thay thế của đầu xương quaykhông xác định, ban đầu gặpphải với chỗ gãy xương mở loạiIIIA, IIIB hay IIIC
mở của đầu xươngquay
Tình hình áp dụng chuẩn ICD tại Việt Nam
Phân loại bệnh tật lần thứ 10 (ICD-10) do Tổ chức Y tế Thế giới WHO banhành từ năm 1994 đã được Bộ Y tế Việt Nam chính thức quy định việc thống kêbệnh tật ở bệnh viện làm quen với Bảng phân loại mới này với bộ 3 ký tự: Chươngbệnh, nhóm bệnh và bệnh
Tài liệu ICD-10 được Bộ Y tế xuất bản năm 2000 với sự tham gia biên dịch,hiệu chỉnh của nhiều giáo sư, bác sĩ thuộc nhiều chuyên khoa khác nhau, bước đầu
đã giúp cho các bệnh viện có được Bảng phân loại bệnh tật bằng tiếng Việt và tiếngAnh phục vụ công tác khám chữa bệnh, nghiên cứu khoa học và hòa nhập với phânloại bệnh tật trên thế giới
Với Bảng phân loại quốc tế bệnh tật Việt – Anh lần thứ 10 do Bộ Y tế banhành đến nay vẫn là một tài liệu sử dụng thực tế mang tính ứng dụng cao trongngành Y tế Việt Nam
Lợi ích khi áp dụng chuẩn mã bệnh ICD 10
Trang 17Ứng dụng chuẩn ICD, đặc biệt với phiên bản 10 và các phiên bản trongtương lai, hỗ trợ đắc lực cho công tác quản lý, điều hành, nghiên cứu khoa học vàchia sẻ thông tin, phục vụ các đối tượng trong hoạt động khám chữa bệnh (cơ sở y
tế, người bệnh, quản lý nhà nước…) Các lợi ích chính của việc phân loại chi tiếtcác bệnh theo mã bệnh:
Một là, xử lý chính xác và thống nhất vấn đề thống kê tình hình phát triểnbệnh tật và số liệu nghiên cứu phục vụ cho công tác phòng và chữa bệnh;
Hai là, Căn cứ vào việc định danh chính xác các mặt bệnh, là cơ sở pháp lý và
cơ sở khoa học để xây dựng các phác đồ điều trị, cơ sở y tế dễ dàng hơn trong việcquyết định cung cấp các dịch vụ khám chữa bệnh tương ứng với từng mã bệnh tật;
Ba là: Việc quy chuẩn và chi tiết hóa định danh bệnh tật còn giúp cho việcquản lý chi phí khám chữa bệnh, đặc biệt với các tổ chức phụ trách việc chi trả bảohiểm y tế, thanh toán các khoản chi phí khám chữa bệnh;
Bốn là: Với các nước đang phát triển, việc áp dụng chuẩn hóa các mặt bệnhtật trên thế giới, sẽ giúp gia tăng cơ hội hội nhập cộng đồng khoa học y tế của thếgiới, tiếp thu các phát triển mới về ứng dụng công nghệ trong y tế
1.4 Chuẩn Digital Imaging and Communications in Medicine (DICOM)
DICOM là hệ thống tiêu chuẩn được ứng dụng rộng rãi trong y tế DICOM(Digital Imaging and Communications in Medicine) là một hệ thống tiêu chuẩncông nghiệp được phát triển nhằm đáp ứng nhu cầu của của các nhà sản xuất cũngnhư người sử dụng trong việc kết nối, lưu trữ, trao đổi, in ấn ảnh y tế mà không phụthuộc vào nhà sản xuất
Chuẩn DICOM làm cho các thiết bị đòi hỏi quy chuẩn tương tác dễ dàng Cụ thể:
- Gửi các ngữ nghĩa của các lệnh và dữ liệu đã được kết hợp Đối với cácthiết bị tương tác, phải có các chuẩn trên những thiết bị cần tương tác với các lệnhhoặc kết hợp dữ liệu, không chỉ đối với thông tin mà còn có thể truyền giữa cácthiết bị
- Gửi các ngữ nghĩa của các dịch vụ tập tin, các định dạng ảnh và các thưmục thông tin cần thiết cho sự thông tin liên lạc độc lập
Trang 18- Rõ ràng trong việc định nghĩa các yêu cầu quy chuẩn của các hình thứcthực thi (implementions) của chuẩn Cụ thể, một phát biểu quy chuẩn (ConformanceStatement) phải chỉ rõ thông tin đầy đủ để xác định các hàm tương tác có thể đượcmong đợi với các thiết bị khác có đòi hỏi quy chuẩn (conformance)
- Hoạt động dễ dàng trong môi trường mạng
- Có cấu trúc để cung cấp sự giới thiệu của các dịch vụ mới, do đó dễ dàngtrong việc hỗ trợ các ứng dụng máy y khoa trong tương lai
Định dạng ảnh DICOM
Định dạng ảnh DICOM được quy định trong mục 10 Hiện nay DICOM làđịnh dạng ảnh được dùng phổ biến nhất trong y tế Một file ảnh DICOM ngoài dữliệu hình ảnh, còn chứa cả những thông tin khác như thông tin về bệnh nhân, về loạimáy tạo ra bức ảnh… Đó cũng là sự khác biệt của định dạng ảnh DICOM so vớicác định dạng ảnh khác Một file theo định dạng DICOM thường có phần mở rộng là.dcm
- Phần tiêu đề (header)
Phần tiêu đề chứa toàn bộ các thông tin về bệnh nhân, về thiết bị tạo ra bứcảnh và các thông tin quy định các mã hóa dữ liệu: Phương pháp mã hóa, giải mã vàcác thông tin liên quan
Cấu trúc tiêu đề như sau:
Đầu tiên là 128 byte File Preamble (offset), các chương trình đọc fileDICOM sẽ bỏ qua nội dung chứa trong 128 byte đầu tiên này Tiếp theo là 4 bytechứa chuỗi ‘DICM’ Tiếp theo là các thông tin về file (File Meta Elements) Cácthông tin này được tổ chức thành các nhóm, trong mỗi nhóm lại gồm nhiều phần tử:
Trang 19Hình 1.3: Cấu trúc ảnh DICOM
- Dữ liệu ảnh (Data Set)
Phần này chứa các thông tin hình ảnh Các yếu tố DICOM yêu cầu phụ thuộcvào loại hình ảnh, và được liệt kê trong phần 3 của tiêu chuẩn DICOM Ví dụ,phương thức hình ảnh này là "MR (xem nhóm: yếu tố 0008:0060), vì vậy nó cầnphải có các yếu tố để mô tả thời gian MRI echo Sự vắng mặt của thông tin nàytrong hình ảnh này là một hành vi vi phạm các tiêu chuẩn DICOM Trong thực tế,hầu hết phần mềm đọc định dạng DICOM (bao gồm cả MRIcro và ezDICOM)không kiểm tra sự hiện diện của hầu hết những yếu tố này, giải nén chỉ có các thôngtin tiêu đề trong đó mô tả kích thước hình ảnh
Các tiêu chuẩn trước NEMA cho DICOM, có cấu trúc tương tự nhau vớinhiều yếu tố tương tự Sự khác biệt chính là các định dạng NEMA không có dữ liệu128-byte bù đắp đệm hoặc ký tự DICM Ngoài ra, NEMA không xác định rõ ràngmuilti-frame (3D) hình ảnh, vì vậy yếu tố 0028,0008 đã không có mặt
Đặc biệt quan trọng là nhóm: yếu tố 0002:0010 Điều này xác định "Xácđịnh cú pháp chuyển giao duy nhất Giá trị này thể hiện cấu trúc của các dữ liệu
Trang 20tế (Huffman lossless JPEG là hiệu quả hơn thuật toán JPEG-LS) Các mã này được
mô tả trong phần 5 của tiêu chuẩn DICOM Lưu ý rằng cũng như các báo cáo kỹthuật nén (nếu có), UID Cú pháp chuyển giao báo cáo thứ tự byte dữ liệu thô Cácmáy tính khác nhau lưu trữ giá trị số nguyên khác nhau, vì vậy được gọi là 'về cuốilớn' và 'ít về cuối' Hãy xem xét một số nguyên 16-bit với giá trị 257 thì byte quantrọng nhất được lưu trữ giá trị 01 (= 255), trong khi các byte ít quan trọng hơn sẽlưu trữ với giá trị 02 Một số máy tính sẽ lưu giá trị này là 01:02, trong khi nhữngngười khác sẽ lưu trữ nó như là 02:01 Do đó, cho dữ liệu với hơn 8-bit cho mỗimẫu, phần mềm xem DICOM có thể cần trao đổi byte thứ tự của dữ liệu để phù hợpvới trật tự được sử dụng bởi máy tính của bạn
1.5 Chuẩn Clinical Document Architecture (CDA)
Chuẩn tài liệu lâm sàng - HL7 Clinical Document Architecture (CDA) làchuẩn tài liệu có cấu trúc Thông qua chuẩn tài liệu này, sẽ chỉ rõ cho cơ quan quản
lý, các cơ sở y tế, các nhà thiết kế phần mềm, phần cứng về tính cấu trúc "Stucture"
và tính ngữ nghĩa "Semantic" của một tài liệu lâm sàng Với mục đích hỗ trợ việc
trao đổi thông tin giữa các cơ sở y tế, các tổ chức cơ quan liên quan được thuận tiện
và chính xác trên môi trường truyền thông rất đa dạng và phong phú hiện nay
Mục đích thiết kế chuẩn tài liệu CDA.
Mục đích:
o Đưa ra quy định trong việc trao đổi thông tin chăm sóc sức khỏe
o Mang lại hiệu quả trong việc triển khai các hệ thống mang tính liên thông,
có sự trao đổi và chia sẻ thông tin giữa các hệ thống khác nhau trên phạm vi lớn
o Việc mở và hiển thị nội dung tài liệu CDA không bị giới hạn bởi sự khácnhau về công nghệ và phần mềm hiện đang sử dụng giữa nơi gửi và nơi nhận
Trang 21o Cung cấp một thiết hợp lý cho mọi ứng dụng.
o Cho phép ghi lại những thông tin nhằm đáp ứng nhưng yêu cầu và các quyđịnh trong việc giám sát và quản lý thông tin trong tài liệu
Các tính chất của một tài liệu CDA
Một tài liệu lâm sàng được thiết kế dựa trên chuẩn tài liệu CDA sẽ có 6 tínhchất sau:
- Tính bền - Persistence: Một tài liệu CDA tiếp tục lưu trữ và được bảo tồntrong trạng thái nguyên vẹn về cấu trúc và ngữ nghĩa, trong khoảng thời gian đápứng các yêu cầu truy vấn thông tin từ phía người sử dụng và khai thác tài liệu
- Tính quản lý - Stewardship: Một tài liệu lâm sàng cần phải được duy trì,cập nhật, bảo đảm tính an toàn, an ninh và toàn vẹn bởi một tổ chức cơ quan cóthẩm quyền
- Tính xác thực - Potential for authentication: Một tài liệu lâm sàng là sự tậphợp các thông tin mà có thể dùng để chứng thực tính pháp lý
- Tính bối cảnh - Context: Một tài liệu lâm sàng cần phải chứng minh đượcbối cảnh với nội dung của nó
- Tính đủ - Wholeness: Tính toàn vẹn và đầy đủ của tài liệu được áp dụngcho toàn bộ tài liệu CDA, không phải chỉ áp dụng cho riêng từng phần của tài liệu
- Tính dễ đọc - Human readability: Tài liệu CDA lưu trữ thông tin thông quacấu trúc vốn có của tài liệu, tuy nhiên phải thỏa mãn tính chất dễ dàng đọc được đốivới người nhận Tính chất này được thể hiện cụ thể hơn ở chỗ: tài liệu CDA sẽ dễ
Trang 22dàng mở, và hiển thị nội dung cho người nhận thông qua các trình duyệt Web
Tính an toàn, trách nhiệm và tính toàn vẹn.
Hệ thống gửi và nhận tài liệu CDA phải giải quyết được các vấn đề về mặtpháp lý đối với các nội dung trong tài liệu, tính trách nhiệm trong việc cung cấpthông tin và lưu trữ Đảm bảo việc mã hóa và giải mã thông tin khi trao đổi thôngtin qua các môi trường truyền thông đa phương tiện và có thể sử dụng lại thông quacác các sản phẩm ứng dụng hiện tại Đối với CDA, tài liệu sẽ cung cấp các trạngthái dùng trong việc bảo mật thông tin để giúp cho các hệ thống quản lý truy xuấtcác thông tin cần được bảo mật một cách an toàn và đảm bảo tính pháp lý Nhữngthông tin này có thể được áp dụng cho toàn bộ thông tin trong tài liệu CDA hoặc cóthể được chỉ ra trong từng phần nội dung có trong tài liệu Việc khai báo và lựachọn các thông tin này được khai báo trong phần Header của tài liệu CDA hoặctrong section của phần Component
Các kiến thức liên quan đến tạo tài liệu CDA.
Tài liệu CDA được sinh ra dựa trên mô hình HL7 RIM, phiên bản 2.07 Theophiên bản này trong RIM có các vấn đề chính sau: Kiến trúc RIM gồm có 6 thànhphần cơ bản gọi là Six back-bones: Act, Participation, Entity, Role,ActRelationship, and RoleLink
- Act: Sự kiện kích hoạt để sinh các Section trong tài liệu, được nhận từ cáctrình ứng dụng trong các cơ sở y tế Ví dụ: Bệnh nhân nhập viện, xuất viện, in phiếulĩnh thuốc…
- Participation: Thông tin về các tác nhân tham gia khởi động sự kiện Ví dụ:
ai là người thực hiện sự kiện, thời gian bắt đầu, thời gian kết thúc …
- Entity: Mô tả người thực hiện hoặc các thực thể, bao gồm cả các cơ quan tổchức, gây phát sinh sự kiện
- Role: Mô tả các hành vi và hoạt động liên quan đến các sự kiện
- ActRelationship: Mô tả các quan hệ giữa các sự kiện
- RoleLink: Mô tả tính phụ thuộc giữa hai hành vi (Roles)
Trang 2315
Trang 242.1 Khái niệm
CHƯƠNG 2 CHUẨN HL7 V2.8
Chuẩn HL7 phiên bản 2.8 cung cấp một phương thức giao tiếp kết nối dànhcho các ứng dụng và các kiến trúc dữ liệu khác nhau đang hoạt động trong môitrường hệ thống khác nhau có thể giao tiếp và trao đổi dữ liệu cho nhau Chuẩn HL7phiên bản 2.8 được thiết kế và được sử dụng để cung cấp các tiêu chuẩn dành choviệc trao đổi dữ liệu giữa các ứng dụng máy tính trong lĩnh vực chăm sóc sức khỏe
2.2 Môi trường truyền thông
Tiêu chuẩn HL7 định nghĩa các bản tin/thông điệp được trao đổi giữa cácthực thể ứng dụng và các thủ tục được sử dụng để trao đổi chúng
a) Các môi trường phi thể thức (ad hoc) không cung cấp ngay cả độ tin cậytruyền đưa cơ bản Môi trường này bao gồm những liên kết điểm – đến – điểm RS-
232, modems và thậm chí cả mạng nội bộ (LAN), nếu kết nối của chúng đến các máy tính chủ được thực hiện thông qua liên kết RS-232
b) Các môi trường hỗ trợ một mức truyền tải mạnh mẽ, nhưng không đápứng các yêu cầu mức độ cao Môi trường này bao gồm các môi trường chẳng hạnnhư TCP/IP, DECNET, và SNA
c) Các mạng độc quyền và tiêu chuẩn ISO triển khai cho các dịch vụ thôngthường và dịch vụ cao cấp khác SNA LU6.2 của IBM và NFS của SUNMicrosystems là những ví dụ của các mạng độc quyền
d) Hai hoặc nhiều hơn các ứng dụng hoạt động trên cùng máy vật lý và/hoặcluận lý (logic) không được tích hợp chặt chẽ
Các tiêu chuẩn HL7 cho rằng môi trường truyền thông sẽ cung cấp các khảnăng sau đây:
a) Không có lỗi truyền tải Các ứng dụng có thể giả định rằng chúng sẽ nhậnchính xác tất cả các đơn vị dữ liệu byte truyền đi theo thứ tự giống như chúng đượcgửi đi
b) Chuyển đổi ký tự Nếu hai máy trao đổi dữ liệu sử dụng bộ ký tự đại diện
Trang 25khác nhau, môi trường truyền thông sẽ hỗ trợ chuyển đổi dữ liệu từ bộ ký tự đại diện này sang bộ ký tự đại diện khác.
c) Kích thước (dung lượng) bản tin Tiêu chuẩn HL7 không giới hạn về kíchthước tối đa của bản tin HL7 Tiêu chuẩn giả định (mặc nhiên) rằng môi trườngtruyền thông có thể truyền tải đầy đủ bản tin mà không phụ thuộc vào kích thướcbản tin
2.3 Khung bản tin
Mục này sẽ xác định các thành phần của bản tin, đồng thời cung cấp cácphương pháp luận để định nghĩa các bản tin lý thuyết được sử dụng trong cácchương sau
2.3.1 Các bản tin
Bản tin là đơn vị dữ liệu nhỏ nhất trong việc chuyển dữ liệu giữa các hệthống ứng dụng Bản tin bao gồm một nhóm các phân đoạn dữ liệu được định nghĩacho một mục tiêu nhất định Mỗi một bản tin có một kiểu bản tin được định nghĩacho một mục tiêu Ví dụ, kiểu bản tin ADT được sử dụng để truyền tải các dữ liệu
về quản lý bệnh nhân (ADT) của một bệnh nhân từ một hệ thống ứng dụng này sang
hệ thống ứng dụng khác Mỗi bản tin sẽ được mã hóa bằng một bộ mã ba ký tự, mãbản tin sẽ xác định kiểu bản tin và mục tiêu của bản tin đó
2.3.2 Phân đoạn và nhóm phân đoạn dữ liệu
Đoạn dữ liệu là một nhóm bao gồm các trường dữ liệu được sắp xếp theomột trật tự nhất định
Đoạn dữ liệu của một bản tin có thể được quy định là bắt buộc hoặc tùy chọn(không bắt buộc)
Đoạn có thể xuất hiện một lần hoặc xuất hiện lặp đi lặp lại nhiều lẩn trongmột bản tin
Mỗi đoạn dữ liệu đều có một tên riêng duy nhất
2.3.3 Các trường dữ liệu
Định nghĩa: Trường dữ liệu là một chuỗi bao gồm các ký tự Tiêu chuẩn HL7định nghĩa tất cả các trường dữ liệu được sử dụng trong phân đoạn
Trang 26Trạng thái trường dữ liệu và thành phần trường dữ liệu
Tiêu chuẩn HL7 không quan tâm đến phương thức lưu giữ dữ liệu của các hệthống ứng dụng như thế nào Khi các trường dữ liệu được truyền tải, chúng sẽ đượctruyền tải theo các chuỗi ký tự
Một trường dữ liệu sẽ tồn tại một trong ba trạng thái phổ biến trong bản tin HL7:
Phổ biến:
(tương đương: Có giá trị, không được bỏ trống, không rỗng) Hệ thống gửichuyển một giá trị dữ liệu vào trường dữ liệu
Không phổ biến:
(tương đương: không phổ biến, không có giá trị, trống, không hiển thị, thiếu
dữ liệu) Hệ thống gửi không cung cấp giá trị dữ liệu cho trường dữ liệu Hệ thốnggửi có thể có hoặc có thể không có giá trị dữ liệu cho trường dữ liệu Hệ thống nhận
có thể tạo sự không suy luận về sự vắng mặt hay thiếu sót một thành phần giá trị nếukhông có một hồ sơ quản lý phù hợp cho việc triển khai thực hiện
Vô giá trị (rỗng - null):
Các ứng dụng tiếp nhận nên xóa hết bất kỳ giá trị hiện hữu nào trong CSDL
Ký hiệu dấu ngoặc kép “” sẽ được sử dụng để đại diện cho trường dữ liệu “vô giátrị” (ví dụ, |“”|) Việc sử dụng dấu ngoặc kép liên tiếp đại diện cho nội dung của mộttrường dữ liệu, điều này sẽ bị cấm và xem là không hợp lệ nếu ký hiệu “” phục vụcho những mục đích khác
Vị trí (số thứ tự trong phân đoạn).
Định nghĩa: Vị trí thứ tự của trường dữ liệu trong phân đoạn Số thứ tự nàyđược sử dụng để tham chiếu đến trường dữ liệu theo đoạn văn ghi chú trong bảngđịnh nghĩa phân đoạn Trong bảng thuộc tính phân đoạn, thông tin này được cungcấp ở cột có tên SEQ
Kích thước
Định nghĩa: Nếu áp dụng, số lượng ký tự có thể xuất hiện cùng một lúc củatrường dữ liệu hoặc thành phần trong trường hợp trường dữ liệu có trạng thái phổbiến (trạng thái có giá trị)
Trang 27Loại dữ liệu có thể là loại dữ liệu cơ bản hoặc là loại dữ liệu phức hợp Loại
dữ liệu cơ bản (Primitive) bao gồm một chuỗi các ký tự xác định rõ nội dung củaloại dữ liệu Loại dữ liệu phức hợp (Composite) được cấu thành bởi các thành phần
dữ liệu, mỗi một thành phần dữ liệu là một loại dữ liệu
O Tùy chọn (không bắt buộc)
C(a/b)
Điều kiện dựa trên sự kiện kích hoạt hoặc trường dữ liệu khác Những địnhnghĩa trường dữ liệu theo bảng thuộc tính của phân đoạn nên xác định rõthuật toán định nghĩa cho trường dữ liệu này Một thành phần với mã điềukiện sử dụng liên quan đến thuộc tính điều kiện (tham khảo mục 2.B.7.9,
“Thuộc tính điều kiện”) chỉ rõ những yêu cầu (mã sử dụng) của thành phần
dữ liệu Nếu thuộc tính điều kiện của một phần tử là đúng (true), thì sử dụng
quy tắc a, khi đó phần tử sẽ có một trong các tính chất sau “R”, “RE”,
Trang 28“O” hoặc “X”: Nếu thuộc tính điều kiện của một phần tử là sai (false), thì sử
dụng quy tắc b, khi đó phần tử sẽ có một trong những tính chất sau “R”,
“RE”, “O” hoặc “X”
Sự lặp lại
Định nghĩa: Trong trường hợp trường dữ liệu lặp lại Giá trị xuất hiện ở cộtlặp lại là một số tự nhiên cho biết số lần tối đa mà trường dữ liệu này có thể xuấthiện trong phân đoạn, ví dụ: giá trị ‘3’ có nghĩa là trường dữ liệu có thể xuất hiệntối đa 3 lần; nếu cột lặp lại không xác định rõ giá trị hoặc không có giá trị, trường
dữ liệu có thể xuất hiện một lần, có nghĩa là trường dữ liệu không lặp lại
Trong bảng thuộc tính phân đoạn, thông tin lặp lại này được cung cấp ở cột
có tên RP#.
Thiết kế cho cột lặp lại
N or blank không lặp lại
Y trường dữ liệu có thể lặp lại vô hạn hoặc theo số lần xác định
(integer) trường dữ liệu có thể lặp lại tối đa bằng số tự nhiên đã được xác định
Mỗi một lần xuất hiện, nội dung của trường dữ liệu sẽ có kích thước tối đabằng kích thước tối đa đã được quy định ở cột kích thước
Bảng
Một bảng HL7 là một tập các giá trị đã được HL7 định nghĩa và công bố.Chúng là một phần của Tiêu chuẩn HL7 bởi vì chúng ảnh hưởng đến việc diễn giảicác bản tin chứa chúng
Số định danh ID
Định nghĩa: Số tự nhiên không âm được sử dụng để xác định mã định danhduy nhất cho phần tử dữ liệu xuyên suốt tiêu chuẩn Trong bảng thuộc tính địnhnghĩa phân đoạn, thông tin này được cung cấp ở cột có tên ITEM# (Mã định danhhạng mục)
Tên gọi
Định nghĩa: Tên mô tả cho một phần tử hoặc một trường dữ liệu Trong bảngthuộc tính định nghĩa phân đoạn, thông tin này được cung cấp ở cột có tên
Trang 29-Ngăn cách giữa các trường dữ liệu
này cũng ngăn cách giữa mã phânđoạn và trường dữ liệu đầutiên của phân đoạn
Ngăn cách thành
Ngăn cách giữa các thành phần dữliệu liền kề nhau của một trường dữ liệu theo quy định
Ngăn cách lặp lại ~ 2 Ngăn cách giữa các dữ liệu lặp lại
của một trường dữ liệu theo quy định
Ngăn cách thành phần dữ liệu conliền kề nhau của một trường
ELEMENT NAME
Các ký tự ngăn cách trong bản tin
Trong quá trình xây dựng bản tin, các ký tự đặc biệt được sử dụng nhằm báohiệu sự chấm dứt của một phân đoạn, ngăn cách giữa các trường dữ liệu, ngăn cáchgiữa các thành phần dữ liệu, ngăn cách giữa các thành phần dữ liệu con, ngăn cáchgiữa các dữ liệu lặp lại, ký tự escape ‘\’ và ký tự rút gọn
trường dữ liệu
Trang 30dữ liệu theo quy định
Ký tự này sẽ được sử dụng trong cácmẫu rút gọn – tham khảo mục 2.5.5.2, mẫu rút gọn
2.4 Quy tắc xây dựng bản tin
Trong quá trình xây dựng bản tin, các ký tự đặc biệt sẽ được sử dụng Chúngbao gồm các ký tự ngăn cách giữa các phân đoạn, ngăn cách giữa các trường dữliệu, ngăn cách giữa các thành phần dữ liệu, ngăn cách giữa các dữ liệu lặp lại, ký tự
‘\’ và ký tự rút gọn (thông thường ‘#’) Ký tự chấm dứt và ngăn cách giữa các phânđoạn luôn luôn là ký tự xuống dòng và bắt đầu một dòng mới (mã ASCII là 0D theo
hệ thập lục phân hoặc <cr>) Những ký tự ngăn cách khác sẽ được định nghĩa trongphân đoạn tiêu đề bản tin MSH, với trường dữ liệu bộ ký tự ngăn cách có kíchthước là 4 (bao gồm vị trí của từng ký tự ngăn cách theo thứ tự) và bộ ký tự nàyđược gọi là bộ ký tự mã hóa, bộ ký tự mã hóa này được định nghĩa tại trường dữliệu đầu tiên của phân đoạn tiêu đề MSH
2.4.1 Mã giả dành cho việc xây dựng bản tin
Trang 31Hình 2.1: Biểu đồ quy tắc truyền một bản tin
Trang 32Hình 2.2: Biểu đồ quy tắc truyền một trường dữ liệu xuất hiện
Trang 332.4.2 Quy tắc cho hệ thống tiếp nhận
Quy tắc sau đây được áp dụng cho hệ thống tiếp nhận những bản tin HL7 vàchuyển đổi nội dung sang các giá trị dữ liệu:
a) Bỏ qua các phân đoạn, các trường dữ liệu, các thành phần dữ liệu, cácthành phần dữ liệu con và trường dữ liệu lặp lại xuất hiện nhưng không mong muốn
b) Lưu ý đến những phân đoạn mong muốn nhưng không xuất hiện bao gồmtoàn bộ những trường dữ liệu không xuất hiện
c) Lưu ý đến việc xử lý các trường dữ liệu và thành phần dữ liệu mong muốnnhưng không xuất hiện thuộc về phân đoạn không xuất hiện
Một số biến thể đã tồn tại và đã được trình bày ở nơi khác:
a) Một giao thức số thứ tự tùy chọn
b) Giao thức tùy chọn hỗ trợ việc tiếp tục một bản tin dài
Giao thức được trình bày dưới dạng hai thực thể, hệ thống khởi tạo và hệthống phản hồi Mỗi một thực thể đại diện cho bên gửi và bên nhận bản tin Hệthống khởi tạo thực hiện việc gửi trước và nhận sau, trong khi hệ thống phản hồithực hiện việc nhận trước và gửi sau
Tổng quan, tiến trình trao đổi này được trình bày trong bảng sau:
Bước 1
Khởi tạo cấu trúc bản tin HL7 từ ứng dụng
và gửi bản tin đến hệ thống phản hồi (hệ
Trang 34hồi cơ bản hoặc nâng caoBước 3 Hệ thống phản hồi gửi bản tin phản hồi
Bước 4 Hệ thống khởi tạo xử lý bản tin phản hồi
2.5.1 Khởi tạo bản tin
Ứng dụng khởi tạo xây dựng một bản tin với các giá trị dữ liệu đã được địnhnghĩa trong các chương tương ứng tại tiêu chuẩn này Các trường dữ liệu được mô
tả đưới đây phải có giá trị phù hợp với phân đoạn MSH (Message Header Segment).Bản tin được mã hóa phù hợp với các quy tắc ứng dụng và được gửi đến giao thứccấp thấp, nơi sẽ chịu trách nhiệm gửi bản tin đến ứng dụng phản hồi
Một số trường dữ liệu khác của phân đoạn MSH được sử dụng cho các quy tắc
mã hóa HL7; chúng sẽ không phù hợp nếu các quy tắc mã hóa khác được sử dụng
Mã sự kiện trong thành phần dữ liệu thứ hai của trường dữ liệu MSH-9-Loại bản tin thì được trình bày một cách dư thừa ở một vài nơi khác trong bản tin
Trang 352.5.2 Bản tin phản hồi sử dụng quy tắc xử lý cơ bản
Chấp nhận và xác nhận tính hợp lệ bản tin tại hệ thống phản hồi
Khi nhận được bản tin và khi các quy tắc phản hồi cơ bản được áp dụng, giaothức phần mềm trong hệ thống phản hồi xác nhận tính hợp lệ bản tin thỏa mãn tốithiểu các tiêu chí sau đây:
a) Giá trị trường dữ liệu MSH-9-Loại bản tin được chấp thuận ở hệ thốngnhận b) Giá trị trường dữ liệu MSH-12-Mã phiên bản được chấp thuận ở hệthống nhận c) Giá trị trường dữ liệu MSH-11-Mã xử lý phải phù hợp với ứngdụng xử lý
bản tin
Nếu một trong các tiêu chí nêu trên không được thỏa mãn, giao thức phầnmềm từ chối tiếp nhận bản tin Điều này có nghĩa là, hệ thống phản hồi tạo bản tinACK với mã AR tại trường dữ liệu MSA-1-Mã phản hồi
Nếu thành công, tiến trình sẽ thực hiện bước tiếp theo
Chấp thuận và xác nhận tính hợp lệ/xử lý bản tin tại hệ thống tiếp nhận Khi xác nhận tính hợp lệ thành công tại hệ thống nhận, bản tin được chuyển sang ứng dụng nhận để thực thi các chức năng sau:
a) Xử lý bản tin thành công, tạo bản tin phản hồi với giá trị mã AA tại trường
dữ liệu MSA-1-Mã phản hồi
b) Gửi phản hồi lỗi, cung cấp thông tin lỗi xảy ra khi xử lý phân đoạn chứcnăng trong bản tin phản hồi với giá trị mã AE tại trường dữ liệu MSA-1-Mã phảnhồi c) Xử lý không thành công (từ chối tiếp nhận) bản tin trong các trường hợpcác nguyên nhân không liên quan đến nội dung hoặc định dạng bản tin (sập hệ thống, lỗi nội bộ, vv)
Trong tất cả những mô tả về bản tin phản hồi ở trên, các giá trị được thiết lậptrong phân đoạn MSA
MSA-1-Mã phản hồi Đã trình bày ở mục trên
MSA-2-Mã điều khiển bản tin Giá trị được sao chép từ trường dữ liệu
MSH-10-Mã điều khiển bản tin của bản tin khởi tạo (bản tin
Trang 36đến)MSA-4-Số thứ tự mong đợi
MSA-3-Văn bản mô tả lỗi Mô tả lỗi dưới dạng văn bản
Chuyển bản tin phản hồi
Khi nhận được bản tin phản hồi từ ứng dụng nhận, hệ thống phản hồi chuyểnbản tin này đến hệ thống khởi tạo bản tin
Hệ thống khởi tạo bản tin xử lý bản tin phản hồi
Phản hồi sử dụng phương thức phản hồi nâng cao
a) Hệ thống phản hồi nhận và lưu giữ bản tin đến vào nơi lưu trữ an toàn.Điều này có nghĩa là hệ thống phản hồi chấp nhận trách nhiệm cho bản tin theophương thức giải phóng nghĩa vụ gửi lại bản tin của hệ thống gửi
b) Tại thời điểm này, các yêu cầu của những ứng dụng liên quan đến giaodiện xác định có hay không có thêm thông tin cần phải được trao đổi
Chấp nhận và xác nhận tính hợp lệ của bản tin tại hệ thống phản hồi
Khi nhận được bản tin và khi các quy tắc phản hồi nâng cao được sử dụng,giao thức phần mềm của hệ thống phản hồi thực hiện quyết định có hoặc khôngchấp nhận bản tin đến dựa trên các yếu tố sau:
a) Trạng thái của cổng kết nối giao tiếp
b) Sự tồn tại của bộ lưu trữ an toàn cho việc lưu trữ bản tin đến
c) Tính chính xác về mặt cú pháp của bản tin, nếu thiết kế của hệ thống nhận
có loại hình xác nhận tính đúng đắn tại giai đoạn này
d) Giá trị trường dữ liệu MSH-9-Loại bản tin, MSH-12-Mã phiên bản vàMSH-11-Mã xử lý bản tin, nếu thiết kế của hệ thống nhận có loại hình xác nhậntính đúng đắn tại giai đoạn này
Trang 37Sau đó kiểm tra phân đoạn MSH để xác định hệ thống khởi tạo có hoặckhông yêu cầu một phản hồi chấp nhận.
Truyền bản tin phản hồi thông thường
Một bản tin phản hồi thông thường không thường xuyên được yêu cầu bởi hệthống khởi tạo, nhưng nếu nó được hệ thống phản hồi gửi lại theo các trường hợpsau: a) Cam kết chấp nhận (CA) trong trường dữ liệu MSA-1-Mã phản hồi nếubản tin đến được chấp nhận trong quá trình xử lý
b) Cam kết từ chối (CR) trong trường dữ liệu MSA-1-Mã phản hồi nếu mộttrong những giá trị của trường dữ liệu MSH-9-Loại bản tin, MSH-12-Mã phiên bảnhoặc MSH-11- Mã xử lý bản tin không được chấp nhận bởi ứng dụng nhận
c) Cam kết lỗi (CE) trong trường dữ liệu MSA-1-Mã phản hồi nếu bản tinđến không thể được chấp nhận bởi bất kỳ nguyên nhân nào (VD lỗi số thứ tự)
Truyền phản hồi ứng dụng
Nếu phân đoạn tiêu đề bản tin xác định rằng hệ thống khởi tạo cũng đòi hỏimột phản hồi ứng dụng, thì vấn đề này sẽ được trả lại như bản tin khởi tạo của lầntrao đổi sau
a) Điều kiện khởi tạo:
1) Hệ thống tiếp nhận luồng dữ liệu được dự kiến để lưu trữ các số thứ tự củacác giao dịch được chấp nhận gần đây nhất một cách an toàn trước khi phản hồigiao dịch đó Số thứ tự được lưu trữ này cho phép so sánh với số thứ tự của giaodịch tiếp theo và thực hiện các khả năng khởi động lại chịu lỗi
Trang 382) Hệ thống khởi tạo giữ một hàng đợi danh sách các giao dịch gửi đi đượcđánh chỉ mục bởi các số thứ tự Chiều dài của hàng đợi này phải được đàm phánnhư là một thành phần của quá trình thiết kế theo một liên kết được đưa ra Chiềudài tối thiểu của hàng đợi này là một.
3) Số thứ tự là một số nguyên dương; và nó tự động tăng một (bởi hệ thốngkhởi tạo) cho mỗi lần giao dịch thành công
b) Bắt đầu liên kết:
1) Giá trị 0 cho một chuỗi số thứ tự được thiết lập: Điều này xảy ra khi hệthống khởi tạo khởi động lại liên kết
2) Nếu hệ thống tiếp nhận thu nhận một giao dịch với giá trị 0 trong trường
dữ liệu số thứ tự, số thứ tự này nên được phản hồi với bản tin phản hồi thôngthường và phân đoạn MSA chứa một số thứ tự lớn hơn số thứ tự của giao dịch cuốicùng được chấp nhận trong trường dữ liệu số thứ tự dự kiến
3) Hệ thống khởi tạo gửi giao dịch được thiết lập chỉ mục bởi số thứ tự dựkiến (nếu giao dịch dự kiến vẫn còn tồn tại trong hàng đợi) Ngược lại, liên kết bịngưng trệ cho đến khi một hoạt động can thiệp đến
c) Hoạt động bình thường của liên kết
Như nó chấp nhận mỗi giao dịch, hệ thống nhận lưu trữ các số thứ tự mộtcách an toàn (đồng ý với số thứ tự dự kiến của nó) và sau đó phản hồi các bản tinbằng cách sao chép lại số thứ tự trong trường dữ liệu MSA-4-Số thứ tự dự kiến
d) Các điều kiện lỗi (từ quan điểm của hệ thống khởi tạo) Chúng được tạo rabởi hệ thống tiếp nhận, bằng cách so sánh số thứ tự gửi ra (giá trị trường dữ liệuMSH-13-Số thứ tự trong MSH) với số thứ tự dự kiến (đã nhận giá trị trường dữ liệuMSA-4-Số thứ tự dự kiến trong MSA)
1) Số thứ tự dự kiến sẽ là một trong những giá trị lớn hơn giá trị hiện tại.Phản hồi trước đó đã bị mất Giao dịch đã được gửi một lần nữa Chính xác bằngcách gửi giao dịch tiếp theo
2) Số thứ tự dự kiến sẽ nhỏ hơn giá trị hiện tại Hệ thống khởi tạo có thể thửbắt đầu một lần nữa bằng cách phát hành một giao dịch với số thứ tự 0; hoặc đóng
Trang 39băng các liên kết cho hoạt động can thiệp.
3) Các lỗi khác: Đóng băng các liên kết cho hoạt động can thiệp
e) Buộc tái đồng bộ số thứ tự qua liên kết Giá trị -1 cho một số thứ tự đượcdành riêng: nó chỉ được phép khi hệ thống khởi tạo bắt đầu tái đồng bộ hóa liên kết
Vì vậy, nếu hệ thống tiếp nhận thu nhận được một giá trị là -1 trong trường dữ liệu
số thứ tự, hệ thống tiếp nhận sẽ trả về bản tin phản hồi thông thường với giá trị -1trong trường dữ liệu số thứ tự dự kiến Hệ thống tiếp nhận sau đó thiết lập lại số thứ
tự của nó, bằng cách sử dụng số thứ tự dương khác 0 của giao dịch tiếp theo
2.6.2 Phân đoạn dữ liệu và bản tin nối tiếp
Đôi khi, những hạn chế thực hiện đòi hỏi rằng các phân đoạn dữ liệu hay bảntin lớn được chia thành nhiều phần quản lý Chúng tôi sử dụng thuật ngữ "phânmảnh" để mô tả phương thức bản tin logic được phân chia thành một hoặc nhiềubản tin HL7 riêng biệt HL7 xác định rõ ràng hai trường hợp này có thể xảy ra
Thứ nhất, một phân đoạn duy nhất có thể là quá lớn HL7 sử dụng phân đoạn
"ADD" để xử lý việc phân chia một phân đoạn đơn thành nhiều phân đoạn nhỏ hơn
Thứ hai, một bản tin HL7 duy nhất có thể là quá lớn HL7 sử dụng phân đoạnDSC và các giao thức nối tiếp liên tục để xử lý việc phân mảnh bản tin
Việc phân mảnh phân đoạn/việc tiếp tục bằng cách sử dụng phân đoạn Addendum (ADD).
Bắt đầu từ phiên bản 2.4, các phân đoạn ADD có thể được sử dụng trong mộtbản tin để phân chia một phân đoạn dài thành các phân đoạn ngắn hơn trong mộtbản tin HL7 đơn lẻ
Để phân chia một phân đoạn lớn
a) Phân đoạn đang được tiếp tục (gọi nó là phân đoạn BẤT KỲ cho ví dụnày) được kết thúc ở một vị trí ký tự tùy ý và chấm dứt với các tiêu chuẩn kết thúcphân đoạn (kết thúc dòng - <CR>)
b) Phân đoạn sau đây là phân đoạn ADD Tất cả các ký tự đứng sau phânđoạn ADD và ký tự ngăn cách trường dữ liệu ("|") là một phần logic của phân đoạntrước Tất cả các phân đoạn ADD nối tiếp nhau đều đóng góp dữ liệu/thông tincho phân
Trang 40đoạn BẤT KỲ cho đến khi tìm thấy một phân đoạn không phải là phân đoạn ADD.
c) Một phân đoạn ADD không có ký tự phân cách trường dữ liệu mang một
ý nghĩa đặc biệt
Phân mảnh phân đoạn/việc nối tiếp bằng cách sử dụng phân đoạn DSC
Khi một bản tin phải được phân mảnh và được gửi đi bằng một số bản tinHL7, phân đoạn DSC được sử dụng
a) Đầu tiên, bản tin logic được phân chia sau một phân đoạn tùy ý
b) Tiếp theo, một phân đoạn DSC được gửi đi Trường dữ liệu DSC-1-Contrỏ nối tiếp sẽ có một giá trị duy nhất được sử dụng sao cho phù hợp với một bản tintiếp theo với giá trị cụ thể này
c) Các ký tự chấm dứt DSC phân mảnh đầu tiên của bản tin logic
d) Một bản tin tiếp theo với trường dữ liệu MSH-14-Con trỏ tiếp tục sẽ chứamột giá trị phù hợp với giá trị từ trường dữ liệu DSC-1 Mỗi bản tin tiếp theo sẽ cógiá trị duy nhất của riêng mình cho trường dữ liệu MSH-10-Mã điều khiển bản tin.Phối hợp giữa DSC-1- Con trỏ tiếp tục và trường dữ liệu MSH-14-Con trỏ tiếp tụccủa bản tin tiếp theo được sử dụng để liên kết các phân mảnh theo thứ tự thích hợpcủa chúng
e) Bản tin hợp lý là mối nối những nội dung của bản tin thứ nhất, ghép vớitất cả các phân mảnh tiếp theo
f) Nếu chế độ phản hồi nâng cao được sử dụng để yêu cầu một phản hồiACK chấp nhận, sau đó ứng dụng nhận sẽ nhận từng phân mảnh phản hồi với mộtbản tin ACK
g) Nếu chế độ phản hồi nâng cao được sử dụng để yêu cầu một bản tin phảnhồi ACK ở mức độ ứng dụng, sau đó ứng dụng nhận sẽ gửi một phản hồi xác nhậnsau khi nhận được phân mảnh kết thúc (phân mảnh cuối cùng)
Đây là giao thức lỗi để kết thúc một bản tin với phân đoạn DSC và sau đókhông bao giờ gửi bản tin phân mảnh
Phân mảnh phân đoạn qua các bản tin
Nếu phân đoạn cuối cùng của phân mảnh cần phải được phân chia, thì quy