Lotus Sametime và DB2 pureXML hỗ trợ sự cộng tác trong y tế

Bài viết này giới thiệu một kịch bản trong lĩnh vực y tế dựa trên kiến trúc XML xuyên suốt từ đầu đến cuối, nó cho phép các thông tin được mã hóa trong các tài liệu XML theo kiến trúc tài liệu lâm sàng (CDA - Clinical Document Architecture) mức 7 ngành y tế (HL7- Health Level 7) được lưu trữ trong cùng định dạng đó tại cơ sở dữ liệu DB2 ® pureXML® của IBM®, được trao đổi trong cùng một định dạng bằng cách sử dụng dịch vụ Web, và được hiển thị trực quan ở cùng định dạng bằng cách sử dụng Trình khách Lotus® Sametime ® Connect của IBM. Bạn sẽ thấy cách một nguyên mẫu trình cắm thêm của Sametime cho các trình khách dịch vụ tin nhắn tức thời có thể được sử dụng để truy cập và hiển thị dữ liệu về bệnh nhân dưới dạng XML được lưu giữ trong cơ sở dữ liệu như thế nào. Bạn cũng sẽ tìm hiểu cách cài đặt và định cấu hình cho trình cắm thêm, và định cấu hình lại cho trình cắm thêm này cho các kịch bản khác.

Christian Pichler, Giải pháp máy chủ dữ liệu, IBM

Christian Pichler là cộng tác viên từ trường Đại kỹ thuật Vien của Áo, Christian đã làm luận văn thạc sĩ cho hai bằng thạc sỹ về Kỹ thuật máy tính và Khoa học máy tính tập trung vào lĩnh vực chăm sóc sức khỏe (health care). Ở IBM, Christian làm việc về các công nghệ lưu trữ XML trong DB2, công nghệ để tiếp cận XML thông qua dịch vụ Web, feed và XForms. Christian là chuyên gia về chuẩn XML trong lĩnh vực chăm sóc sức khỏe.



Susan Malaika, Chuyên viên kỹ thuật cao cấp, IBM Japan

Susan MalaikaSusan Malaika là chuyên viên cao cấp trong IBM Information Management Group (một phần của nhóm phần mềm IBM). Bà tập trung nghiên cứu về XML, Web và cơ sở dữ liệu, là các chuẩn phát triển hỗ trợ dữ liệu cho các môi trường điều khiển tại diễn đần Global Grid. Thêm vào đó bà cũng làm việc như là người phát triển phần mềm của IBM, trước đó bà làm việc trong lĩnh việc phân tích dữ liệu, phát triển và thiết kế ứng dụng Internet. Bà cũng là đồng tác giả sách trên Web và xuất bản các bài báo về xử lý tương tác và XML. Bà là một thành viên của Học viện công nghệ IBM



11 12 2009

Giới thiệu

Có nhiều nguồn lực để điều trị bệnh, chi phí thuốc men tăng lên và các chuyên gia y tế có mặt trên toàn cầu là các lý do đòi hỏi phải có trao đổi thông tin nhanh chóng, đáng tin cậy và thuận lợi để hỗ trợ sự cộng tác trong môi trường y tế. Việc trao đổi thông tin giữa các tổ chức, doanh nghiệp và thậm chí giữa các châu lục là một vấn đề không chỉ trong môi trường y tế, mà còn trong bất cứ môi trường nào cần phải cộng tác.

Xây dựng các ứng dụng hỗ trợ cộng tác đòi hỏi phải có các công nghệ cho phép việc trao đổi thông tin theo các định dạng chung, được chuẩn hóa. Các định dạng được thống nhất này thường được các chính phủ, các tập đoàn công nghiệp và các tổ chức phát triển các tiêu chuẩn tạo ra, chẳng hạn như định dạng Mức 7 Y tế (HL7- Health Level 7) trong lĩnh vực y tế. Định dạng Kiến trúc tài liệu lâm sàng (CDA - Clinical Document Architecture), một đặc tả kỹ thuật của HL7, được thiết kế dành cho việc trao đổi các thông tin bệnh nhân được chuẩn hóa.

Thông tin về bệnh nhân được trình bày, lưu giữ và trao đổi giữa các máy tính bằng cách sử dụng các định dạng của ngành y tế, chẳng hạn như CDA HL7, thường được thực hiện bằng cách sử dụng XML ngày càng tăng lên. Có các thông tin bệnh nhân ở dạng tệp tin điện tử cho phép ta sử dụng các công nghệ hiện đại và đã được khẳng định, ví dụ như dịch vụ tin nhắn tức thời. Dịch vụ tin nhắn đã hiện diện trong môi trường y tế, nhưng nguyên mẫu ban đầu được mô tả trong bài viết này được dựa trên kiến trúc XML xuyên suốt từ đầu đến cuối. Trong kiến trúc XML xuyên suốt từ đầu đến cuối, các thông tin được mã hóa trong tài liệu XML theo CDA HL7 được lưu trữ ở cùng định dạng trong cơ sở dữ liệu pureXML DB2 của IBM, chúng được trao đổi trong cùng một định dạng bằng cách sử dụng dịch vụ Web và được hiển thị trực quan với cùng định dạng khi ta sử dụng Trình khách Lotus Sametime Connect của IBM.

Bài viết này giới thiệu một kịch bản trong lĩnh vực y tế và các nguyên lý của kiến trúc XML xuyên suốt từ đầu đến cuối. Bài viết sẽ giải thích cách một nguyên mẫu trình cắm thêm Sametime cho trình khách dịch vụ tin nhắn tức thời có thể được sử dụng để truy cập và để hiển thị dữ liệu bệnh nhân dưới dạng XML được lưu giữ trong cơ sở dữ liệu. Thao tác truy cập này được kích hoạt bởi các văn bản cụ thể được gõ nhập vào một tin nhắn được trao đổi giữa hai hay nhiều bên. Tất cả các bên tham gia vào phiên gửi tin nhắn đều có thể thấy các dữ liệu bệnh nhân được hiển thị, miễn là họ có các trình cắm thêm đã được cài đặt. Bài viết này giải thích cách cài đặt và định cấu hình cho trình cắm thêm và cách định lại cấu hình của trình cắm thêm cho các kịch bản khác. Các thiết đặt tệp tin cấu hình của trình cắm thêm trong các ví dụ của bài viết này thích hợp để trình diễn việc truy cập các định dạng công nghiệp của pureXML nhưng chúng có thể dễ dàng được thay đổi để truy cập các dịch vụ Web khác. Bài viết này kết thúc bằng một bản tóm tắt về các lĩnh vực liên quan mà bạn có thể khám phá thêm.

Các ứng dụng Sametime cung cấp cho ta giao diện thời gian thực để truyền thông thống nhất và các dịch vụ hợp tác. Các giao diện như vậy có thể là một phần của các định nghĩa của quá trình nghiệp vụ trong các lĩnh vực nơi mà việc truyền thông giữa mọi người (hoặc thiếu truyền thông) có thể làm cho quá trình nghiệp vụ trì trệ hoặc dừng lại. Nói cách khác, mục đích của ứng dụng Sametime là trao cho người sử dụng các phương tiện để giảm bớt hoặc, nếu có thể, loại bỏ sự chậm trễ của con người trong một quy trình nghiệp vụ. Các quy trình nghiệp vụ mà định nghĩa của nó bao gồm việc truyền thông thống nhất và các dịch vụ cộng tác được gọi là Quy trình nghiệp vụ kích hoạt bằng truyền thông (CEBP - Communications-Enabled Business Processes). Giải pháp tự động hoá quy trình nghiệp vụ bằng cách sử dụng các định nghĩa CEBP được gọi là các giải pháp dựa trên nền CEBP. Kịch bản được mô tả trong bài viết này là một ví dụ về CEBP.

Một kịch bản

Ví dụ sau đây, minh hoạ trong Hình 1, được đưa ra để chứng tỏ khả năng của dịch vụ tin nhắn hỗ trợ cho sự cộng tác. Bệnh nhân Sully Van gặp bác sĩ Durenda Flor tại bệnh viện địa phương do bị đau và đau đầu liên tục. Sau khi ra viện, bác sĩ Durenda Flor bổ xung thêm các thông tin mới, được thu thập sau khi khám cho cô, vào Hồ sơ điện tử về sức khỏe của cô. Sully Van cũng được dặn là sẽ phải gặp lại bác sĩ hành nghề tại địa phương sau một tuần sau khi ra viện để kiểm tra lần cuối. Vì vậy, một tuần sau Sully Van đến gặp bác sĩ hành nghề tại địa phương là Chuck Smart và nói với ông bệnh của mình. Sẽ rất hữu ích nếu bác sĩ Chuck Smart có trong tay hồ sơ bệnh án mà đồng nghiệp của ông là Durenda Flor đã ghi lại một tuần trước đó.

Hình 1. Cộng tác trong lĩnh vực y tế để chia sẻ thông tin về bệnh nhân giữa các chuyên gia y tế
Cộng tác trong lĩnh vực y tế để chia sẻ thông tin về bệnh nhân giữa các chuyên gia y tế

Theo trạng huống của ví dụ, thì ta có những lựa chọn khác nhau về cách bác sĩ Chuck Smart có thể yêu cầu thông tin từ Durenda Flor. Chuck có thể đơn giản là gọi điện cho Durenda và yêu cầu bà miêu tả các kết quả khám bệnh của bà. Một tùy chọn khác có thể là Chuck yêu cầu Durenda gửi fax hồ sơ bệnh nhân đến văn phòng của Chuck. Tùy chọn thứ ba là có thể yêu cầu thông tin về bệnh nhân thông qua dịch vụ tin nhắn chẳng hạn như qua Lotus Sametime Connect. Nguyên mẫu được mô tả trong bài viết này minh họa trình cắm thêm Lotus Sametime Connect, cho phép lấy ra các tài liệu XML theo CDA HL7 được lưu trong cơ sở dữ liệu pureXML của DB2. Trong khi Chuck và Durenda được kết nối với nhau thông qua các tin nhắn bằng cách sử dụng Lotus Sametime Connect, Chuck có thể gửi một tin nhắn đến Durenda hỏi về bệnh nhân Sully Van. Phía sau hậu trường, trình cắm thêm trong Trình khách Lotus Sametime Connect của Chuck phân tích tin nhắn và truy cập thông tin của bệnh nhân trong hệ thống của Durenda, tìm các dữ liệu cho Chuck sử dụng.


Kiến trúc XML xuyên suốt từ đầu đến cuối.

Mục đích ban đầu của tài liệu XML theo CDA HL7 là cung cấp một định dạng chuẩn để trao đổi thông tin về bệnh nhân. Tuy nhiên, tài liệu XML CDA HL7 cũng được sử dụng để lưu trữ thông tin về bệnh nhân trong ví dụ này. Phương pháp tiếp cận được mô tả ở đây còn sử dụng tài liệu XML CDA HL7 kết hợp với công nghệ xử lý tài liệu XML hiện có để hiển thị trực quan thông tin về bệnh nhân cho người sử dụng ứng dụng. Việc sử dụng tài liệu XML CDA HL7 để lưu trữ, trao đổi và hiển thị triển khai thực hiện một kiến trúc XML xuyên suốt từ đầu đến cuối, như được minh họa trong Hình 2:

Hình 2. Kiến trúc XML xuyên suốt từ đầu đến cuối để hỗ trợ hợp tác trong lĩnh vực y tế
Kiến trúc XML xuyên suốt từ đầu đến cuối để hỗ trợ hợp tác trong lĩnh vực y tế

Kiến trúc XML xuyên suốt từ đầu đến cuối gồm ba tầng - tầng dữ liệu, tầng dịch vụ phổ quát và tầng tương tác người dùng:

  • Dữ liệu: Tầng dữ liệu là một cơ sở dữ liệu pureXML của DB2, sử dụng khả năng lưu trữ XML nguyên sinh của DB2. Lưu trữ XML nguyên sinh có nghĩa là XML có thể được lưu trữ trực tiếp trong cơ sở dữ liệu mà không cần phải chia nhỏ các thông tin được mã hóa trong các phần tử và thuộc tính của một tài liệu XML vào các bảng quan hệ. Do đó, cơ sở dữ liệu phục vụ giống như một kho trữ dữ liệu cho các tài liệu XML CDA HL7. Cơ sở dữ liệu đã được tạo ra bằng cách sử dụng cái gọi là bó công nghiệp, đó là một cách tiếp cận dễ dàng và thuận tiện để tạo ra và điền dữ liệu cho một cơ sở dữ liệu. Các bó công nghiệp này có sẵn và miễn phí cho nhiều định dạng công nghiệp bao gồm cả CDA HL7. Để biết thêm thông tin về các bó công nghiệp, xin tham khảo phần Tài nguyên của bài viết này.
  • Các dịch vụ phổ quát: Các dịch vụ phổ quát là một bộ đơn giản nhưng cố định các hoạt động, bao gồm chèn, cập nhật, xóa, và truy vấn, cho phép trưng ra bất kỳ cột XML nào của cơ sở dữ liệu pureXML DB2 thông qua các hoạt động của dịch vụ web. Các hoạt động của dịch vụ web cho phép truy cập vào tài liệu XML CDA HL7 được lưu trữ trong cơ sở dữ liệu thông qua các yêu cầu dịch vụ web đơn giản. Dịch vụ phổ quát, chứa tất cả các thành phần cần thiết để thiết lập và định cấu hình một cách thành công cho các dịch vụ, đã có sẵn và miễn phí. Để biết thêm thông tin về các dịch vụ phổ quát, xin tham khảo phần Tài nguyên của bài viết này.
  • Tương tác người dùng: Tầng tương tác người dùng cho phép người sử dụng tương tác với một ứng dụng (ví dụ, hiển thị trực quan thông tin được lưu trữ trong cơ sở dữ liệu). Trong trường hợp này, trình cắm thêm của Trình khách Lotus Sametime Connect cho phép truy cập vào cơ sở dữ liệu thông qua các dịch vụ phổ quát để lấy ra các thông tin bệnh nhân thích hợp và xem các thông tin đã lấy ra. Chi tiết hơn về các chức năng của trình cắm thêm, chẳng hạn như cách các thông tin về bệnh nhân có thể được lấy ra như thế nào thông qua Trình khách Lotus Sametime Connect, được mô tả trong các phần sau.

Chức năng của trình cắm thêm

Trình khách Lotus Sametime Connect đã được mở rộng bằng cách thực hiện một nguyên mẫu trình cắm thêm, cho phép lấy ra các tài liệu XML CDA HL7, là các thông tin về bệnh nhân, được lưu trữ trong cơ sở dữ liệu pureXML DB2. Phần này của bài viết mô tả việc thực hiện các trình cắm thêm, được minh hoạ tại Hình 3. Các mô tả về chức năng này dựa trên giả định rằng một bác sĩ khởi chạy Trình khách Lotus Sametime Connect (từ giờ trở đi ta gọi đơn giản là trình khách) với ý định yêu cầu thông tin bệnh nhân từ một bác sĩ khác.

Hình 3. Thực hiện trình cắm thêm cung cấp các chức năng để lấy ra và xem tài liệu XML
Thực hiện trình cắm thêm cung cấp các chức năng để lấy ra và xem tài liệu XML

Như được mô tả tại hình 3, trình khách nạp một tệp tin khởi tạo có thể tùy biến được, khi khởi chạy chương trình (bước 1 trong hình 3). Tệp tin khởi tạo (xem Liệt kê 1 để biết một ví dụ tệp tin khởi tạo) chứa các tham số để định cấu hình cho trình khách, chẳng hạn như điểm đầu cuối của dịch vụ phổ quát để truy cập tài liệu XML CDA HL7 được lưu trữ trong cơ sở dữ liệu. Ví dụ, điểm đầu cuối được trình khách sử dụng để gửi yêu cầu dịch vụ web để truy cập vào tài liệu XML CDA HL7 được lưu trữ trong cơ sở dữ liệu. Lưu ý rằng tất cả các tham số trong tệp tin khởi tạo được mô tả cùng với các mô tả về các chức năng trong suốt các phần sau của bài viết. Sau khi nạp tất cả các tham số cấu hình và khởi chạy, trình khách sẵn sàng tiếp nhận và xử lý tin nhắn được người sử dụng nhập vào.

Liệt kê 1. Tệp tin khởi tạo của trình cắm thêm của pureXML
<collaboration>
  <regexpr>patient\s([^\s]++)\s([^\s&lt;]++)</regexpr>
  <keysQuery>
    XQUERY declare default element namespace "urn:hl7-org:v3"; 
    for $patient in db2-fn:xmlcolumn('DB2ADMIN.CDA.DOCUMENT')/ClinicalDocument   
    where ($patient/recordTarget/patientRole/patient/name/given/text() = "${1}"  
       and $patient/recordTarget/patientRole/patient/name/family/text() = "${2}") 
    return &lt;entry id="{$patient/id/@root}" label="{$patient/title/text()}"/>
  </keysQuery>
  <documentQuery>
    XQUERY declare default element namespace "urn:hl7-org:v3"; 
    for $doc in db2-fn:xmlcolumn('DB2ADMIN.CDA.DOCUMENT')/ClinicalDocument 
    where ($doc/id[@root = "${key}"]) 
    return $doc
  </documentQuery>
  <serverURL url="http://purexml.dyndns.org:9080/DB2pureXMLDemo/cda/cda.dadx"/>
  <xsl url="file:/C:\st_purexml\ibm-cda.xsl"/>
</collaboration>

Việc kích hoạt trình khách để yêu cầu thông tin từ cơ sở dữ liệu (bước 2 trong Hình 3) được điều khiển thông qua các từ khoá cụ thể được chứa trong văn bản được người sử dụng nhập vào tại cửa sổ trò chuyện (chat). Các mẫu mà văn bản tin nhắn phải phù hợp đúng với nó được định nghĩa thông qua một biểu thức chính quy, định nghĩa bởi phần tử <regexpr> trong tệp tin khởi tạo. Biểu thức chính quy trong ví dụ này được định nghĩa là từ "patient" (bệnh nhân), tiếp theo sau thêm hai từ nữa là tên của bệnh nhân. Ví dụ một mẫu văn bản tương ứng có thể là "patient Sully Van".

Nếu bác sĩ gõ nhập một tin nhắn có chứa mẫu ấy, trình khách sẽ được kích hoạt để truy vấn cơ sở dữ liệu về tài liệu XML CDA HL7 của một bệnh nhân cụ thể (bước 3 trong Hình 3). Các biểu thức XQuery để truy vấn cơ sở dữ liệu tìm tài liệu XML CDA HL7 phù hợp cũng được định nghĩa trong tệp cấu hình thông qua phần tử <keysQuery>. Truy vấn được thiết kế để trả lại một tập hợp các mã định danh duy nhất cho mỗi bản ghi tìm thấy trong cơ sở dữ liệu cũng như mô tả của chính tài liệu XML đó. Các mã định danh duy nhất mà truy vấn trả về là cần thiết cho chính trình cắm thêm để xử lý các tài liệu XML khác nhau. Các mô tả, cũng do biểu thức truy vấn trả về, được sử dụng để cung cấp cho bác sĩ một danh sách các tài liệu XML CDA HL7 khớp với các tham số đầu vào (bước 2 và 3 trong Hình 3); ví dụ, tên bệnh nhân là Sully Van.

Sau khi bác sĩ chọn một trong các tài liệu XML CDA HL7, trình khách truy vấn cơ sở dữ liệu để tìm tài liệu XML cụ thể đã được lựa chọn (bước 4). Để lấy ra tài liệu XML cụ thể, trình khách sử dụng biểu thức XQuery được định nghĩa thông qua phần tử <documentQuery> trong tệp tin khởi tạo và một trong các khóa được biểu thức XQuery trước đó trả về. Khóa được sử dụng khớp với khóa được người sử dụng chọn.

Một khi tài liệu XML đã được trình khách nhận, thì trước khi hiển thị, nó được biến đổi bằng cách sử dụng một phiếu định kiểu (stylesheet) của XML (bước 5 trong Hình 3). Các phiếu định kiểu sẽ sử dụng được định nghĩa thông qua phần tử <xsl> trong tệp tin khởi tạo. Khi trình cắm thêm đã biến đổi tài liệu XML CDA HL7 được lấy ra từ cơ sở dữ liệu bằng cách sử dụng phiếu định kiểu XML, nó sẽ hiển thị kết quả chuyển đổi cho người sử dụng (bước 6).


Trình diễn trình cắm thêm

Sau khi đọc về mục đích của kiến trúc XML xuyên suốt từ đầu đến cuối và chức năng của trình cắm thêm, chúng ta hãy xem trình cắm thêm cho Trình khách Lotus Sametime Connect của IBM hoạt động như thế nào. Một lần nữa, trình cắm thêm cho phép trình khách truy cập vào tài liệu XML được lưu trong cơ sở dữ liệu pureXML DB2.

Để hiểu rõ hơn, ta sử dụng ví dụ về trạng huống được mô tả trong phần "Giới thiệu" của bài viết này. Xin tóm tắt lại, nếu bác sĩ Chuck Smart xem được hồ sơ bệnh án cụ thể mà đồng nghiệp Durenda Flor của ông đã ghi lại một tuần trước đó thì rất tốt. Vì thế bác sĩ Chuck Smart khởi chạy Trình khách Lotus Sametime Connect của IBM. Thông qua trình khách Chuck biết rằng đồng nghiệp Durenda của ông đang mở máy tính, biểu tượng màu xanh lá cây bên cạnh tên của Durenda sáng lên, như ở Hình 4:

Hình 4. Danh sách các liên hệ trong Trình khách Lotus Sametime Connect của IBM
Danh sách các liên hệ trong Trình khách Lotus Sametime Connect của IBM

Vì Durenda đang ở trên máy tính, Chuck bắt đầu trò chuyện bằng tin nhắn với cô. Bạn có thể trò chuyện được bằng cách nhấn đúp chuột vào tên của Durenda, mở ra cửa sổ trò chuyện (chat), là chức năng điển hình của các môi trường dịch vụ tin nhắn tức thời. Cửa sổ trò chuyện cho phép Chuck giao tiếp với Durenda được minh họa tại Hình 5:

Hình 5. Cửa sổ trò chuyện của Trình khách Lotus Sametime Connect của IBM
Cửa sổ trò chuyện của Trình khách Lotus Sametime Connect của IBM

Khi đã có cửa sổ trò chuyện, Chuck bắt đầu cuộc đàm thoại bằng cách nhập và gửi tin nhắn: "Chào Durenda, bạn có thể gửi cho tôi thông tin về bệnh nhân Sully Van không ?" như được minh họa tại Hình 6:

Hình 6. Nhập tin nhắn vào cửa sổ trò chuyện của Trình khách Lotus Sametime Connect của IBM
Nhập tin nhắn vào cửa sổ trò chuyện của Trình khách Lotus Sametime Connect của IBM

Bạn hãy nhớ rằng trình khách dịch vụ tin nhắn tức thời đã được mở rộng để phân tích và quét các tin nhắn để tìm cụm từ khóa cụ thể, như đã được xác định trong một biểu thức chính quy trong tệp tin khởi tạo. Nhìn vào văn bản tin nhắn đã được nhập trong bước trên, ta thấy trong tin nhắn có từ "bệnh nhân" (patient), từ khóa được sử dụng trong kịch bản này. Vì vậy, trình cắm thêm sử dụng hai từ đi theo sau từ khoá trong tin nhắn của Chuck, là "Sully" và "Van", là tên của bệnh nhân, và truy vấn cơ sở dữ liệu của Durenda để lấy thông tin y tế tương ứng.

Cửa sổ trò chuyện sau đó sẽ mở rộng để cung cấp cho Chuck, người sử dụng, một danh sách các thông tin có sẵn vể bệnh nhân Sully Van của mình, như được minh họa trong Hình 7:

Hình 7. Cửa sổ trò chuyện được mở rộng hiển thị các thông tin về bệnh nhân đã tìm thấy trong cơ sở dữ liệu
Cửa sổ trò chuyện được mở rộng hiển thị các thông tin về bệnh nhân đã tìm thấy trong cơ sở dữ liệu

Để xem thông tin đã tìm thấy về Sully Van, Chuck nhấp đúp chuột vào mục tương ứng trong phần kết quả tìm kiếm, mở ra một cửa sổ riêng biệt, như được minh hoạ tại Hình 8:

Hình 8. Thông tin về bệnh nhân được hiển thị như là một phần của cuộc trò chuyện bằng tin nhắn
Thông tin về bệnh nhân được hiển thị như là một phần của cuộc trò chuyện bằng tin nhắn

Khả năng để xem chi tiết các lần khám bệnh của Sully Van tại phòng khám của Durenda của cho phép Chuck xem và thảo luận về tình trạng sức khoẻ của bệnh nhân với Durenda.


Cài đặt và định cấu hình cho trình cắm thêm

Bạn có thể cài đặt trình cắm thêm của pureXML của DB2 bằng cách sử dụng trình Manage Updates User Interface của Lotus Sametime Connect của IBM. Trước khi bắt đầu quá trình cài đặt, bạn cần phải tải về tệp tin lưu trữ có tên sametime_purexml_plugin.zip (xem mục Tải về) và giải nén tệp tin lưu trữ này vào một thư mục làm việc tạm thời tại máy của bạn. Thư mục làm việc tạm thời tại máy của bạn được sử dụng cho các hướng dẫn dưới đây là C:\ temp\sametime_plugin.

Để khởi chạy trình thủ thuật, bạn mở mục Tools của trình đơn tại cửa sổ chính của trình khách. Từ trình đơn Tools, chọn Plug-ins > Install Plug-ins.... Sau đó trình thủ thuật cho phép bạn lựa chọn tùy chọn để cập nhật các trình cắm thêm đã được cài đặt và tùy chọn để cài đặt các trình cắm thêm mới. Bạn chọn tùy chọn Search for new features to install, và nhấn Next, như được minh họa tại Hình 9:

Hình 9. Chọn để cài đặt các đặc tính mới
Chọn để cài đặt các đặc tính mới

Bước tiếp theo là chọn vị trí nơi chứa các tệp tin cài đặt, đó là thư mục mà tệp tin lưu trữ được giải nén. Do đó hãy nhấn vào mục Add Folder Location... và chọn thư mục được sử dụng, như được minh họa tại Hình 10. (Trong bài viết này, thư mục được chọn là C:\temp\sametime_plugin.)

Hình 10. Xác định thư mục làm việc, thư mục tạm thời và thư mục tại máy tính
Xác định thư mục làm việc, thư mục tạm thời và thư mục tại máy tính

Sau đó trình thủ thuật liệt kê tất cả các trình cắm thêm sẵn có để cài đặt vào thư mục đã được xác định tại máy của bạn. Vì tệp tin lưu trữ được cung cấp trong bài viết này có chứa một trình cắm thêm thôi, nên chỉ có một trình cắm thêm được liệt kê. Bạn chọn trình cắm thêm này, như được minh họa tại Hình 11 và nhấn Finish:

Hình 11. Chọn trình cắm thêm để cài đặt
Chọn trình cắm thêm để cài đặt

Mọi trình cắm thêm đều bao gồm một tập hợp các đặc tính, vì thế trình thủ thuật cho phép bạn chọn các đặc tính sẽ được cài đặt. Bạn chọn mục pureXML Collaboration Demo 0.0.1, như được minh họa tại Hình 12, sau đó nhấn vào Next để tiếp tục:

Hình 12. Chọn đặc tính pureXMLCollaboration Demo 0.0.1
Chọn đặc tính pureXMLCollaboration Demo 0.0.1

Sau đó trình thủ thuật sẽ yêu cầu bạn phải đồng ý chấp nhận thỏa thuận giấy phép sử dụng, như được minh họa tại Hình 13. Chọn I accept the terms in the license agreements, và nhấn vào Next để tiếp tục.

Hình 13. Đồng ý chấp nhận thỏa thuận về giấy phép sử dụng
Đồng ý chấp nhận thỏa thuận về giấy phép sử dụng

Trước khi hoàn tất quá trình cài đặt, trình thủ thuật cung cấp cho bạn một tổng quan về các đặc tính cần cài đặt, như được minh hoạ tại Hình 14. Nhấn Finish để hoàn tất quá trình cài đặt.

Hình 14. Bảng tóm tắt các đặc tính cần cài đặt
Bảng tóm tắt các đặc tính cần cài đặt

Để hoàn tất việc cài đặt, bạn cần phải khởi động lại Trình khách IBM Lotus Sametime Connect. Trình khách sẽ tự động cung cấp cho bạn tùy chọn để khởi động lại trình khách, như được minh họa tại Hình 15:

Hình 15. Khởi động lại trình khách để hoàn tất việc cài đặt trình cắm thêm
Khởi động lại trình khách để hoàn tất việc cài đặt trình cắm thêm

Hơn nữa, bạn cần phải cung cấp cho trình khách tệp tin khởi tạo để hỗ trợ hợp tác về y tế. Để làm điều này, hãy sao chép thư mục có tên st_purexml vào thư mục gốc của ổ cứng máy tính của bạn (ví dụ: C:\). Bạn có thể tìm thấy thư mục cần phải sao chép tại thư mục C: \temp\sametime_plugin\DB2pureXMLDemo\sampleConfig, với giả định rằng tệp tin lưu trữ sametime_purexml_plugin.zip đã được giải nén vào thư mục C:\temp\sametime_plugin. Sau khi các tệp tin khởi tạo được sao chép, bạn cần phải khởi động lại trình khách để tất cả các cài đặt được nạp đúng cách.


Sử dụng trình cắm thêm trong các ngành nghề khác

Như đã mô tả tại phần trước, trình cắm thêm nạp tất cả các tạo phẩm cần thiết trong thời gian chạy thi hành từ tệp tin khởi tạo trong khi trình khách được khởi chạy. Ví dụ về một tệp tin khởi tạo được minh họa tại phần "Chức năng của trình cắm thêm". Để cho phép trình khách thực hiện một kịch bản khác, phải tạo ra một tệp tin khởi tạo khác và định cấu hình trình khách để sử dụng tệp tin khởi tạo ấy.

Phần này của bài viết mô tả cách tạo một tệp tin khởi tạo với mục tiêu là mở rộng Trình khách Lotus Sametime Connect của IBM để sử dụng định dạng e-file 1120 của Sở Thuế Vụ Mỹ. Tệp tin khởi tạo được mã hóa bằng cách sử dụng XML, có phần tử gốc tên là <collaboration>.

Liệt kê 2. Khởi đầu của tệp tin khởi tạo
<collaboration>

Bên trong phần tử gốc tất cả các tham số được mô tả để định cấu hình cho ứng dụng. Tham số đầu tiên được mô tả bằng cách sử dụng một biểu thức chính quy biểu diễn từ khoá sẽ châm ngòi trình khách để lấy ra tài liệu XML từ cơ sở dữ liệu. Biểu thức chính quy được mô tả bằng cách sử dụng phần tử <regexpr>.

Liệt kê 3. Định nghĩa từ khóa bằng cách sử dụng một biểu thức chính quy
<regexpr>taxdocuments</regexpr>

Bước tiếp theo là xác định điểm đầu cuối của dịch vụ web, được sử dụng bởi trình khách để truy cập vào cơ sở dữ liệu. Điểm đầu cuối này được mô tả bằng cách sử dụng thuộc tính url của phần tử <serverURL>.

Liệt kê 4. Định nghĩa điểm đầu cuối của dịch vụ web sẽ được sử dụng để lấy ra tài liệu XML
<serverURL url="http://purexml.dyndns.org:9080/DB2pureXMLDemo/tax1120/tax1120.dadx"/>

Phần tử tiếp theo có tên là <keysQuery> và biểu diễn một biểu thức XQuery để lấy ra một tập hợp tài liệu XML từ cơ sở dữ liệu khớp với các tiêu chí cụ thể.

Liệt kê 5. Định nghĩa biểu thức XQuery để lấy ra một tập hợp tài liệu XML
<keysQuery>
  XQUERY declare default element namespace "http://www.irs.gov/efile"; 
  for $doc in db2-fn:xmlcolumn('DB2ADMIN.TAX1120.DOCUMENT') 
  return &lt;entry id="{$doc/Return/ReturnHeader/ReturnId/text()}" 
                   label="{$doc/Return/ReturnHeader/PreparerFirm
                           /PreparerFirmBusinessName/BusinessNameLine1/text()}"/&gt;
			   </keysQuery>

Tiếp theo sau biểu thức XQuery để lấy một tập hợp tài liệu XML là một biểu thức XQuery khác, được sử dụng để lấy ra một tài liệu XML cụ thể từ cơ sở dữ liệu. Biểu thức XQuery thứ hai được biểu diễn bằng cách sử dụng phần tử <documentQuery>.

Liệt kê 6. Định nghĩa biểu thức XQuery để lấy ra một tài liệu XML cụ thể
<documentQuery>
  XQUERY declare default element namespace "http://www.irs.gov/efile"; 
  for $doc in db2-fn:xmlcolumn('DB2ADMIN.TAX1120.DOCUMENT') 
  where ($doc/Return/ReturnHeader/ReturnId[text() = "${key}"]) 
  return $doc
</documentQuery>

Một khi trình khách đã lấy ra một tài liệu XML cụ thể từ cơ sở dữ liệu, ta cần một phiếu định kiểu XML để chuyển đổi tài liệu XML thô thành cách trình bày thông tin thân thiện với người dùng hơn. Vì vậy, phiếu định kiểu XML được sử dụng cho phép chuyển đổi được xác định bằng cách sử dụng thuộc tính url của phần tử <xsl>.

Liệt kê 7. Định nghĩa phiếu định kiểu XML được sử dụng để chuyển đổi tài liệu XML
<xsl url="file:/C:\st_purexml\ibm-tax1120.xsl"/>

Sau khi định cấu hình các tham số trình khách cho kịch bản khác, bạn cần phải thêm phần tử đóng tài liệu </collaboration> để đảm bảo rằng tệp tin khởi tạo được tạo ra đúng khuôn dạng. Nhằm mục đích để bạn hiểu tệp tin này hơn, chúng tôi minh họa toàn bộ tệp tin khởi tạo này trong Liệt kê 8:

Liệt kê 8. Toàn bộ tệp tin khởi tạo cho định dạng e-file 1120 IRS
<collaboration>
<regexpr>taxdocuments</regexpr>
<serverURL
  url="http://purexml.dyndns.org:9080/DB2pureXMLDemo/tax1120/tax1120.dadx"/>
<keysQuery>
  XQUERY declare default element namespace "http://www.irs.gov/efile"; 
  for $doc in db2-fn:xmlcolumn('DB2ADMIN.TAX1120.DOCUMENT') 
  return &lt;entry id="{$doc/Return/ReturnHeader/ReturnId/text()}" 
                   label="{$doc/Return/ReturnHeader/PreparerFirm
                           /PreparerFirmBusinessName/BusinessNameLine1/text()}"/>
</keysQuery>
<documentQuery>
  XQUERY declare default element namespace "http://www.irs.gov/efile"; 
  for $doc in db2-fn:xmlcolumn('DB2ADMIN.TAX1120.DOCUMENT') 
  where ($doc/Return/ReturnHeader/ReturnId[text() = "${key}"]) 
  return $doc
</documentQuery>
<xsl 
  url="file:/C:\st_purexml\ibm-tax1120.xsl"/>
</collaboration>

Sau khi tạo tệp tin khởi tạo, bạn cần thiết phải định cấu hình trình khách để sử dụng các tệp tin đó. Để làm điều này, bạn mở mục trình đơn File trong cửa sổ chính của trình khách và chọn Preferences, thao tác này sẽ mở thêm một cửa sổ bổ sung. Tại cửa sổ này bạn chọn mục DB2 pureXML Demo, như được minh họa tại Hình 16:

Hình 16. Các tệp tin khởi tạo cần được sử dụng
Các tệp tin khởi tạo cần được sử dụng

Các lựa chọn ưu tiên cho pureXML DB2 Demo có thể được dùng để chỉ rõ các tham chiếu đến các tệp tin khởi tạo bổ sung hoặc loại bỏ các tham chiếu đến các tệp tin khởi tạo hiện có.


Tóm tắt và triển vọng

Bài viết này đã minh họa sự dễ dàng và đơn giản của việc mở rộng Trình khách Lotus Sametime Connect của IBM để hỗ trợ cho sự hợp tác, sử dụng kiến trúc XML xuyên suốt từ đầu đến cuối. Các lợi ích của việc lưu trữ, trao đổi và hiển thị trực quan thông tin trong khi sử dụng cùng một định dạng thông tin bao gồm việc thiết kế đơn giản hơn và phát triển nhanh hơn, kết quả là ta nhận được một nguyên mẫu mạnh mẽ, có thể được cải tiến khi nhận được thông tin phản hồi.

Trong các hệ thống y tế, các thông tin nhạy cảm không được truy cập mà không có sự đồng ý của bệnh nhân, của bác sĩ điều trị, hoặc của cả hai người. Bảo đảm an ninh chắc chắn là một chủ đề cần làm việc thêm để cải tiến ý tưởng về hỗ trợ sự hợp tác thông qua dịch vụ tin nhắn tức thời. Việc đưa tệp tin định cấu hình của trình cắm thêm lên hệ thống máy chủ là một lĩnh vực nữa cần phải phát triển thêm. Việc tích hợp khả năng hiển thị dựa trên mẫu, khả năng cho phép sửa đổi dữ liệu, ngoài việc hiển thị dữ liệu, là các lĩnh vực khác rất đáng quan tâm. Việc sử dụng trình khách dịch vụ tin nhắn tức thời làm một giao diện thân thiện hơn với hệ thống cơ sở dữ liệu, ở đây một trong các bên tham gia trao đổi thông tin là một tác tử cơ sở dữ liệu chứ không phải là một con người, lại là một khả năng khác.

Bài viết này đã cho thấy những lợi thế của việc cho phép Trình khách Lotus Sametime Connect của IBM sử dụng đầy đủ một kiến trúc XML xuyên suốt từ đầu đến cuối. Trình cắm thêm kèm theo có thể giúp khởi động thêm các nguyên mẫu và giải pháp.


Lời cám ơn

Chúng tôi xin rất cảm ơn Carlos Caballero Grolimund và Jessica Ramirez, người đã cung cấp trình cắm thêm, minh họa cho vai trò của một kiến trúc XML xuyên suốt từ đầu đến cuối trong dịch vụ tin nhắn tức thời. Chúng tôi cũng xin cám ơn Craig Reichenbach vì sự hỗ trợ của ông.


Các tải về

Mô tảTênKích thước
Sametime pureXML plug-insametime_purexml_plugin.zip1.7MB
Demo of Sametime plug-in scenariorecording_sametime_plugin.wmv8.5MB
Transcript of demosametimetranscriptFeb2009.pdf63KB

Tài nguyên

Học tập

  • Định dạng và dịch vụ công nghiệp với pureXML: Tải về nhiều ví dụ, chẳng hạn như các ví dụ dành cho kiến trúc tài liệu lâm sàng (CDA - Clinical Document Architecture) mức 7 ngành Y tế (HL7 - Health Level 7) miễn phí! Mỗi ví dụ minh hoạ cách làm việc với các định dạng công nghiệp dựa trên XML và pureXML. Các ví dụ cho biết cách đăng ký một lược đồ XML, cách xác nhận tính hợp lệ của các cá thể văn bản XML, cách truy vấn dữ liệu XML bằng cách sử dụng XQuery hoặc SQL/XML và nhiều hơn nữa.
  • "Dịch vụ phổ quát cho pureXML bằng cách sử dụng dịch vụ Web" (developerWorks, tháng Tám, 2008): Bắt đầu với việc định cấu hình, kiểm thử và sửa đổi các dịch vụ phổ quát, một bộ đơn giản nhưng cố định các hoạt động của cơ sở dữ liệu cho phép truy vấn và sửa đổi dữ liệu XML.
  • "Xây dựng ứng dụng pureXML DB2 trong một ngày" (developerWorks, tháng Mười hai, 2008): Xây dựng một ứng dụng DB2 hoàn chỉnh trong một ngày bằng cách sử dụng kiến trúc XML xuyên suốt từ đầu đến cuối thông qua các dịch vụ phổ quát.
  • Bộ kỹ năng của DB2: Nâng cao kiến thức và kỹ năng của bạn cho dù bạn là một quản trị viên cơ sở dữ liệu hay là nhà phát triển ứng dụng. Tìm hiểu cách cài đặt, định cấu hình và quản trị cơ sở dữ liệu phổ quát DB2 IBM. Các chủ đề bao gồm: Tổng quan, cài đặt, định cấu hình, tạo lập cơ sở dữ liệu và quản trị.
  • Vùng Quản lý thông tin và công nghệ XML của IBM trên developerWorks: Tải về các tài nguyên mà bạn cần để nâng cao kỹ năng của bạn về cách sử dụng công nghệ XML với DB2 và các sản phẩm khác của IBM.
  • Vùng Quản lý thông tin của developerWorks: Tìm hiểu thêm về DB2. Tìm tài liệu hướng dẫn kỹ thuật, các bài viết “làm thế nào”, các chuyên mục đào tạo, tải về, thông tin sản phẩm và nhiều hơn nữa.
  • Theo sát các sự kiện kỹ thuật và buổi phát tin trên Web của developerWorks.
  • Hiệu sách công nghệ: Tìm các sách về chủ đề kỹ thuật này và các chủ đề kỹ thuật khác.

Lấy sản phẩm và công nghệ

  • DB2 Express-C: Bây giờ bạn có thể sử dụng DB2 miễn phí. Tải về DB2 Express-C, ấn bản miễn phí của DB2 Express Edition cho cộng đồng, cung cấp cùng các đặc tính dữ liệu cốt lõi giống như các đặc tính của DB2 Express Edition và cung cấp một cơ sở vững chắc để xây dựng và triển khai các ứng dụng.
  • Xây dựng dự án phát triển kế tiếp của bạn với IBM trial software, có sẵn để tải về trực tiếp từ developerWorks.

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Information Management
ArticleID=455834
ArticleTitle=Lotus Sametime và DB2 pureXML hỗ trợ sự cộng tác trong y tế
publish-date=12112009