Agenda Why XML? Why XML? Practical Examples (HTML Vs. XML) Practical Examples (HTML Vs. XML) XSL XSL XLink XLink XML Syntax, Namespaces, DOM, DTDs and Schemas XML Syntax, Namespaces, DOM, DTDs and Schemas RDF RDF SMIL SMIL WAP and WML WAP and WML Microsoft. net, Web Services and BizTalk Microsoft. net, Web Services and BizTalk Future Directions: XML and HL-7 Future Directions: XML and HL-7 Conclusion Conclusion Mans mind stretched to a new idea never goes back to its original dimensions. Oliver Wendell Holmes, Jr., US jurist (1841-1935 )
Why XML? The eXtensible Markup language (XML) is a rather new approach to storing and manipulating data that makes information exchange and retrieval much easier. XML is revolutionising the global information environment in e-business and knowledge management, and is predicted to do the same in healthcare. 6 October 2000: XML 1.0 Second Edition Published URI: http://www.w3.org/
Why XML? Communication and Interoperability XML makes it possible, despite the unwieldy forest of incompatible computer systems, to create an Esperanto, a common language, that all can read and write. Medical Device Interoperability: XML allows clinical data to be transferred from an ECG machine or a CT scanner to a desktop computer (EPR), a handheld computer or even a pager.
Why XML? XML is similar to HTML (Hypertext Markup Language) in that it consists of nothing more than simple text and herein lies its real power and the fact that it is future-proof and is platform- and device-independent.
Why XML? Expressing Data Context and Meaning However, unlike HTML, which just describes the structure and appearance (i.e., formatting) of a document, XML can also describe the contents of a document (e.g., an electronic patient record) in a hierarchical fashion that can be manipulated using an XML parser.
Why XML? Extensibility - Create Your Own Tags XML is also a meta-language, i.e., can be used to develop other languages or standards like RDF, SMIL, WML and BSML. XML allows users to define their own tags/standards according to their needs. RDF: Resource Description Framework SMIL: Synchronised Multimedia Integration Language WML: Wireless Markup Language BSML: Biosequence Markup Language
XML: A Practical Example (Bosak & Bray, 1999) Using current Web-based (non-XML) systems, a doctor might be able to pull up her patients drug reaction history on her Web browser, but she cannot then e-mail it to a specialist and expect her to be able to paste the fields directly into her hospitals database. Her computer would not know what to make of the information, which to its eyes would be no more intelligible than some text some text ( and are HTML tags).
XML: A Practical Example (Bosak & Bray, 1999) By using XML to craft a markup language for encoding medical records, this doctors e-mail would contain something like some text some text or any other agreed upon tags. Programming any computer then to recognise this standard medical markup and to add this vital information to its database becomes straightforward.
XML: Beyond WYSIWYG The problem with HTML WYSIWYG What You See Is What You Get is that what you see is actually all what youve got. You cannot for example differentiate (from the computer processing perspective when dealing with HTML free text) between Penicillin as a prescribed drug (treatment) and Penicillin as a drug to which the patient is allergic; to the computer both cases are just Penicillin.
XML: Beyond WYSIWYG XML, on the other hand, allows you to describe crisply and explicitly (again from the computer perspective) the context within which the word Penicillin has been cited and therefore the computer can unambiguously determine which meaning of the two is applicable, much like when dealing with a structured conventional database.
PubMed Citation Record is in XML PubMed MEDLINE service features its own XML citation record. URI: http://www.ncbi.nlm.nih.gov/PubMed Try querying PubMed MEDLINE using the keyword 'XML
XSL (eXtensible Stylesheet Language) Unlike HTML CSSs (Cascaded Style Sheets), XSL stylesheets do a lot more than just applying a formatting style (although the final result might look like an HTML file). When applied to XML files, XSL stylesheets can sort, rearrange and/or display only subsets of the data contained in these files (by ap- plying XSL patterns).
XSL (eXtensible Stylesheet Language) Different views or subsets of the EPR corresponding to the different user access levels/permissions that are allowed, or Different views or subsets of the EPR corresponding to the different user access levels/permissions that are allowed, or Task-specific views of the EPR that could be clinically relevant and more usable in relation to a particular task. Task-specific views of the EPR that could be clinically relevant and more usable in relation to a particular task. Thus, for an XML Electronic Patient Record (EPR), different XSL stylesheets can be defined and applied to generate:
XSL (eXtensible Stylesheet Language) XSL stylesheets allow the same XML document to be displayed on a wide variety of devices, e.g., as a Web page with graphics for a desktop computer, as a text-only list for a handheld organizer and even as audible speech for a telephone. One Data Source and Many Devices
XLink (XML Hyperlink) XML Hyperlink can open a menu of several options. One option might insert an image, such as a plane seating chart, into the current page (red arrow). Others could run a small program to book a flight (yellow arrow) or reveal hid- den text (green arrow). The links can also connect to other pages (blue arrow). One Link and Multiple Destinations
XML Syntax Rules Unlike HTML, XML is case sensitive; and are different Unlike HTML, XML is case sensitive; and are different While the closing forward slash may not be used in single-tag empty HTML elements (e.g., tag), it is mandatory for single-tag empty XML elements ( ) While the closing forward slash may not be used in single-tag empty HTML elements (e.g., tag), it is mandatory for single-tag empty XML elements ( ) XML requires elements' attribute values to be enclosed in quotation marks ( "" ) XML requires elements' attribute values to be enclosed in quotation marks ( "" )
XML Syntax Rules Other important XML rules include correct nesting of tags (e.g., but not ) and a closing tag for each non-empty element opening tag, e.g., for each Other important XML rules include correct nesting of tags (e.g., but not ) and a closing tag for each non-empty element opening tag, e.g., for each
XML Namespaces XML namespaces provide a mechanism for keeping everything unique, so that elements with exactly the same name but with different meaning or context dont clash with each other For example, if we use the element in the context of the NeLH, we could be referring to the title of a resource or the title of the person who wants to access it (Prof., Dr., Mr., Mrs., Ms., etc.) Namespaces offer a solution to this conflict through the combination of a unique Universal Resource Identifier (URI) and a 'local part' (element prefix mapped to this URI) Cambridge: UK, US or Canada? Cambridge (UK) Cambridge (UK) Cambridge (Maryland or Massachusetts, US) Cambridge (Maryland or Massachusetts, US) Cambridge (Ontario, Canada) Cambridge (Ontario, Canada)
XML DOM (Document Object Model) Lets look at some XML: John John Doe Doe ......
XML DOM (Document Object Model) DOM and its methods represent/build an XML data structure as an in-memory hierarchy or tree that can be searched using XPath and navigated using DOM features like node.firstChild, node.nextSibling, etc. id date root Namespace patient 1 2 name first last DoeJohn visits visit date 2000-09-152000-10-16
Microsoft® SAX2 SAX2, the Simple API for XML, is a standard interface for event-based XML parsing, offering fast, low-memory alternative to processing XML documents using DOM. When the DOM is used to parse an XML file, it builds a complete tree of a document in memory. SAX2, in contrast, traverses the document and informs the calling application of parsing events, such as the start or end of a new element, so SAX2 is very suited for parsing long documents.
XML DTDs and Schemas Before they can draft a new XML language, designers must agree on the language's vocabulary and structure, i.e., which elements (tags) will be allowed and their attributes, and how tagged elements may nest within one another. This is then codified in a Document Type Definition or DTD. Schemas provide the same functionality as DTDs. However, because schemas are written in XML, they are extensible, allowing developers to augment them with additional information, such as datatypes, inheritance and presentation rules. Schemas are thus far more powerful than DTDs.
XML Family of Languages RDF (Resource Description Framework) SMIL (Synchronised Multimedia Integration Language) WML (Wireless Markup Language) XHTML (Extensible HyperText Markup Language) BSML (Biosequence Markup Language) MML (Medical Markup Language Araki et al)... And much more... And even Theological Markup Language ThML! (URI: http://www.ccel.org/ThML/)
RDF (Resource Description Framework) RDF is a World Wide Web Consortium (W3C) standard based on XML. RDF integrates a variety of Web-based metadata (information about information) activities including sitemaps, content ratings (the next-generation PICS - Platform for Internet Content Selection), stream channel definitions, search engine data collection (Web crawling), digital library collections and distributed authoring. URI:http://www.w3.org/RDF/ URI: http://www.w3.org/RDF/
Try this URI: http://www.helio.org/products/smil/
SMIL (Synchronised Multimedia Integration Language) The Worldwide Web Consortium - W3Cs synchronised multimedia group has focused on the design of a new language for scheduling multimedia presentations where audio, video, text, still images and graphics are combined in real time. SMIL is written as an XML application to support the synchronised presentation of a set of images, sound and text objects within defined areas of a window of specified size. It enables authors to specify precisely what should be presented when.
SMIL (Synchronised Multimedia Integration Language) For example, SMIL allows multimedia authors to control the precise time that a sentence is spoken and make it coincide with the display of a given image on the screen. SMIL can potentially fulfill many of the requirements for creating, amending and communicating e-Healthcare Multimedia Reports, as well as supporting professional and patient education.
WAP and WML WAP stands for Wireless Application Protocol. It is a global standard specified in order to make Internet services available for mobile users. Using Wireless Markup Language (WML, a type of XML), software developers create WAP sites that can be accessed fast and easily from a WAP enabled terminal, such as the Ericsson R380 smart mobile phone.
WAP and WML On the conventional Web, a Web page is a document stored on a Web server, and this file is sent to the client Web browser when requested. In WAP, the WML documents are called decks, and they are also stored on Web servers. Each deck contains one or more cards, and the content of each card is what is normally displayed in the WAP browser window (the display window is scrollable). Create your WAP pages with WAPDrive's free WML editor for Windows URI: http://www.wapdrive.net/DOCS/downloads/wd-waptor23.exe
WAP and WML WAP adds a new dimension to Internet mobility. Using compatible mobile phones, users can book tickets, order pizzas and check their bank accounts anywhere and at any time. In healthcare, this means mobile access to contextual medical knowledge and electronic patient records whenever and wherever needed bringing information to the patients bedside.
Microsoft®.net and Web Services Web Services are XML applications providing services (e.g., booking a GP appointment) that can be accessed programmatically and used as interoperable building blocks to create more complex systems. The Next generation Microsoft® Platform
Microsoft® SOAP and C# SOAP, the Simple Object Access Protocol, is a way to create widely distributed, complex computing environments that run over the Internet using existing Internet infrastructure. SOAP is about applications communicating directly with each other over the Internet in a very rich way. C# (pronounced C Sharp) is a modern, object-oriented programming language from Microsoft and part of the the forthcoming Visual Studio.NET. C# embraces XML and SOAP standards, enabling programmers to quickly build a wide range of applications and Web Services for the new Microsoft.NET platform.
Microsoft® BizTalk The BizTalk framework defines a standard envelope in which XML documents can be placed. This envelope (itself described in standard XML with an appropriate schema) includes a header and body. The contains details about the delivery of the message and about message contents, e.g., message subject, date/time, sender, recipient, etc. The actual body of the document, e.g., XML describing a Laboratory Results Report, follows the between the and tags. URI: http://www.biztalk.org/
Future Directions: XML and HL-7 XML will probably replace EDIFACT (Electronic Data Interchange for Administration, Commerce and Transport) as the standard for shipping information around the NHSnet and elsewhere. The counterpart of EDIFACT in the United States is Health Level-7 (HL-7). HL-7 is also widely used in Europe and XML is destined to play a big role in its development.
Future Directions: XML and HL-7 We want to dispel the notion that XML alone offers an alternative to HL-7. XML is an encoding that complements the semantic content provided by the HL-7 Reference Information Model (RIM), allowing users to exploit all the possibilities of the Internet. --Stan Huff, chair of the HL-7 board of directors RIM: Vocabulary, Semantics/Meaning XML: Syntax, Grammar, Infrastructure for Data Interchange XML: Syntax, Grammar, Infrastructure for Data Interchange URI: http://www.hl7.org /
Future Directions: XML and HL-7 HL-7 successfully balloted what it believes to be the first XML-based standard for healthcare the Clinical Document Architecture (CDA). The CDA, previously known as the Patient Record Architecture (PRA), provides an exchange model for clinical documents (e.g., discharge summaries and progress notes) and brings the healthcare industry closer to the realisation of an electronic patient record. The CDA Standard is expected to become an ANSI approved standard by the end of the year 2000.
Future Directions: XML and HL-7 CDA makes documents both machine-readable so they are easily parsed and processed electronically and human-readable so they can be easily retrieved and used by the people that need them. CDA documents can be displayed using XML-aware Web browsers or WAP phones. The CDA is only the first example of HL-7s commitment to the advancement of XML-based e- healthcare technologies within the clinical, patient care domain. HL-7 is also developing XML-based Version 3 messages.
Conclusion We are entering the next phase of computing – a phase enabled by the Internet, specifically by the key Internet technology, Extensible Markup Language (XML). XML is emerging as the standard way to pass structured data across the Internet, through its high extensibility, device-independence, interoperability and context pre- servation features.
Conclusion However, this extreme flexibility can lead to a new Babel of incompatible e-Health- care standards that need expensive and complex middleware to communicate with each other, thus stripping XML of one of its most important features: interoperability. Initiatives like HL-7 CDA aim at creating a set of internationally agreed-upon XML e-Healthcare Standards to ensure that the excellent XML interoperability is maintained across all e-Healthcare systems.
Suggested Activities: Read… Explore… Experiment... Browse the resources listed in The NeLH guide to XML – compiled by Colin Gordon, Dave Rodrick, Maged N Kamel Boulos and Ben Toth URI: http://www.nelh.nhs.uk/xml_links.asp Download MSXML SDK Beta Release, September 2000 (includes Microsoft XML Tutorial) ~1.5 MB – URI: http://msdn.microsoft.com/code/sample.asp?url=/ms dn-files/027/000/542/msdncompositedoc.xml
XML… An XXXL Technology! Thank You for Attending Contact Details: Dr M N Kamel Boulos E-mail: firstname.lastname@example.org