Wednesday, November 25, 2009

Ontology-Based Software Application Development -- Java and .NET


Consider the following scenario: A programmer needs to read data from a database via the JDBC interface. The system administrator of the organization provides user name and password, which obviously need to be used in the process. Then, the programmer

1. Searches the entire API for a method call (or calls), which takes a database user name as an input parameter.

2. Has to understand how various API calls should be sequenced in order to go from the connection information all the way to actually receiving data from the database.

If the APIs are not semantically rich (i.e., they contain only syntactic information, which the programmers have to read and interpret), understanding, learning and using an API can be a very time consuming task.

For a discussion of how the application of ideas from the areas of "Knowledge Management" and "Knowledge Representation" -- The enrichment of purely syntactic information of APIs with semantic information -- will allow the computer to perform certain tasks that normally the human programmer has to perform, see

http://www.aifb.uni-karlsruhe.de/WBS/aeb/smartapi/smartapi.pdf


A similar semantification of Web services (Ontology-enabled Services) is being widely discussed and implemented today.




See, for example,

http://www.cs.vu.nl/~maksym/pap/Onto-SOA-WAI.pdf

and

http://www.computer.org/portal/web/csdl/doi/10.1109/AICT-ICIW.2006.141


A number of my earlier post have been about Protégé , the popular ontology development tool, and OWL, one of the main ontology languages. To continue that discussion, see

http://www.sandsoft.com/edoc2004/KnublauchMDSW2004.pdf


which discusses a realistic application scenario -- some initial thoughts on a software architecture and a development methodology for Web services and agents for the Semantic Web. Their architecture is driven by formal domain models (ontologies).

Central to their design is Jena, a Java framework for building Semantic Web applications. It provides a programmatic environment for RDF, RDFS and OWL, SPARQL and includes a rule-based inference engine.

Jena is open source and grown out of work with the HP Labs Semantic Web Programme.

For more on Jena, see

http://jena.sourceforge.net/documentation.html

Jena is a programming toolkit that uses the Java programming language. While there are a few command-line tools to help you perform some key tasks using Jena, mostly you use Jena by writing Java programs.

But, .NET developers have similar resources. See, for example

http://www.ic.uff.br/~esteban/files/sbgames09_Alex.pdf


for a development environment using Microsoft Visual Studio, the base language C#, and the graphical library XNA. Protégé has been used for designing the ontology, and the application uses the OwlDotNetApi library.

This 2009 work demonstrates a step-by-step implementation, from the definition of an ontological knowledge base to the implementation of the main classes of a strategy game. It aims at serving as a basic reference for developers interested in starting .NET development of ontology-based applications.

Friday, November 20, 2009

Biometric and Other Identification Technologies


In my November 17 post, I began a discussion of the [proposed] unique patient identification numbers by looking at a de facto proxy, the Social Security number (SSN). In the present post, I will continue with a look at a few of the technologies available for getting information such as someone's identification into or out of a computerized system such as, but not limited to, those used to implement electronic health records (EHR).


Biometric Applications

Biometric verification is a technology which uses unique characteristic features of an individual to automatically identify a person. There are several biometric technologies including fingerprint, hand geometry, and retinal scan. Each of these verification techniques claims to provide positive identification of individuals. What's more, these forms of ID cannot be transferred, forgotten or lost. Anywhere personal identification is required (such as PIN numbers at financial institutions), biometric verification can be used.

The hardware needed for biometric verification is frequently installed at the entrance of a building or secured area and are the "keys" for entry. Fingerprint verifiers, for example, generally allow any finger on either hand to be used for positive identification. Usually an alternate finger is also chosen as a backup in case of injury (cut, scrape, etc.) to the first. Multiple fingerprint templates can be stored locally inside the fingerprint terminal or through a network on a host computer (e.g., in a database). Most vendors also include software that supports common security access features such as unauthorized overtime or early clocking in. In addition, many of these systems can be integrated with existing software packages. Therefore, usually, separate systems do not have to be maintained in order to record and restrict access.

Biometric applications are highly specialized and costly to install when compared to card recognition and other access systems. In addition, if a biometric unit such as a terminal goes down, the manufacturer is often the only source for replacement or repair. With other technologies, such as magnetic stripe, input devices are readily available and can be purchased from a variety of vendors. Biometric Identification, however, does have its benefit. When ultimate security is vital, biometric identification is sometimes proven to be the best solution. But, caveat emptor: as shown later in this post, errors do occur.

Voice Recognition

Although technically, voice recognition is part of biometric verification, its widest application is to convert speech into text and not principally for security or access control. Voice recognition has many advantages, most notably allowing people to keep their eyes and hands free while "voicing instructions" to the computer. Voice recognition is used in many professional fields including healthcare.

For a discussion of using the human voice for verification, see my article "Speech Authentication Strategies, Risk Mitigation, and Business Metrics" in the bibliography at the bottom of this blog.

http://www.developer.com/security/article.php/3684921/Speech-Authentication-Strategies-Risk-Mitigation-and-Business-Metrics.htm

For readers with a background in mathematics and statistics, see the papers

"Comparing Human and Automatic Face Recognition Performance" at

http://myslu.stlawu.edu/~msch/biometrics/papers/adler-schuckers-Human-Automatic-FR.pdf

and

"Statistical Evaluation and Estimation of Biometric-based Classification" at

http://myslu.stlawu.edu/~msch/biometrics/papers/SchuckersTIFSCorrelationStructurev3.pdf

Among the topics discussed here are

(1) false accept rate
(2) false reject rate
(3) false match rate
(4) false non-match rate
(5) biometric authentication,
(6) effective sample size
(7) confidence intervals

Note 1: A video in the right-hand column of this blog presents a brief introduction to confidence intervals.

Note 2: If 99.9% were good enough

• There would be a major plane crash every 3 days
• 12 babies would be given to the wrong parents each day
• There would be 37,000 ATM errors every hour

Nonetheless, technology-based systems in use today do yield the expected outcome less than 100% of the time.

So, it's important that you understand that, like their human counterparts, technologically-based methods are error prone. At the same time, it's also important that you know the cost of these errors to you (and those you serve) in the methodology you choose to use.

Optical laser Cards

These cutting-edge cards transform CD-ROM technology into a credit card form, capable of securely storing megabytes of personal information. For example, a patient ID card could hold an image, health care history, vaccination record, X-rays and more.

Card Based Access System

Controlling entry security to your facility (or computer system) is of vital importance, whether your facility is a high security area such as a hospital, airport, or bank, or even if it is an everyday situation such as an insurance office, school, or department store.

Visual Identification

The simplest access control systems use portrait ID or membership cards, which rely on a receptionist or colleagues at work to recognize interlopers by the absence of a valid, matching portrait card. Such systems require the printing of clear, easily visible, portrait cards. Unfortunately however, that alone is not enough, because with current PC and scanner technology, creating fake or counterfeit cards is all too easy.

Even simple door entry control systems need to use an anti-counterfeiting system which provides an overall security "watermark" feature which is proof against all attempts to copy it.
This type of access control is extremely cost-effective, and it may be all that many facilities need to achieve the security level they require.

Swipe Card Door Access Control Systems

If you need controlled access without relying on the presence of guards or reception staff, you may need to add swipe card readers and electronic locks to your controlled entrances. A higher level of security can be achieved by using mag-stripe readers.

Proximity Cards / Prox Card Access Control Systems

Proximity Cards, or "Prox" as they are often called, are standard size plastic ID cards which contain a coil antenna and a pre-programmed micro chip containing a unique code. When the prox card is within a foot or so of the Prox reader, the radio signal from the reader is picked up by the card antenna and used to power-up the micro chip which then replies with its own unique code.

The reader and its associated processor compare the code with a list of authorized entrants, and if it's OK, the door is opened and a record of entry is logged.

Prox cards must always be "personalized" with a portrait ID to eliminate the misuse of "loaned" or stolen cards.

Reference Books

For a good summary of the sources of problems (errors) and biometric performance, see



This book includes very readable material on

(1) Legal aspects of biometric technologies
(2) Selected technology error rates
(3) Resistance of the system to forgeries
(4) RFID applications
(5) Economics

and much else.

For a comprehensive introduction to RFID, see



Click here
for a preview look at this book.

RFID and Bar Codes

For a discussion of the pros and cons of using RFID and bar codes for the identification of patients, staff and medications, in different use cases, see

http://geekdoctor.blogspot.com/2007/11/bar-codes-rfid-and-patient-safety.html

You will find there a summary of early work at Beth Israel Deaconess Medical Center in Boston to establish positive patient identification:

"For identification of most patients, we believe linear and two dimensional bar codes on wrist bands is robust, cost effective and standardized. For staff badges, linear bar codes work well. For NICU babies passive RFID enables scanning of swaddled infants without disturbing them.

For identification of medications, we believe linear bar codes of NDC numbers on heat sealable plastic bags provides a practical means to positively identification medications.

For identification of equipment, specifically for tracking location in real time, active RFID works well. Because of the size and expense of tags, we do not believe active RFID should be used for patient identification at this time.

Thus, a combination of bar codes, passive RFID and active RFID is working well in our various pilots. No one technology meets the needs of all use cases. Although we favor bar codes over passive RFID in the short term, we do expect to eventually replace bar codes with RFID once the technology is more robust, standardized and cost effective."

Tuesday, November 17, 2009

Unique Patient Identification Numbers, Electronic Heath Records (EHR), Electronic Medical Records (EMR), and Social Security Numbers (SSN)


Creating a unique patient identification number for every person in the United States would help reduce medical errors, simplify the use of electronic medical records, increase overall efficiency, and protect patient privacy, according to a recent RAND Corp. study.

Creating such an ID system could cost as much as $11 billion, but the effort would likely return even more in benefits to the nation's healthcare system, said researchers from RAND Health, a nonprofit research organization.

As adoption of health IT expands nationally and more patient records are computerized, there have been increasing calls to create a system that would include such an ID.

So, as segue to an upcoming post here on the challenges presented by an electronic health records system based on a unique patient identification number, let’s take a brief look at the closest thing to it in the U.S.: The Social Security Number.

Introduction

The Social Security Number (SSN) was created in 1936 as a nine-digit account number assigned by the Secretary of Health and Human Services for the purpose of administering the Social Security laws. SSNs were first intended for use exclusively by the federal government as a means of tracking earnings to determine the amount of Social Security taxes to credit to each worker's account. Over time, however, SSNs were permitted to be used for purposes unrelated to the administration of the Social Security system. For example, in 1961 Congress authorized the Internal Revenue Service to use SSNs as taxpayer identification numbers.

In response to growing concerns over the accumulation of massive amounts of personal information, Congress passed the Privacy Act of 1974. Among other things, this Act makes it unlawful for a governmental agency to deny a right, benefit, or privilege merely because the individual refuses to disclose his SSN.

Section 7 of the Privacy Act further provides that any agency requesting an individual to disclose his SSN must "inform that individual whether that disclosure is mandatory or voluntary, by what statutory authority such number is solicited, and what uses will be made of it." At the time of its enactment, Congress recognized the dangers of widespread use of SSNs as universal identifiers. In its report supporting the adoption of this provision, the Senate Committee stated that the widespread use of SSNs as universal identifiers in the public and private sectors is "one of the most serious manifestations of privacy concerns in the Nation." Short of prohibiting the use of the SSN outright, the provision in the Privacy Act attempts to limit the use of the number to only those purposes where there is clear legal authority to collect the SSN. It was hoped that citizens, fully informed where the disclosure was not required by law and facing no loss of opportunity in failing to provide the SSN, would be unlikely to provide an SSN and institutions would not pursue the SSN as a form of identification.

Large amounts of personal information, including tax information, credit information, school records, and medical records, is keyed to your Social Security Number. Because this data is often sensitive, you should keep it private.

The Structure of the SSN

The SSN is not entirely randomly-generated. Although the procedures for issuing SSNs have changed over the years, a SSN can reveal an individual's relative age and place of origin. The first three numbers (area number) are keyed to the state in which the number was issued. The next two (group numbers) indicate the order in which the SSN was issued in each area. The last four (serial numbers) are randomly generated.

The SSN and Privacy

Today, the Social Security Number plays an unparalleled role in identification, authentication, and tracking of Americans. Because the identifier is used for many purposes, it is valuable to those who wish to acquire credit, commit crimes, or masquerade as another person.

The SSN has been increasingly used in the private sector. The SSN is the record locator for many private-sector profilers, credit bureaus, and credit card companies. It is also used extensively outside the financial services sector. And, while some businesses use the SSN to identify individuals, others use the SSN as a password. This means that the SSN is widely used both as an identifier and as an authenticator. Serious security problems are raised in any system where a single number is used both as identifier and authenticator. It is not unlike using a password identical to a user name for signing into e-mail. Or like using the SSN as a bank account number and the last four of the SSN as a PIN for automated teller machines.

The SSN as National Identifier

The issuance of a single, unique number to Americans raises the risk that the SSN will become a de jure or de facto national identifier. This risk is not new; it was voiced at the creation of the SSN and has since been raised repeatedly. The SSN was created in 1936 for the sole purpose of accurately recording individual worker's contributions to the social security fund. The public and legislators were immediately suspicious and distrustful of this tracking system fearing that the SSN would quickly become a system containing vast amounts of personal information, such as race, religion and family history, that could be used by the government to track down and control the action of citizens. Public concern over the potential for abuse inherent in the SSN tracking system was so high, that in an effort to dispel public concern the first regulation issued by the Social Security Board declared that the SSN was for the exclusive use of the Social Security system.

In passing the Privacy Act of 1974, Congress was specifically reacting to and rejecting calls for the creation of a single entity for the reference and storage of personal information. A 1977 report issued as a result of the Privacy Act highlighted the dangers and transfer of powers from individuals to the government that occur with centralization of personal information:

In a larger context, Americans must also be concerned about the long-term effect record-keeping practices can have not only on relationships between individuals and organizations, but also on the balance of power between government and the rest of society. Accumulations of information about individuals tend to enhance authority by making it easier for authority to reach individuals directly. Thus, growth in society's record-keeping capability poses the risk that existing power balances will be upset.

Many medical providers are using the SSN as a patient identifier, thus hardening the number as a de facto national identifier. As David Miller noted in testimony before the National Committee on Vital Health Statistics:

"It should be noted that the 1993 WEDI [Workgroup for Electronic Data Interchange] Report, Appendix 4, Unique Identifiers for the Health Care Industry, Addendum 4 indicated 71% of the payers responding to the survey based the individual identifier on the Member's Social Security Number. However 89% requested the insured's Social Security Number for application of insurance. Clearly the Social Security Number is the current de facto identifier..."

But individuals and companies are resisting such use of the SSN. Acting on employees' suggestions, I.B.M. has requested that health companies stop using the SSN on insurance cards. According to IBM, fifteen insurers, which cover about 30,000 of the company's 500,000 employees worldwide have either not responded or indicated that they will not comply with the request.

The SSN and Identity Theft

The widespread use of the SSN as an identifier and authenticator has lead to an increase in identity theft. According to the Privacy Rights Clearinghouse, identity theft now affects between 500,000 and 700,000 people annually. Victims often do not discover the crime until many months after its occurrence. Victims spend hundreds of hours and substantial amounts of money attempting to fix ruined credit or expunge a criminal record that another committed in their name.

Identity theft litigation also shows that the SSN is central to committing fraud. In fact, the SSN plays such a central role in identification that there are numerous cases where impostors were able to obtain credit with their own name but a victim's SSN, and as a result, only the victim's credit was affected. In June 2004, the Salt Lake Tribune reported: "Making purchases on credit using your own name and someone else's Social Security number may sound difficult -- even impossible -- given the level of sophistication of the nation's financial services industry. But investigators say it is happening with alarming frequency because businesses granting credit do little to ensure names and Social Security numbers match and credit bureaus allow perpetrators to establish credit files using other people's Social Security numbers." The same article reports that Ron Ingleby, resident agent in charge of Utah, Montana and Wyoming for the Social Security Administration's Office of Inspector General, as stating that SSN-only fraud makes up the majority of cases of identity theft.

Because creditors will open new accounts based only on a SSN match, California has passed legislation requiring certain credit grantors to comply with heightened authentication procedures. California Civil Code § 1785.14 requires credit grantors to actually match identifying information on the credit application to the report held at the credit reporting agency. Credit cannot be granted unless three identifiers from the application match those on file at the credit bureau.

From my [partial] bibliography - Six Sigma, Monte Carlo Simulation, and Kaizen


From time to time, I've made reference to "My [partial] bibliography" at the bottom of this blog. One of the articles cited near the top of this list,
Six Sigma, Monte Carlo Simulation, and Kaizen for Outsourcing, recently drew some complimentary feedback that I've pasted here {this is unabashed self promotion}:


{click on the image above for larger view}

Here's a small section from the article:


{click on the image above for larger view}

Saturday, November 7, 2009

Vagueness, Logic, and Ontology: Fuzzy Ontologies


In traditional ontology theory, concepts and roles are crisp sets. However, there is a great deal of fuzziness in the real world.

For example, one may be interested in finding “a very strong flavored red wine” or in reasoning with concepts such as “a cold place”, “an expensive item”, “a fast motorcycle”, etc.

A possible solution to handling uncertain data is to incorporate fuzzy logic into ontologies. Unfortunately, these fuzzy ontologies have shortcomings – reasoners for fuzzy ontologies are not yet so polished as those for crisp (aka traditional) ontologies.

Possible use of a fuzzy ontology

When performing a query on a document, it is a usual practice to extend the set of concepts already present in the query with other ones which can be derived from an ontology. Typically, given a concept, its parents and children can also be added to the query and then searched in the document.

Extending queries

A possible use of fuzzy ontology is to extend queries with, besides children and parents, instances of concepts which satisfy to a certain degree the query. Here’s an example. You are given a clothes ontology and a query looking for “a very long and black coat.” In the ontology there are two instances of coat: X which has property “long” with value 0.7 and Y which has property “long” with value 0.3. Thus, it is natural to extend the original query adding, not only parents and children of the concept “coat”, but also the instance X, because \long = 0.7 can be interpreted as “very long”. On the other hand, the instance Y is not added to the extended query since \long = 0.3 does not mean “very long”.

Mathematical representation of a fuzzy concept

The fuzzy concept “Young_Person” is defined as follow:




The linguistic term Young may be defined by a trapezoidal function as shown graphically in the next figure, its mathematical representation.



{click on the image above for larger view}


Representation of a fuzzy ontology in Protégé




Fuzzy Protégé for Fuzzy Ontology Models


A good deal of work has been conducted to build tools for the creation of fuzzy ontologies.

Fuzzy Protégé is a semi-automatic collaborative tool for the construction of fuzzy ontology models, built as a Protégé 3.3.1 tab plug-in. For more information on this plug-in, click the following link.


http://protege.stanford.edu/conference/2009/abstracts/S10P2Ghorbel.pdf






Fuzzy OWL 2

The prior post to this blog introduced Web Ontology Language 2 (OWL 2), a new version of a standard for representing knowledge on the Web that had been announced by W3C just that day.

Fuzzy OWL2 Ontology is an OWL ontology to represent fuzzy extensions of the OWL and OWL 2 languages. For more information on this subject, click the following link.

http://webdiis.unizar.es/~fbobillo/papers/ISMIS2009presentation.pdf


Vagueness, Logic, and Ontology

Some people are clearly bald (Picasso), some are clearly hairy (the count of Montecristo), and some are borderline cases. Achille C. Varzi, Department of Philosophy, Columbia University, New York, starts here and presents a very interesting discussion on Vagueness, Logic, and Ontology in an easy-to-read paper reached by clicking the following link.

http://www.columbia.edu/~av72/papers/Dialogue_2001.pdf


Studies in Fuzziness and Soft Computing

http://www.springer.com/engineering/book/978-3-540-71257-2?cm_mmc=Google-_-Book%20Search-_-Springer-_-0


Tuesday, October 27, 2009

Web Ontology Language 2 - A new version of a standard for representing knowledge on the Web

Today, W3C announced a new version of a standard for representing knowledge on the Web. OWL 2, part of W3C's Semantic Web toolkit, allows people to capture their knowledge about a particular domain (say, energy or medicine) and then use tools to manage information, search through it, and learn more from it.

Furthermore, as an open standard based on Web technology, it lowers the cost of merging knowledge from multiple domains.

Communities organize information through shared vocabularies.

Booksellers talk about "titles" and "authors," human resource departments use "salary" and "social security number," and so on. OWL is one W3C tool for building and sharing vocabularies.

Consider the application of OWL in the field of health care. Medical professionals use OWL to represent knowledge about symptoms, diseases, and treatments. Pharmaceutical companies use OWL to represent information about drugs, dosages, and allergies. Combining this knowledge from the medical and pharmaceutical communities with patient data enables a whole range of intelligent applications such as decision support tools that search for possible treatments; systems that monitor drug efficacy and possible side effects; and tools that support epidemiological research.

As with other W3C Semantic Web technology, OWL is well-suited to real-world information management needs. Over time, our knowledge changes, as does the way we think about information. It is also common to think of new ways of using data over time, or to have to combine data with other data in ways not initially envisioned (for example, when two companies merge and their data sets need to be merged as well). OWL is designed with these realities in mind.

OWL can lower software development costs as well by making it easier to design generic software (search tools, inference tools, etc.) that may be customized by simply adding more OWL descriptions. For instance, one simple but powerful feature of OWL is the ability to deduce two items of interest as being "the same" — for instance, that "the planet Venus" is the same thing as "the morning star" and as "the evening star." Knowing that two items are "the same" allows smart tools to infer relationships automatically, without any changes to software.

The new features in OWL 2 are based on the features people most requested after using OWL 1. OWL 2 introduces OWL profiles, subsets of the language that offer easier implementation and use (at the expense of expressive power) designed for various application needs.

To get started with OWL 2, see the OWL 2 Overview (click here) and OWL 2 Primer (click here).

Probabilistic Reasoning for OWL DL Ontologies -- Reasoning about Uncertain Domain Knowledge


Pronto is an extension of Pellet that enables probabilistic knowledge representation and reasoning in OWL ontologies. Pronto is distributed as a Java library equipped with a command line tool for demonstrating its basic capabilities. (There is no 1.0 release!) The figure below outlines the relationships among Pronto, an OWL DL Ontology, and the editor that might have created the ontology. Pellet supports reasoning with the full expressivity of OWL-DL (SHOIN(D) in Description Logic jargon) and has been extended to support the forthcoming OWL 2 specification (SROIQ(D)).




Pronto offers core OWL reasoning services for knowledge bases containing uncertain knowledge; that is, it processes statements like “Bird is a subclass-of Flying Object with probability greater than 90%” or “Tweety is-a Flying Object with probability less than 5%”. The use cases for Pronto include ontology and data alignment, as well as reasoning about uncertain domain knowledge generally; for example, risk factors associated with breast cancer.

Pronto adds the following capabilities to Pellet:

* Adding probabilistic statements to an ontology (using OWL's annotation properties)

* Inferring new probabilistic statements from a probabilistic ontology

* Explaining results of probabilistic reasoning

Pronto depends on Pellet, which is included in the Pronto release package. It also relies on Ops Research's OR-Objects package, which needs to be downloaded separately.

To download Pronto, click here.

To download OR-Objects, click here.

The features of Pronto (in addition to the features of Pellet) are outlined in the file basic.pdf, located in the /doc directory of the Pronto download.

If you are interested in a rigorous description of the approach taken by Pronto, read the paper by Thomas Lukasiewicz “Probabilistic Description Logics for the Semantic Web,” which is cited under Resources in basic.pdf.

For further reading on Probabilistic Reasoning, click

http://clarkparsia.com/weblog/2007/09/27/introducing-pronto/

http://klinov.blogspot.com/2007_11_01_archive.html


http://clarkparsia.com/weblog/2007/10/02/using-pronto/



For further reading on Pellet features, click

http://clarkparsia.com/pellet/features


An upcoming post will discuss ontologies that use fuzzy logic.


Saturday, October 24, 2009

Electronic medical records systems are not classified as medical devices -- This may have serious consequences.


This is an interim post. The promised post on ontologies that benefit from fuzzy or probability-based logic is coming.


"We wouldn't want to go back, but Electronic Health Records (EHR) are still in need of significant improvement."

-Christine Sinsky, an internist
in Dubuque, Iowa, whose practice implemented electronic records six years ago.

More than one in five hospital medication errors reported last year -- 27,969 out of 133,662 -- were caused at least partly by computers, according to data submitted by 379 hospitals to Quantros Inc., a health-care information company. Paper-based errors have caused 10,954 errors, the data showed.

Between 2006 and 2008, computer errors also contributed to 31 deaths or serious injuries -- twice as many as were caused by paper errors, although numbers of these serious cases were decreasing, Quantros said.

Legal experts say it is impossible to know how often health IT mishaps occur. Electronic medical records are not classified as medical devices, so hospitals are not required to report problems. In fact, many health IT contracts do not allow hospitals to discuss computer flaws, according to Sharona Hoffman, a professor of law and bioethics at Case Western Reserve University in Cleveland.

"Doctors who report problems can lose their jobs," Hoffman said. "Hospitals don't have any incentive to do so and may be in breach of contract if they do. That sort of secrecy puts the patient at risk."

Click here to see the complete Washington Post article

Tuesday, October 20, 2009

Collaborative Developement of Large, Complex and Evolving Ontologies (e.g., SNOMED CT and GALEN) using a Concurrent Versioning System (CVS)


Prior posts here have talked about ontologies as though they magically appear and seamlessly meet a variety of challenges faced by the developers of computer applications. In this and a subsequent post, I'm going to touch upon several of the difficulties present in the creation and use of certain ontologies. What follows below is a few words on the use of Concurrent Versioning Systems (CVS). My next post will discuss the gap between the majority of today's ontologies and a real world that's filled with a good deal of vagueness and uncertainty that these ontologies can't describe all that well.

OWL Ontologies are being used in many application domains. In particular, OWL is extensively used in the clinical sciences; prominent examples of OWL ontologies are the National Cancer Institute (NCI) Thesaurus, SNOMED CT, the Gene Ontology (GO), the Foundational Model of Anatomy (FMA), and GALEN.

These ontologies are large and complex; for example, SNOMED currently describes more than 350,000 concepts whereas NCI and GALEN describe around 50,000 concepts. Furthermore, these ontologies are in continuous evolution; for example the developers of NCI and GO perform approximately 350 additions of new entities and 25 deletions of obsolete entities each month.

Most realistic ontologies, including the ones just mentioned, are being developed collaboratively. The developers of an ontology can be geographically distributed and may contribute in different ways and to different extents. Maintaining such large ontologies in a collaborative way is a highly complex process, which involves tracking and managing the frequent changes to the ontology, reconciling conflicting views of the domain from different developers, minimising the introduction of errors (e.g., ensuring that the ontology does not have unintended logical consequences), and so on.

In this setting, developers need to regularly merge and reconcile their modifications to ensure that the ontology captures a consistent unified view of the domain. Changes performed by different users may, however, conflict in complex ways and lead to errors. These errors may manifest themselves both as structural (i.e., syntactic) mismatches between developers’ ontological descriptions, and as unintended logical consequences.

Tools supporting collaboration should therefore provide means for: (i) keeping track of ontology versions and changes and reverting, if necessary, to a previously agreed upon version, (ii) comparing potentially conflicting versions and identifying conflicting parts, (iii) identifying errors in the reconciled ontology constructed from conflicting versions, and (iv) suggesting possible ways to repair the identified errors with a minimal impact on the ontology.

In software engineering, the Concurrent Versioning paradigm has been very successful for collaboration in large projects. A Concurrent Versioning System (CVS) uses a client-server architecture: a CVS server stores the current version of a project and its change history; CVS clients connect to the server to create (export) a new repository, check out a copy of the project, allowing developers to work on their own ‘local’ copy, and then later to commit their changes to the server. This allows several developers to make changes concurrently to a project. To keep the system in a consistent state, the server only accepts changes to the latest version of any given project file. Developers should hence use the CVS client to regularly commit their changes and update their local copy with changes made by others. Manual intervention is only needed when a conflict arises between a committed version in the server and a yet-uncommitted local version. Conflicts are reported whenever the two compared versions of a file are not equivalent according to a given notion of equivalence between versions of a file.

Change or conflict detection amounts to checking whether two compared versions of a file are not ‘equivalent’ according to a given notion of equivalence between versions of a file.

A typical CVS treats the files in a software project as ‘ordinary’ text files and hence checking equivalence amounts to determining whether the two versions are syntactically equal (i.e., they contain exactly the same characters in exactly the same order). This notion of equivalence is, however, too strict in the case of ontologies, since OWL files, for example, have very specific structure and semantics. For example, if two OWL files are identical except for the fact that two axioms appear in different order, the corresponding ontologies should be clearly treated as ‘equivalent’: an ontology contains a set of axioms and hence their order is irrelevant.

Another possibility is to use the notion of logical equivalence. This notion of equivalence is, however, too permissive.

Therefore, the notion of a conflict should be based on a notion of ontology equivalence ‘in-between’ syntactical equality and logical equivalence.

Conflict resolution is the process of constructing a reconciled ontology from two ontology versions which are in conflict. In a CVS, the conflict resolution functionality is provided by the CVS client.

Conflict resolution in text files is usually performed by first identifying and displaying the conflicting sections in the two files (e.g., a line, or a paragraph) and then manually selecting the desired content.

Errors in the reconciliation process can be detected using a reasoner, but this too is complicated.

Collaborative Protégé is just one among several recent proposals for facilitating collaboration in ontology engineering tools. [See the following references for more information on this topic.] Such tools would allow developers to hold discussions, chat, and annotate changes.

Collaborative Protégé online demo http://protegewiki.stanford.edu/index.php/Collaborative_Protege
http://smi-protege.stanford.edu/collab-protege/

Collaborative Ontology Development with Protégé (2009)
http://protege.stanford.edu/conference/2009/slides/CollabProtegeTutorial.pdf

Noy, N.F., Tudorache, T., de Coronado, S., Musen, M.A.: Developing biomedical ontologies collaboratively. In: Proc. of AMIA 2008. (2008)

Noy, N.F., Chugh, A., Liu, W., Musen, M.A.: A framework for ontology evolution collaborative environments. In: Proc. of ISWC. (2006) 544–558

My next post will discuss the need for ontologies that benefit from fuzzy or probability-based logic when a domain has vagueness or uncertainty.

Friday, October 16, 2009

Demographics update: Visits to this blog



I noted in my June 11 post



Today, the report shows



{ click the map for a larger view }

Tuesday, October 13, 2009

From Star Schema Ontologies Stored in an RDBMS (e.g., i2b2) to Other Ontology Stores and The Semantic Web


Recent posts here have discussed ontologies saved in relational databases (see, for example, my September 11 and 24 posts); while other posts have been about different kinds of ontology stores and the Semantic Web (see, for example, my September 27 and 6 as well as my October 11 posts). If one reads only this blog, one might think that there is no work to exploit the advantages of both approaches in a single system afoot. But, there are. A number of investigators are looking into applications that support connections to both a variety of RDBMS schemas and other forms of ontology management.

What if i2b2 built Semantic Web graphs instead of relational stores? What if it had an OWL-defined Ontology, instead of a relational-schema? Click here.

Semantic Web will be part of i2b2 and will allow it to correlate unique variable names across consortium sites (e.g., white, Caucasian) and for information retrieval. Click here

From Stanford ( Russ Altman et al ) on the west coast to Harvard ( Isaac Kohane et al ) on the east coast in the U.S. Click here.

Ontology Systems. Click here.

i2b2. Click here.



{ click the figure above for a larger view }

Sunday, October 11, 2009

Mapping Ontologies - Tools, a Suite, and an Application


Before continuing, I want to devote a little space to fleshing out the subject of Mapping Ontologies, which I have alluded to in a couple of earlier posts. Mapping is a process in which we first try to find similarity between individual elements of two ontologies. We compare the elements on the basis of their names and attributes.

Using Protégé

Note: Protégé (see my August 24 post below) is probably the most popular ontology editor available.

Click here.

Using NeOn Toolkit

Note: The Watson plug-in to the NeOn Toolkit (see my September 27 post below) allows the user to select entities of the currently edited ontology and to automatically trigger queries to a remote ontology.


Click here.

A proposed Web app that addresses a real-world situation with the help of ontology mapping, probabilities, and Jena - a Semantic Web framework for Java.

When incorporating data semantics into the searching process, the correctness of searching can depend directly on mapping results.

Keywords: Protégé, OWL, Jena, Probability


Click here.

A Comprehensive Suite of Tools

A presentation by the former lead developer of Protégé-OWL


Click here.

Thursday, October 8, 2009

Uncertain Knowledge, Ontologies, and Reasoners – A Discussion of Semantic Ambiguity in the Presence of Statistical Uncertainty

Before continuing with uncertain domain knowledge, the subject of this and future posts, I’d like to give an example. I’ll introduce a scenario in which both semantic ambiguity (refer to my prior post) and statistical uncertainty (refer to the tutorials in the right-hand column of this blog) are present.

One of the limitations of most current description logic (DL) reasoners (refer to my August 6 & 24 posts below) is the inability to handle uncertain knowledge. It is a serious obstacle to the expansion of the Semantic Web, to name just one technology, because many domains of human interest contains knowledge that cannot be represented with absolute certainty. One example of an uncertain domain is medicine, in particular, disease diagnosis. Symptoms, causes and consequences of many diseases are uncertain which complicates conceptualization of such domains in formal ontologies and thus restricts machine understanding.

The next two figures, rendered without further explanation, illustrate that the difficulties introduced by semantic ambiguity of a deterministic kind can be made even more difficult when there is a need to consider statistical uncertainty at the same time. This might be the case when a patient is seen by one doctor and then asks a second doctor for his or her opinion.


However, these days, a good deal of technology is often employed by doctors before they speak to patients and to each other.


{ click on the images above for larger views }

To be continued . . .

Saturday, October 3, 2009

"Bernstein at Harvard" -- Segue to Probability, Semantic Amiguity, etc.

My prior post was about Watson, a tool for accessing multiple and usually heterogeneous online ontologies, but never once mentioned the word "probability." However, the recognition of uncertainty in the real world is sometimes needed within description logics, the underpinning of ontologies like OWL. Because of its importance, I'll take up the topic of uncertain domain knowledge in my next post.

For the present, however, I've embed here the 4 1/2 minute video "Bernstein at Harvard," which includes many of the terms - e.g., probability, meaning, semantic ambiguity, meta, language, and knowledge - that I'll use in my upcoming rant. Hope you find this segue as relevant as I do.





Note: Semantic ambiguity arises when a word or concept has an inherently diffuse meaning based on widespread or informal usage. This is often the case, for example, with idiomatic expressions whose definitions are rarely or never well-defined, and are presented in the context of a larger argument that invites a conclusion.

For example, “You could do with a new automobile. How about a test drive?” The clause “You could do with” presents a statement with such wide possible interpretation as to be essentially meaningless. Lexical ambiguity is contrasted with semantic ambiguity. The former represents a choice between a finite number of known and meaningful context-dependent interpretations. The latter represents a choice between any number of possible interpretations, none of which may have a standard agreed-upon meaning. This form of ambiguity is closely related to vagueness.

Sunday, September 27, 2009

Watson - An efficient access point to online ontologies - A gateway to the Semantic Web

Next generation semantic applications will be characterized by a large number of sometimes widely-distributed ontologies, some of them constantly evolving. That is, many next-generation semantic applications will rely on ontologies embedded in a network of already existing ontologies. Other semantic applications – e.g. some electronic health records (EHR) – will maintain a single, globally consistent semantic model that serves the needs of application developers and fully integrates a number of pre-existing ontologies.

As the Semantic Web gains momentum, more and more semantic data is becoming available online. Semantic Web applications need an efficient access point to this Semantic Web data. Watson, the main focus of this post, provides such a gateway. Two limited demonstrations of Watson - one video, the other static - are given below.

Overview of Watson Functionalities

The role of a gateway to the Semantic Web is to provide an efficient access point to online ontologies and semantic data. Therefore, such a gateway plays three main roles:

(1) it collects the available semantic content on the Web
(2) analyzes it to extract useful metadata and indexes, and
(3) implements efficient query facilities to access the data.

Watson provides a variety of access mechanisms, both for human users and software programs. The combination of mechanisms for searching semantic documents (keyword search), retrieving metadata about these documents and querying their content (e.g., through SPARQL) provides all the necessary elements for applications to select and exploit online semantic resources in a lightweight fashion, without having to download the corresponding ontologies.

For a easy-to-follow video demonstration of The Watson plug-in for the NeOn toolkit, click on

http://videolectures.net/iswc07_daquin_watson/

and, better still, click one of the Media Player links at this destination.

Note: There is a Watson plug-in for the ontology editor Protégé in the works.

Protégé (see my August 24 post below) is probably the most popular ontology editor available. In addition, its well established plug-in system facilitates the development of a plug-in using the Waston Web Services and API. To date, however, the Protégé site provides only what it describes as, “more a proof of concept or an example than a real plug-in.”

NeOn Toolkit

The NeOn architechture for ontology management supports the next generation semantics-based applications. The NeOn architecture is designed in an open and modular way and includes infrastructure services such as a registry and a repository and supports distributed components for ontology development, reasoning and collaboration in networked environments.

The NeOn toolkit, the reference implementation of the NeOn architechture, is based on the Eclipse infrastructure.

Ontology Management
Semantic Web, Semantic Web Services, and Business Applications
Copyright 2008 Springer

A static demonstration of the Watson plug-in for the NeOn toolkit

The Watson plug-in allows the user to select entities of the currently edited ontology he/she would like to inspect, and to automatically trigger queries to Watson, as a remote Web service. Results of these queries, i.e. semantic descriptions of the selected entities in online ontologies, are displayed in an additional view allowing further interactions. The figure below provides an example, where the user has selected the concept “human” and triggered a Watson search. The view on the right provides the query results (a list of definitions of class human which have been found on the Semantic Web) and allows easy integration of the results by simply clicking on one of the different “add”-buttons.

Finally, the core of the plug-in is the component that interacts with the core of the NeOn toolkit: its datamodel. Statements retrieved by Watson from external ontologies can be integrated in the edited ontology, requiring for the plug-in to extend this ontology through the NeOn toolkit datamodel and data management component.



{click on the image above for a larger view}

An interesting exercise:
And search on "snomed"


And, this dynamic view is what you get after clicking the (view as graph) link.

Thursday, September 24, 2009

Querying Semantic Data & Ontology - Assisted Querying of Relational Data --- SQL

My September 11 post discussed the i2b2 suite of applications, which has at its base a collection of database tables – with a star schema format - developed from the ground up to represent ontologies. In the present post, I’ll continue this discussion, only for the case where external ontologies are used. I’ll illustrate this latter option with two examples: querying semantic data & ontology-assisted querying of relational data, both using SQL.

Some organizations are using semantic approaches to create an information model (the ontology) based on data schema taken from a particular organization or industry. Individual application database schema are mapped to a standard information model in order to make the meaning of the concepts in different, application-specific data schema explicit and relate them to each other. The resulting information architecture provides a unified view of the data sources in the organization.

As shown in the figure below, application users can query these semantic (metadata) models, which comprise RDF data or ontologies. Standard ontologies reconcile queries needing access to heterogeneous data sources and application-specific schema. This results in solutions that have the power to address problems such as:

* data integration across a heterogeneous, expanding set of sources,
* racking provenance information, and
* modeling probabilistic data and schema.

The product focused on in this post – chosen in part by the toss of a coin – is the latest database from Oracle, 11g, and not competitors like SQL Server. Oracle, it should be mentioned, can deploy on any server platform (Unix, Linux, or Windows) whereas Microsoft SQL Server can deploy only on Windows Server.

In Oracle 11g,
RDF triples based on a graph data model are persistent, indexed, and queried, similar to other object-relational data types. I’ll have more to say on RDF/OWL data and ontologies in future posts. For now, the links found earlier in this paragraph serve as an introduction.


As shown in this figure, the Oracle 11g database contains semantic data and ontologies (RDF/OWL models), as well as traditional relational data.

The Oracle Database 11g semantic database features enable:

* Storage, Loading, and DML access to RDF/OWL data and ontologies
* Inference using OWL and RDFS semantics and also user-defined rules
* Querying of RDF/OWL data and ontologies using SPARQL-like graph patterns
* Ontology-assisted querying of enterprise (relational) data


Query Semantic Data in Oracle Database

RDF/OWL data can be queried using SQL. The Oracle SEM_MATCH table function, which can be embedded in a SQL query, has the ability to search for an arbitrary pattern against the RDF/OWL models, and optionally, data inferred using RDFS, OWL, and user-defined rules. The SEM_MATCH function meets most of the requirements identified by W3C SPARQL standard for graph queries. Support for virtual models, a view-like feature for combining models and optionally corresponding entailments from a UNION or UNION ALL operation, can be used in a SEM_MATCH query. New in release 11.2 of the Oracle database, the SPARQL FILTER, UNION, and OPTIONAL keywords are supported in the SEM_MATCH table function.

{click on the image above for larger view}

Ontology-assisted Query for Relational Data

Queries can extract more semantically complete results from relational data by associating relational data with ontologies that organize the domain knowledge of the relational data.

As shown in the next example, Oracle 11g performs this task by associating an ontology with the data and using the new SEM_RELATED operator (and optionally its SEM_DISTANCE ancillary operator). The new SEM_INDEXTYPE index type improves performance for semantic queries.


{click on the image above for larger view}

For an in-depth treatment of the SEM_MATCH table function, the SEM_RELATED operator, and related topics, consult the Oracle Database Semantic Technologies Developer's Guide.

Native Inferencing using OWL, RDFS, and user-defined rules

In addition to simply storing, and querying an ontology, the latest Oracle database can perform a number of other important tasks, including but not limited to drawing inferences and reasoning. The ability to draw inferences from existing data using the precision and rigor of mathematical logic (e.g., Description Logic) is probably the most important property that distinguishes semantic data from others. New Oracle Database 11g enhancements include a native inference engine for efficient and scalable inferencing using major subsets of OWL. This OWL inferencing engine makes the existing native inferencing for RDF, RDFS, and user-defined rules (used for additional specialized inferencing capabilities) more efficient and scalable. Inferencing may also be done using any combinations of these various entailment regimes. In addition, through the Oracle Jena Adaptor (downloadable from the Oracle Semantic Technologies page), you can integrate with external reasoners such as Pellet (see my August 24 post below for an introduction to Pellet).

Friday, September 11, 2009

Functional Design of an Ontology --- Relationship of the i2b2 ontology to star schema

Recent posts to this blog have discussed ontologies and description logics . As mentioned earlier, the OWL-DL and OWL-Lite sub-languages of the W3C-endorsed Web Ontology Language (OWL) are based on a description logic. A tool for editing and creating ontologies, Protégé, was also described.

In the present post, I’d like to describe the functional design of the ontology used by i2b2, a collection of open-source software tools for the collection and management of project-related clinical research data. That is, this post will present an introduction to what’s under the hood.

Data storage

i2b2 data is stored in a relational database, usually either Oracle or SQL Server and always in a star schema format, a design proposed initially by Ralph Kimball in the 1980s. It is named this because of the appearance of the final database schema diagram that looks like a star (see figure below).

Notes: Ralph Kimball and I were formerly regular contributors to now-defunct DBMS Magazine. A brief introduction to the star schema format is given in the OLAP section of my article Using Neural Networks and OLAP Tools to Make Business Decisions. (See the bibliography at the bottom of this blog)





{click on the images above for larger views}

A star schema contains one fact and many dimension tables. The fact table contains the quantitative or factual data, while the dimension tables contain descriptors that further characterize the facts.


Facts are defined by concept codes and the hierarchical structure of these codes together with their descriptive terms and some other information forms the i2b2 ontology (also called metadata).

i2b2 ontology data may consist of one or many tables. If there is one table, it will contain all the possible data types or categories. The other option is to have one table for each data type. Examples of data types are: diagnoses, procedures, demographics, lab tests, encounters (visits or observations), providers, health history, transfusion data, microbiology data and various types of genetics data. All metadata tables must have the same basic structure.

The structure of the metadata is integral to the visualization of concepts in the i2b2 tools, as well as for querying the data.

In healthcare, a logical fact is an observation on a patient. It is important to note that an observation may not represent the onset or date of the condition or event being described, but instead is simply a recording or a notation of something. For example, the observation of ‘diabetes’ recorded in the database as a ‘fact’ at a particular time does not mean that the condition of diabetes began exactly at that time, only that a diagnosis was recorded at that time (there may be many diagnoses of diabetes for this patient over time).

The fact table contains the basic attributes about the observation, such as the patient and provider numbers, a concept code for the concept observed, a start and end date, and other parameters. In i2b2, as shown in the figure above, the fact table is called observation_fact.

Dimension tables contain further descriptive and analytical information about attributes in the fact table. A dimension table may contain information about how certain data is organized, such as a hierarchy that can be used to categorize or summarize the data. In the i2b2 Data Mart, there are four dimension tables that provide additional information about fields in the fact table: patient_dimension, concept_dimension, visit_dimension, and provider_dimension.

Scalability

Once a database grows to over 10 million items, the advantages of a star schema can start to take hold. The first consideration is the speed and integrity of the queries. When one exceeds 0.5 billion rows in a database, it becomes important to have the data expressed in very large indexes. Very large indexes are only possible with very large tables. If one has several hundred or thousand tables in a database (easily attained in large transaction systems), one will have at least one index on each table resulting in several hundred or thousand small indexes. Joins between 100‐1000 indexes for each query will result in slow performance (hours), while joins between 3‐4 indexes, even representing 100’s of millions of rows, will be fast (seconds). Furthermore, the integrity of queries in a transactional database is also compromised because queries can often be answered through several paths in a circular manner.

The second consideration is the need for a large analytic database to constantly absorb new data. The database schema does not change as new data sources are added. New data will result in additional rows added to the fact, patient, and visit tables. New concepts and observers will result in new rows added to the concept and provider tables. But new columns and tables do not need to be added for each new data source. This is very useful in large projects where there are many tools depending upon a specific database schema. A strategy where the database grows by adding rows for new data rather than adding new tables and columns allows tools developed to work with one kind of data to also work with a new source of data.

The third advantage of the star schema is the ability to manage the metadata of a large analytic database. Metadata is used to perform queries, and if it is incorrect a query will be profoundly affected. For example, if one wanted to find all the patients with diabetes, but left out one of the codes used to represent diabetes in a database, none of those orphaned patients would be counted. The detection of orphaned concepts is easily achieved in the star schema by, for example, joining the fact table to the concept and provider tables and reporting those fact table concepts and providers left out by the join.

A sample ontology query for diagnosis

To find all the patients that were diagnosed with migraines, use this query:

Select distinct (patient_num)
From observation_fact
Where concept_cd in
(select concept_cd
from concept_dimension
where concept_path like '%Neurologic Disorders (320-389)\(346) Migraine\%')

Note: The material in this post has been taken largely from the following i2b2 pages, which should be consulted for further details:

https://www.i2b2.org/software/projects/ontologymgmt/Ontology_Design_Doc_13.pdf

https://www.i2b2.org/software/projects/workbench/i2b2Workbench_Description.pdf

https://www.i2b2.org/software/projects/datarepo/CRC_Design_Doc_13.pdf




Wednesday, September 9, 2009

Semantic Interoperability, EHR, etc. are of little use to someone whose claim is denied by his or her insurance company

Founded in 1945, Kaiser Permanente is this nation’s largest not-for-profit health plan, serving more than 8.6 million members, with headquarters in Oakland, California.

This blog has carried a prominently-placed electronic health records (EHR) video outlining some of the excellent information technology work that's being introduced by Kaiser Permanente.

So, given the placement of this video, I feel a responsibility to add here the reality that Kaiser Permanente's technology is only one facet of a system that daily makes decisions about who can and who cannot get health care.

The California Nurses Association/National Nurses Organizing Committee has just released new data that reveals more than one of every five requests for medical claims for insured patients, even when recommended by a patient’s physician, are rejected by California’s largest private insurers. (The Kaiser Permanente Health Plan membership in California is greater than 6 million.)

This is data that the health insurance companies have wanted to hide, and it’s just now becoming available. It documents that these insurance companies have denied, in California alone, 45 million claims since 2002. Some of these rates ranged as high as 40 percent (for UnitedHealthcare’s PacifiCare). And other large, giant insurers like Blue Cross, Health Net, CIGNA, and Kaiser were all in the range of 30 percent (Kaiser Permanente's denial rates is 28 percent). This report shows a clear pattern of very high denials by the very insurance companies that people depend upon to assure that they get the care they need when they need it.

There are a variety of reasons insurance companies claim why they make these denials: in the end though, it’s a war that goes on between the insurance companies and the doctors and the hospitals. (Note: Attorney General of California Jerry Brown has announced he’s going to conduct an investigation into the business practices of these companies and why these denial rates are so high.)

A recent piece in the Los Angeles Times quotes a spokeswoman for the California Association of Health Plans, responding to the data that the California Nurses Association/National Nurses Organizing Committee has just released, saying, “It appears [that] a good deal of the so-called denials are merely paperwork issues.”

It seems to me that even if you put the best face on the California Association of Health Plans' response, what it demonstrates is how much waste (aka administrative overhead) there is in the health insurance industry. It's been suspected for some time now that one-third of every healthcare dollar goes to waste and to enforcing claims denials in the United States..

Monday, August 24, 2009

Reasoning for Ontology Engineering and Usage and The Challenges of Modern Medical Ontologies

In my August 6 post, I briefly introduced ontology editor Protégé 4.0 with the reasoners FaCT++ (implemented using C++) and Pellet (Java based). Today's post picks up this story and adds the RacerPro (commercial) reasoner to the mix. You can -- and I recommend that you do -- download your own copies of the latest versions of these tools. Links that enable you to do so are located at the end of this post.



Protégé 4.0 with three reasoner added-ins

A
reasoner is a piece of software able to infer logical consequences from a set of asserted facts or axioms. In the present context, a reasoner makes inferences about classes and individuals in an ontology, tasks that are beyond the Web Ontology Language (OWL) model alone.

Ontologies, as described in prior posts, are formal vocabularies of terms, often shared by a community of users, and, as such, ontologies play an important role in semantic interoperability and Web 3.0. One of the most prominent application areas of ontologies is medicine and the life sciences. For example, the Systematised Nomenclature of Medicine Clinical Terms (SNOMED CT) is a clinical ontology. Another example is the OBO Foundry -- a repository containing about 80 biomedical ontologies.

These ontologies are gradually superseding existing medical classifications and will provide the future platforms for gathering and sharing medical knowledge. Capturing medical records using ontologies will reduce the possibility for data misinterpretation, and will enable information exchange between different applications and institutions.

Medical ontologies are strongly related to description logics (DLs), which provide the formal basis for many ontology languages, most notably the W3C standardised OWL. All the above mentioned ontologies are nowadays available in OWL and, therefore, in a description logic. The developers of medical ontologies have recognised the numerous benefits of using DLs, such as the clear and unambiguous semantics for different modelling constructs, the well-understood tradeoffs between expressivity and computational complexity, and the availability of provably correct reasoners and tools (discussion to follow).

The development and application of ontologies crucially depend on reasoning. Ontology classification, i.e., organising classes into a specialisation/generalisation hierarchy, is a reasoning task that plays a major role during ontology development: it provides for the detection of potential modelling errors such as inconsistent class descriptions and missing sub-class relationships. For example, about 180 missing sub-class relationships were detected when the version of SNOMED CT used by the NHS was classified using the DL reasoner FaCT++. Query answering is another reasoning task that is mainly used during ontology-based information retrieval; e.g., in clinical applications query answering might be used to retrieve "all patients that suffer from nut allergies".

Despite the impressive state-of-the-art, modern medical ontologies pose significant challenges to both the theory and practice of DL-based languages. Existing reasoners can efficiently deal with some large ontologies, but many important ontologies are still beyond the reach of available tools (i.e., they are unable to classify some widely used ontologies).

Applications currently need to work around these limitations, e.g., by using subsets of ontologies that can be successfully processed. For example, the version of
GALEN typically used in practice contains only about 20% of the axioms of the full version; this reduces the interaction between concepts and thus makes the ontology "processable". This is, however, highly undesirable in practice, because it reduces coverage, weakens the conceptualisation of the domain and may prevent the detection of modelling errors.

Furthermore, the amount of data used with ontologies can be orders of magnitude larger than the ontology itself. For example, the annotation of patients' medical records in a single hospital can easily produce data consisting of hundreds of millions of facts, and aggregation at a national level might produce billions of facts. Existing reasoners cannot cope with such data volumes, especially not if ontologies such as
GALEN and FMA are used as schemata.

Having forewarned you about these limitations, I'd like to recommend the following video on reasoners -- free and commercial.

http://videolectures.net/iswc08_moller_itsr/

Some readers of this blog might not be familiar with terms that appear in the video, starting with ABox and TBox.



For those readers especially, the following links for accessing the Protégé, Pellet and Racer sites could be used to install and examine this software (and accompaning documentation) before watching the videos.

Protégé http://protege.stanford.edu/

Pellet http://clarkparsia.com/pellet/

RacerPro http://www.racer-systems.com/

Then, as you watch the video, you could follow along using your own running code. For some, this will require more than a single session.

Recommended reading - basics of description logics:
www.inf.unibz.it/~franconi/dl/course/dlhb/dlhb-01.pdf
www.inf.unibz.it/~franconi/dl/course/dlhb/dlhb-02.pdf
http://www.cs.man.ac.uk/~horrocks/Slides/IJCAR-tutorial/Print/p1-introduction.pdf

Thursday, August 13, 2009

Semantic Web Technologies: Ontologies, Agents, Web Services


Here's a Web app developed at Stanford University some time ago. It's made up of a single ontology with entries for foods and wines, an ontology agent that returns text from this ontology and a portal that manipulates the text returned by the agent.

http://onto.stanford.edu:8080/wino/index.jsp

The ontology underlying the agent used here contains hierarchies and descriptions of food and wine categories, along with restrictions on how particular instances might be paired together.

For readers wanting an easy-to-read discussion on what exactly an agent is and how it works with ontologies, see

http://www.nature.com/nature/webmatters/agents/agents.html

The next three figures are of screen shots taken from this Web app, which doesn't always employ state-of-the-art technologies like OWL (discussed in earlier posts) under the hood; but, this app provides a simple example of the most basic building blocks that are found in many of today's Semantic Web apps (also discussed in earlier posts).



Figure I - The home page




Figure II - After clicking on the "Roast Duck" link




Figure III - After clicking on the "Web Inventory Search" link

The ontology defines the concept of a wine. According to the specification, a wine is a potable liquid produced by at least one maker of type winery, and is made from at least one type of grape (such grapes are restricted to wine grapes elsewhere in the ontology.)

The declaration additionally stipulates that a wine comes from a region that is wine-producing and, most importantly to the agent, that a wine has four properties: color, sugar, body, and flavor.

The concept of a meal course underlies pairing of a food with a wine. Each course is a consumable thing comprising at least one food and at least one drink, the latter of which is stipulated to be a wine.

When the user selects a type of course, or an individual food that gets mapped to a type of course, the agent will consult that course definition for restrictions on the constituent food or wine. All such course types map back to this concept, like objects to their superclasses in object-oriented programming.

Suppose the user has selected pasta with fra diavolo, or perhaps pasta with spicy red sauce directly. The concept of such a food is defined elsewhere in the ontology. Furthermore, such courses must be a subclass of those with specific restrictions on the properties of their wines.

One wine that matches the above restrictions is the Pauillac. This individual wine is simply defined as a Pauillac whose maker is Chateau Lafite Rothschild. Together with other statements in the ontology, this allows the reasoner (discussed in an earlier post) to deduce many additional facts: that this a Medoc wine from Bordeaux, in France, and that it is red, to name a few.

The concept of a Pauillac specifies that all such wines feature full bodies and strong flavors and are made entirely from cabernet sauvignon grapes. Further, Pauillacs are a particular subset of Medocs, distinguished by their origin in the Pauillac region. It is through this additional subclass relationship that Pauillac are defined elsewhere as red and dry.

Following the above example through the ontology reveals a straightforward logical path for pairing the Pauillac with the selected course. Because these items were specified in a standardized, machine-readable format, it is an equally straightforward task for any compliant automated reasoner.

Why use an ontology?

The functionality provided by the wine agent is not unlike that which could be provided by a simple look-up table. Indeed, food/wine pairings are traditionally published in some form of tabular chart where marks appear at the intersections of columns and rows representing compatible varieties of food and wine. The wine agent demonstrates that at least this simple task can be accomplished within semantic markup technology, but what about more complicated applications like, for example, those required by electronic health rcords (EHR)? For now, I'll postpone any discussion of EHR and stick with this food-wine pairing app.

Suppose that if not the entire web, then at least some number of cooperating parties were using semantic markup to participate in this project. Rather than the traditional approach of trying to build an enormous database of foods and wines, then, the definitions would be distributed across the participating parties. A restaurant or retailer offering an on-line menu could mark each food item with standardized machine-readable definitions. Similarly, then, a wine retailer could mark its wines according to the definitions exemplified above.

Such markings would benefit from well-known advantages of ontologies. For instance, through the subclassing, adding a new Pauillac to the inventory would not require wine.com (the source of the GUI shown in Figure III) to mark all of the wine's properties; it would just be another Pauillac as specified in the example, plus any differentiating features. But more importantly in terms of software agents, all the markings would be machine readable, and could be handled by systems from any organization.

Rather than relying on a human user to select a food or food type, the agent could crawl the web for foods marked within the wines namespace and pre-compile suitable pairings. This is where Web services (discussed in earlier posts) come in.

Footnote

The notion of agent-based computing has been adopted enthusiastically in the financial trading community, where autonomous market trading agents have been said to outperform human commodity traders by 7%.

Machines can monitor stock market movements much more quickly than humans, and if you can encode the kinds of rules that you want, then it is not unreasonable to imagine that computational traders will be able to outperform humans.

I commented on high-speed trading in my August 3 post.

Monday, August 10, 2009

SNOMED, OWL, Ontologies, Protege, etc. Hardware and Software Issues.

In my last two posts, I rather glibly talked about SNOMED, OWL, ontologies, Protege, etc. without mentioning any hardware or software issues that sometimes arise.

For most of us, these matters are best understood from our own "trial and error" experiences. Nonetheless, I've added links to a couple of informative anecdotes below: in one, the account of someone computing successfully with 8 dual CPUs and 15 gig RAM; in another, the account of someone computing unsuccessfully having far less resources.

Link 1: Modeling Massive Ontologies (SNOMED) at Kaiser

Link 2: SNOMED OWL On Protege

Footnote 1: Some large OWL files will not load into Protege on a 32-bit computer when to do so requires in excess of 4 Gigs RAM, the theoretical limit of a 32-bit system. In order to get around this limitation, a 64 bit machine is needed. Fortunately, the Linux, Windows, and Mac operating systems are available in 64-bit versions.

Footnote 2: The entire computing industry is moving from 32-bit to 64-bit technology, and it’s easy to see why. While many of today’s computers can hold far more than 4GB of physical memory, the 32-bit applications that run on them can address only 4GB of RAM at a time. 64-bit computing shatters that barrier by enabling applications to address a theoretical 16 billion gigabytes of memory, or 16 exabytes. 64-bit machines can also crunch twice the data per clock cycle, which can dramatically speed up numeric calculations and other tasks.

Friday, August 7, 2009

Ontologies, Ontology Languages, and Semantic Interoperability -- Segue to Electronic Health Records (EHR)


This post serves as a transition between my previous one on OWL and ontologies and my upcoming ones on electronic health records (EHR) - past, present and future.

OWL is the latest standard in ontology languages from the World Wide Web Consortium (W3C) - it is built on top of RDF (i.e., OWL semantically extends RDF).

These two languages are explained in

http://www.co-ode.org/resources/tutorials/intro/slides/OWLFoundationsSlides.pdf

As an example of an ontology that's central to building an interoperable EHR system, I'll cite the Systematized Nomenclature of Medicine (SNOMED) ontology, which is used in more than 50 countries around the world:



{click to enlarge}

The Systematized Nomenclature of Medicine Clinical Terms (SNOMED CT) Ontology includes a Core terminology of over 364,000 health care concepts with unique meanings and formal logic—based definitions organized into hierarchies. As of January 2005, the fully populated table with unique descriptions for each concept contained more than 984,000 descriptions. Approximately 1.45 million semantic relationships exist to enable reliability and consistency of data retrieval. SNOMED CT is available in English, Spanish and German language editions.

What is its structure?

Core content includes the concepts table, descriptions table, relationships table, history table, an ICD-9-CM mapping, and the Technical Reference Guide. And, it can map to other medical terminologies and classification systems already in use.

SNOMED is meant to be complementary to LOINC (Logical Observations Identifiers, Names, Codes), another clinical terminology important for laboratory test orders and results.

See http://www.ihtsdo.org/ for a good deal more information on SNOMED.

For advanced IT readers

The DL that SNOMED uses is much less expressive than OWL. The result is, even though you can mechanically translate SNOMED into OWL, the resulting OWL ontology will be very unlike anything an OWL author would create starting from scratch, and might also be a challenge to classify successfully under an OWL reasoner without a lot of manual editing.

Furthermore, even at that point it would also be of limited value in supporting reasoning over OWL instances, as many kinds of assertions that would be routine in an OWL ontology (like disjoints, explicit domain/range constraints, etc.) do not exist in native SNOMED and would have to be created.

One opinion holds that creating your own OWL ontology and using SNOMED as a mapping target leverages SNOMED in a more useful way for most conceivable applications.

Finally, for a good deal more on the topics covered so far, consider

Clinical Decision Support Systems
Theory and Practice
Series: Health Informatics
Berner, Eta S. (Ed.)
2nd ed., 2007
ISBN: 978-0-387-33914-6

Thursday, August 6, 2009

Semantic Interoperability -- Part III Ontologies -- Prelude to Electronic Health Records (EHR)

This post is a continuation of the introduction to ontologies that I posted on August 4 and July 20.

Readers new to this subject might also find the 2 ½ minute video What Is Web 3.0, Anyway? worthwhile.

An ontology is an explicit specification of a conceptualization (defined earlier), that is to say, a formal representation of a knowledge domain. Usually an ontology consists of: (i) classes, which represent the concepts of the domain (for example, in an ontology about the domain of Telecommunications, as in the listing below, a possible concept could be "Phone"); (ii) properties, to establish relationships between the concepts (for example, a "Phone" concept could have as property the "Company"; (iii) instances, with concrete examples associated with every concept (for example, "Siemens" could be an instance of the "Company” concept); and (iv) axioms, which are restrictions applicable to certain elements of the ontology, necessary to specify completely the knowledge domain (for example, in the ontology about telecommunications, it could define a restriction to indicate that in this domain a "Phone" must have always, at least, a "Company").

Ontologies can be stored using XML-based markup languages such as OWL (Ontology Web Language), which facilitates their reuse in different semantic platforms to annotate and search resources. These languages allow us to define tags in order to represent the different ontology elements. The listing below shows an extract of a OWL file containing the Telecommunications example ontology that has been created using the Protegé tool. As you can observe, in this language, the concepts are delimited by the Class tag, the properties by the ObjectProperty tag, the instances by the tag corresponding to the associate class (in the example, the class Company has as instance "Siemens"), and the axioms with tags like Restriction or subClassOf (this one is used in the example for representing that "Cellphone" is a type of "Phone").



Content of a OWL file - a fragment of an
Ontology about Telecommunications
{click to enlarge}

Today one of the main uses of ontologies is to support the Semantic Web (aka Web 3.0), especially for annotating Web resources and facilitating the localization of these annotated resources when users formulate queries to semantic search engines. For this purpose, in the previous example of Telecommunications, an ontology has included two annotations as instances of the “Phone” and “Cellphone” classes which correspond to two documents (“Gigaset3015Classic.pdf” and “MobileC55.pdf”, respectively) located in a hypothetical Web server (“http://www.telecosiemens.com”).

The Reality

Researchers have written much about the potential benefits of using ontologies, and most of us regard them as central building blocks of the Semantic Web and other semantic systems. Unfortunately, the number and quality of actual, “non-toy” ontologies available on the Web today is remarkably low. This implies that the Semantic Web community has yet to build practically useful ontologies for a lot of relevant domains in order to make the Semantic Web a reality.

In striking contrast to the data within a stand-alone document, publications have yet to benefit from the opportunities offered by cyber infrastructure. While the means of distributing publications has vastly improved, publishers have done little else to capitalize on the electronic medium. In particular, semantic information describing the content of these publications is generally sorely lacking, as is the integration of this information with data in public repositories.

The Reasoner

One of the key features of ontologies is that they can be processed by a reasoner. One of the main services offered by a reasoner is to test whether or not one class is a subclass of another class. By performing such tests on all of the classes in an ontology it is possible for a reasoner to compute the inferred ontology class hierarchy. Another standard service that is offered by reasoners is consistency checking. Based on the description (conditions) of a class, the reasoner can check whether or not it is possible for the class to have any instances. A class is deemed to be inconsistent if it cannot possibly have any instances.

Reasoning with Protégé 4.0

Reasoning with your ontology is one of the most commonly performed activities and the ontology editor Protege 4.0 comes with 2 built-in reasoners, FaCT++ and Pellet. To classify your ontology, open the Reasoner menu and select one of the available reasoners. FaCT++ will automatically classify your ontology. Pellet requires that you select classify. Once you have done this, the class hierarchy on the Entites tab changes to show the inferred class hierarchy. Unsatisfiable classes appear in red under Nothing, and everything else appears in the hierarchy under their inferred superclasses. The asserted class hierarchy is still available, stacked under the asserted one, as shown in the next screenshot.



Screenshot of an inferred class hierarchy
{click to enlarge}

Instructions for getting started with the OWL editor in Protege 4:
http://protegewiki.stanford.edu/index.php/Protege4GettingStarted

A Practical Guide To Building OWL Ontologies:
http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial-p4.0.pdf

The Microsoft Word Add-in For Ontology Recognition – An Introduction

There are other tools (e.g., The Microsoft Word Add-in For Ontology Recognition to name one) that might be suitable for your needs. It’s a MS Word 2007 add-in that enables the annotation of Word documents based on terms that appear in ontologies.

This Word Add-in For Ontology Recognition is a free Microsoft download. With it, as shown in the figures below, you select and then download one or more ontologies which are thereafter available automatically from within your Word document.

The Microsoft Word Add-in For Ontology Recognition – An Overview

This add-in enables authors who use Microsoft Word for content creation to incorporate semantic knowledge into the content. This add-in should simplify the development and validation of ontologies, by making ontologies more accessible to a wide audience of authors and by enabling semantic content to be integrated in the authoring experience, capturing the author’s intent and knowledge at the source, and facilitating downstream discoverability.

The goal of the add-in is to assist authors in writing a manuscript that is easily integrated with existing and pending electronic resources. The major aims of this project are to add semantic information as XML mark-up to the manuscript using ontologies and controlled vocabularies (from the National Center for Biomedical Ontology) and identifiers from major biological databases, and to integrate manuscript content with existing public data repositories.

As part of the publishing workflow and archiving process, the terms added by the add-in, providing the semantic information, can be extracted from Word files, as they are stored as custom XML tags as part of the content. The semantic knowledge can then be preserved as the documented is converted to other formats, such as HTML or the XML format from the National Library of Medicine, which is commonly used for archiving.

The full benefit of semantic-rich content will result from an end-to-end approach to the preservation of semantics and metadata through the publishing pipeline, starting with capturing knowledge from the subject experts, the authors, and enabling this knowledge to be preserved when published, as well as made available to search engines and presented to people consuming the content.

The Microsoft Word Add-in For Ontology Recognition – Screen Shots

{click to enlarge}

The Word Add-in For Ontology Recognition User’s Guide for the Semantic Mark-up and XML Formatting of Scholarly Articles is a good place to start for further information on this tool.

Semantic Tagging

When a word or set of words is tagged by the add-in, the word is wrapped with some tags that associate it with the ontology term. The example below shows the word "disease" being tagged with Human Disease ontology.

{click to enlarge}

If the Word file (docx) is to be transformed to other formats, this set of tags would need to be processed using xslt or other technologies. Note that there are other CodePlex projects available which implement transformations of docx files to other formats, which one can start from.

Ontology Add-in for Microsoft Office Word 2007 Video

Tuesday, August 4, 2009

Electronic Health Records (EHR) – Semantic Interoperability – Part 2


Before discussing the connection(s) between electronic health records (EHR) and semantic interoperability directly, I’d like to spend a little time talking about Semantic Web interoperability (not necessarily the same thing as the interoperability of present and future EHS systems).

In general, semantics is the study of meaning. Semantic Web (also called Web 3.0) technologies help separate meanings from data, document content, or application code, using technologies based on open standards. If a computer understands the semantics of a document, it doesn't just interpret the series of characters that make up that document: it understands the document's meaning. See my July 20 post for a brief introduction to this material.



Benefits of the Semantic Web to the World Wide Web

The World Wide Web is the biggest repository of information ever created, with growing contents in various languages and fields of knowledge. Search engines might help you find content containing specific words, but that content might not be exactly what you want. What is lacking? The search is based on the contents of pages and not the semantic meaning of the page's contents or information about the page.

Once the Semantic Web exists, it can provide the ability to tag all content on the Web, describe what each piece of information is about and give semantic meaning to the content item. Thus, search engines become more effective than they are now, and users can find the precise information they are hunting. Organizations that provide various services can tag those services with meaning (service-oriented architectures -- SOA -- are discussed in my June 20 post and mentioned again below, this time in the context of semantics); using Web-based software agents, you can dynamically find these services on the fly and use them to your benefit or in collaboration with other services (See
http://www.oracle.com/technology/pub/articles/matjaz_bpel1.html for a discussion of the orchestration and choreography of Web services).

Ontologies

The use of words to refer to concepts (the meanings of the words used) is very sensitive to the context and the purpose of these words.

An ontology is a formal representation of a set of concepts within a domain and the relationships between those concepts. It may be used to reason about the properties of that domain, and may be used to define the domain. The word “reason” is an important part of this story and will come up again in a later post, when I talk about Protégé, a free, open source ontology editor and knowledge-base framework.

A domain ontology (or domain-specific ontology) models a specific domain, or part of the world (e.g., healthcare, banking or politics). It represents the particular meanings of terms as they apply to that domain. For example the word card has many different meanings. An ontology about the domain of poker would model the "playing card" meaning of the word, while an ontology about the domain of computer hardware would model the "video card" meaning.

For each domain of human knowledge, an ontology must be constructed, partly by hand and partly with the aid of dialog-driven ontology construction tools (to be discussed in an upcoming post).

Ontologies are not knowledge nor are they information. They are meta-information. In other words, ontologies are information about information. In the context of the Semantic Web, they encode, using an ontology language (to be discussed in an upcoming post), the relationships between the various terms within the information. Those relationships, which may be thought of as the axioms (basic assumptions), together with the rules governing the inference process, both enable as well as constrain the interpretation (and well-formed use) of those terms by the Info Agents (to be discussed in an upcoming post) to reason new conclusions based on existing information, i.e. to think. In other words, theorems (formal deductive propositions that are provable based on the axioms and the rules of inference) may be generated by the software, thus allowing formal deductive reasoning at the machine level. And given that an ontology, as described here, is a statement of Logic Theory, two or more independent Info Agents processing the same domain-specific ontology will be able to collaborate and deduce an answer to a query, without being driven by the same software.

When an organization adapts an ontology-driven approach, it can capture and represent its total knowledge in a language-neutral form and deploy the knowledge in a central repository that provides the same semantic meaning across applications.

Semantics are the future of service-oriented integration

To properly model and manage a service-oriented architecture (SOA), enterprise architects must maintain active representations of the services available to the enterprise. Specifically, to discover and organize their services, the architects must use best practices that model and assemble services using metadata, encapsulate business logic in metadata for dynamic binding, and manage with metadata. Ontologies provide a very powerful and flexible way to aggregate, visualize, and normalize this service metadata layer.

Note: When delivering services as part of a service inventory, there is a constant risk that services will be created with overlapping functional boundaries, making it difficult to enable wide-spread reuse. Normalization addresses this problem.
When services are delivered with complementary and well-aligned boundaries, normalization across the inventory is attained. Note also how the quantity of required services is reduced.

Semantic technologies provide an abstraction layer above existing IT technologies, one that enables the bridging and interconnection of data, content, and processes across business and IT silos.

For advanced IT readers

For a rather technical discussions of this topic, see the video Artificial Neural Network based Techniques for Semantic Data Interoperability below and parts of my article Using Neural Networks and OLAP Tools to Make Business Decisions to which there is a link in the bibliography at the very bottom of this blog.





To be continued …



Monday, August 3, 2009

The game is sometimes rigged in favor of the house

High-speed trading: some institutions, including Goldman Sachs, have been using superfast computers to get the jump on other investors, buying or selling stocks a tiny fraction of a second before anyone else can react. Profits from high-frequency trading are one reason Goldman is earning record profits and likely to pay record bonuses.

And there’s a good case that such activities are actually harmful. For example, high-frequency trading probably degrades the stock market’s function, because it’s a kind of tax on investors who lack access to those superfast computers — which means that the money Goldman spends on those computers has a negative effect on national wealth.

So, what's this got to do with information technology in healthcare? Possible, nothing. Remember, however, that one of the stated goals of EHR is to deliver better healthcare at lower cost.


I believe that we should keep in mind that technology - not high-speed computers per se - doesn't always benefit society. As I mention - without much elaboration - in my July 22 post, "EHR / EMR has the potential to facilitate the execution of today's healthcare scams. So, for the time being, we might well have a reason to temper our enthusiasm for the inevitable computerization of our still-largely-paper-bound healthcare records systems."

Saturday, August 1, 2009

Metcalfe's law vis-à-vis the value of semantic interoperability

A new economic model

Metcalfe's law states that the value of a network is proportional to the square of the number of connected users of the system (n**2).

Metcalfe's law characterizes many of the network effects of communication technologies and networks such as the Internet, social networking, and the World Wide Web. It is related to the fact that the number of unique connections in a network of a number of nodes (n) can be expressed mathematically as the number n(n − 1)/2, which is proportional to n**2 asymptotically.



The law has often been illustrated using the example of fax machines: a single fax machine is useless, but the value of every fax machine increases with the total number of fax machines in the network, because the total number of people with whom each user may send and receive documents increases.

Metcalfe's law is more of a heuristic or metaphor than an iron-clad empirical rule. In addition to the difficulty of quantifying the "value" of a network, the mathematical justification measures only the potential number of contacts, i.e., the technological side of a network. However the social utility of a network depends upon the number of nodes in contact. For instance, if Chinese and non-Chinese users don't understand each other, the utility of a network of users that speak the other language is near zero, and the law has to be calculated for the two sub-networks separately.

When considering electronic health record (EHR) interoperability, two nodes are in contact in a meaningful way if the nodes themselves, not just human beings sitting at those nodes, can understand the content of a message from the other node in an unambiguous way. In other words, semantic interoperability is what counts.

Apropos of EHR, Rod Beckstrom, the recently appointed president of the Internet Corporation for Assigned Names and Numbers (Icann), has used his address to the Black Hat USA 2009 conference to propose a new economic model for valuing computer networks and the internet.

"Who cares how many nodes there are?" Beckstrom said. "If you look at a value of the network, focus on the transactions. The value of the network equals the net value added to each user's transactions, summed for all users."

For example, some networks grow the number of users but become less valuable since the value of their transactions is so small.

Microsoft chairman Bill Gates dropping his Facebook account in July was a case in point, Beckstrom said. The number of 'friends' became so great that the network lost its value.

Wednesday, July 22, 2009

Electonic Health Records / Electronic Medical Records - Scams


Dr. David Scheiner, an internist based in the Chicago neighborhood of Hyde Park, was President Obama’s doctor for twenty-two years, from 1987 until he entered the White House but has publicly opposed Obama’s health plan, calling for a single payer system (see the text and video in my May 13, 2009 post for an introduction to the current debate over single payer).

In a recent interview, Dr. Scheiner said, "President Obama believes that when we have electronic records, somehow night will change into day. That won’t happen. First of all, it’s extremely costly. It will become even easier to scam the health insurance companies and Medicare when you have a cursor that can go over all the things that you perhaps didn’t do, but look good on paper, and you can code much higher."

I post this quote simply to remind us all that while electronic health records / electronic medical records will automate and, in all likelihood, improve many aspects of the delivery of healthcare, at the same time EHR / EMR has the potential to facilitate the execution of today's healthcare scams. So, for the time being, we might well have a reason to temper our enthusiasm for the inevitable computerization of our still-largely-paper-bound healthcare records systems.

Monday, July 20, 2009

Electronic Health Records (EHR) - Semantic Interoperability - Part 1


To press a suit means one thing to a tailor and another thing to a lawyer.

A free radical means one thing to a chemist but meant another thing to members of the House Un-American Activities Committee (HUAC) during the 1950’s.

And, medication for pain and pain medication don’t always mean the same thing. The controversy surrounding the recent death of Michael Jackson illustrates this last point.

In the examples above, as in clinical terminology, words can take on different meanings depending on factors like time or place (i.e., context).

Furthermore, clinicians and organizations use different clinical terms that mean the same thing. For example, the terms heart attack, myocardial infarction, and MI may mean the same thing to a cardiologist, but, to a computer, they are all different. There is a need to exchange clinical information consistently between different health care providers, care settings, researchers and others (semantic interoperability), and because medical information is recorded differently from place to place (on paper or electronically), a comprehensive, unified medical terminology system is needed as part of the information infrastructure.

Interoperability

Interoperability is the ability of two parties, either human or machine, to exchange data or information.

First, syntactic interoperability guarantees the exchange of the structure of the data, but carries no assurance that the meaning will be interpreted identically by all parties. Web pages built with HTML or XML are good examples of machine-to-machine syntactic interoperability because a properly structured page can be read by any machine with a Web browser. The meaning of the page to a particular machine may vary substantially; however, this is not usually considered a problem because the semantics of a page are meant to be interpreted by human viewers.

Next, human or semantic interoperability guarantees that the meaning of a structure is unambiguously exchanged between humans. Documents such as progress notes, referrals, consults, and others achieve semantic interoperability at a clinician-to-clinician level by relying on common medical vocabularies.

Finally, computable semantic interoperability requires that the meaning of data be unambiguously exchanged from machine to machine (as shown in the figure below). This does not necessarily mean that all machines need to process the received data the same way, but rather that each machine will make its processing decisions based on the same meaning.



Words and Meanings

The meanings of words change, sometimes rapidly. But a formal language such as used in an ontology -- a rigorous and exhaustive organization of some knowledge domain that is usually hierarchical and contains all the relevant entities and their relations -- can encode the meanings (semantics) of concepts in a form that does not change. In order to determine what is the meaning of a particular word (or term in a database, for example), it is necessary to label each fixed concept representation in an ontology with the word(s) or term(s) that may refer to that concept.

When multiple words refer to the same (fixed) concept, in language this is called synonymy; when one word is used to refer to more than one concept, that is called ambiguity. Ambiguity and synonymy are among the factors that make computer understanding of language very difficult. The use of words to refer to concepts (the meanings of the words used) is very sensitive to the context and the purpose of any use for many human-readable terms.

The use of ontologies in supporting semantic interoperability is to provide a fixed set of concepts whose meanings and relations are stable and can be agreed to by users. When a word used in some interoperability context changes its meaning, then to preserve interoperability it is necessary to change the pointer to the ontology element(s) that specifies the meaning of that word.

There are a number of tools for the programmatic handling (i.e., creating, querying, etc.) of ontologies. The visual representation of ontologies is an important contribution of these tools.



IBM Integrated ontology Development Toolkit (formerly named IBM Semantics Toolkit) is one of many toolkits designed for storage, manipulation, query, and inference of ontologies and corresponding instances.

An upcoming post will discuss the role and value of semantic technology in service-oriented architectures (SOA).

Friday, July 17, 2009

Electronic Health Record Interoperability: Specifications, Standards, and Working Groups

{Prelude to upcoming post - semantic interoperability}

The American Recovery and Reinvestment Act of 2009 (ARRA) states that the
HIT Policy Committee shall make recommendations on standards and implementation specifications, among other tasks.

The
Healthcare Information Technology Standards Panel (HITSP) EHR-Centric Interoperability Specification consolidates all information exchanges that involve an Electronic Health Record (EHR) System within any of the thirteen HITSP Interoperability Specifications existing as of February 13, 2009, the enactment date of the American Recovery and Reinvestment Act (ARRA).

Reading these two statements and others like them requires an understanding of terms such as

*
recommendation
* specification
*
standard, and
*
working group

Each of these bullets is linked to its Wikipedia entry.



Given that many of the readers of this blog (from 42 countries so far) are interested in the information technology aspects of The American Recovery and Reinvestment Act , electronic health record interoperability and the like, it may be easier for them if I elaborate on the four terms listed above by using the example of cascading style sheets (CSS), a simple language that allows you to declare how documents are displayed by Web browsers. By so doing, I’ll be introducing additional expressions with which these members of the IT community are already familiar.

The Cascading Style Sheets language was created through a collaborative effort between Web developers and browser programmers under the auspices of the
World Wide Web Consortium (W3C for short).

The W3C is an international industry group that comprises over 500 companies, research institutions, and Web development organizations that issues technical specifications for Web languages and protocols.

W3C specifications are called "recommendations" because the W3C is technically not a standards-issuing organization, but in practice this is usually an issue of semantics.

Recommendations are taken as defining a standard form of a Web language, and they are used by Web developers, software tools creators, browser programmers, and others as a blueprint for computer communication over the Web. Examples of W3C Recommendations include Hypertext Markup Language (HTML) and Extensible Markup Language (XML).

The CSS Specifications

The W3C Recommendations issued by the Cascading Style Sheet working group compose the official specification for the CSS language. The CSS working group consists of a number of experts in Web development, graphic design, and software programming, representing a number of companies, who all work together to establish a common styling language for the Web.

CSS Level 1

The Cascading Style Sheets Level 1 (sometimes called CSS1 for short) was officially issued as a W3C Recommendation in December 1996. The URL for this specification is
http://www.w3.org/TR/REC-CSS1.

If you try to read the W3C Recommendation for CSS1, you may end up confused. That's because W3C documents aren't written as a general introduction to a subject but rather as precise language definitions for software developers. Most W3C Recommendations are quite opaque to most normal people, although the CSS1 specification isn't too bad compared with some. Being able to refer to the official specification is quite useful, though.

Optional note for programmers - Classes and IDs

In addition to setting styles based on HTML elements, CSS allows for rules based on two optional attributes in HTML: class and id. Each of these can serve as the selector part of a CSS rule and can be set on any visible HTML tag.

The div and span elements really come into their own with class and id selectors. Through the use of class and id attributes, div or span tags can be made to have nearly any effect and presentation, which is often good but sometimes bad. Care must be taken to avoid using class or id selectors that you're not ignoring more appropriate markup, which has understood semantics. In other words, a div with a class of bldtxt has no specific meaning in the context of HTML, but a strong tag definitely does. Before using div or span, consider if another tag would make more sense.

The mention above of the word "semantics" is meant to be a segue to the subject of a later post, semantic interoperability.



Thursday, July 16, 2009

Customer self-service and social Web communities like Twitter and Facebook vs. spammers, scammers and hackers


Organizations from large corporations to small medical centers are bridging the gap between their cloud-computing customer service and support contact centers and social Web communities like Twitter and Facebook.

See, for example, https://www.salesforce.com/form/demo/csm_reg.jsp?d=70130000000EoNf

This means that there are new targets for spammers, scammers and hackers.

Redux

At the bottom of my May 30, 2009 post I added the following note on full-URL links vs. compressed links:

I've been asked why I didn't use link-shrinkers in earlier posts. Here's why:

First, I should say that there are some things I like about link compression: Some link-shrinkers let you personalize the new address with a unique phrase such as your name, or show you how many people click the link after you've posted it. Furthermore, link compression is just the beginning. More and more of these outfits allow users to see all sorts of details like where a link is showing up around the Web and where the people clicking on it are located.

However, this convenience may come at a cost. The tools add another layer to the process of navigating the Web, potentially leaving a trail of broken links if a service suddenly closes shop. They can also make it harder to tell what you're really clicking on, which may make these Lilliputian links attractive to spammers and scammers.

But popularity and convenience don't eliminate the potential risks of these link loppers. If so many services are springing up, chances are some will just as quickly disappear. And if a URL shortening service goes down, the links created with it could lead nowhere.

Another worry is that you're not likely to know exactly where a truncated link will take you. So you could be directed to unsavory or illegal content or something malicious like a computer worm. This means URL shortening services need to keep an eye on the kinds of sites their users are linking to.

Some problems

Purveyors of spam and malicious software are taking full advantage of URL-shortening services like bit.ly and TinyURL in a bid to trick unwary users into clicking on links to dodgy and dangerous Web sites. Fortunately, with the help of a couple of tools and some common sense, most Internet users can avoid these scams altogether.

According to alerts from anti-virus vendors McAfee, Symantec and Trend Micro, the latest to abuse these services is the Koobface worm, which targets users of social networking sites like Facebook (Koobface is an anagram of Facebook) and Myspace. It's now also spreading via microblogging service Twitter. Koobface arrives as a message that urges users to click on a link to a video, which invariably leads to a site that prompts the visitor to install a missing video plug-in. The fake plug-in turns the user's system into a bot that can be used for a variety of criminal purposes, from spamming to attacking other computers and spreading the worm.

Some solutions


TinyURL, which is among the longest-running URL shortening services, lets you automatically enable the preview of all shortened URLs. Just visit this page and click the "Enable Previews" link, and from then on TinyURLs will be converted into their longer form when you visit a Web page that features them. You must have cookies enabled in your browser for this setting to take, and you will need to set the cookie for each browser you use.

If you browse the Web with Firefox, there is an add-on called Long URL Please, which currently converts URLs shortened by 72 different services, including bit.ly, cli.gs, digg.com, is.gd, kl.am, ow.ly, tr.im, and tinyurl.com. Long_URL_Please also works in Internet Explorer and other browsers: Simply add their bookmark to your bookmarks, and then click on it when you're at a page that includes shortened URLs to display the long URL.

Firefox users who are familiar with the Greasemonkey add-on may prefer the Tiny URL Decoder script , which also works with a long list of URL shortening services.

Expandmyurl.com is another bookmarklet approach that works across browsers.

Wednesday, July 8, 2009

Cyberattacks Can Harm And Website Monitoring Can Benefit Electronic Health Records (EHR)

Cyberattacks have crippled the Web sites of several major American and South Korean government agencies since the July 4th holiday (U.S.) weekend.

The Washington Post , which also came under attack, reported on its Web site today that a total of 26 Web sites were targeted. In addition to sites run by government agencies, several commercial Web sites were also attacked, including those operated by Nasdaq, it reported, citing researchers involved in the investigation.

Authorities suspected that the hackers used a new variant of the denial-of-service (DoS) program to attack the Web sites. A denial-of-service attack is one in which an attack, sometimes from a single source, overwhelms a target computer with messages, denying access to legitimate users without actually having to compromise the targeted computer. Although frequently intentional, a DoS can also occur unintentionally through a misconfigured system.

In several of my prior posts, I discussed the [national and international] push toward a system of interconnected Electronic Health Records (EHR) networks. This system, like those cited in today's media reports, depends on the availability of well performing Web sites.

An Associated Press article in today's newspapers refers to Keynote Systems, a company that monitors such events, so I decided to look into their services. I had written on other aspects of this subject in the article Capacity and Disaster Recovery Planning for an Internet Connection to which I link in my bibliography at the very bottom of this blog.

Keynote Systems is a mobile and Web site monitoring company based in San Mateo, Calif. The company publishes data detailing outages on Web sites, including 40 government sites it watches.

Managing a single Web application with thousands of users typically requires a system administrator and a few support personnel, at a cost of up to $30,000 per month. About 20% of this cost, or about $6,000 per month or $72,000 per year, is spent on monitoring the reliability and availability of these services. Keynote Systems’ services to monitor URLs start at $100 per month or $1,200 per year -- the cost savings to an operations team can be significant.

Keynote Systems’ test and measurement products and services are driven by a global network of more than 2,600 measurement computers and mobile devices in more than 240 locations in 160 metropolitan areas around the world -- the largest on-demand test and measurement network in the world. Users know precisely how Web sites, content, applications, and services will perform on mobile networks and devices -- all with hard metrics that test precise behavior patterns and more accurately predict performance problems.

Test and measurement products and services deliver in-depth, relevant KPIs (a subject which I discuss in my article cited above) that are easily understood and accurately represent what happens in the real world -- using real browsers and real devices. The economic gains provided by using Keynote Systems’ network are upfront -- using Keynote Systems does not require an increase in capital expenses.

Their Web site offers a free evaluation of their software-as-a-service (SaaS) and downloadable software products. While I don't recommend that you immediately send them or any other like organization a check, I do think you should know about what they have to offer.

Monday, July 6, 2009

Computer Hardware and CO2 Emissions


With every upload, download, email, tweet and post (including this one) there comes an energy cost.

In the last couple of years the rise in popularity of online video content and video services has led to prophesies of doom about how the increases in traffic it entails will lead to exafloods of data that ultimately bring the net to its knees. But such fears have proved ungrounded. In fact already exabytes of data regularly course their way through the veins of the internet and in the past two years the growth of traffic has actually dropped from a steady 100% each year-on-year to around 60%, probably thanks to better compression software.

But that's no reason to celebrate. The fact is traffic is still growing. And so too does the amount of hardware infrastructure required to accommodate it. At conservative estimates computer hardware is already on par with aviation in terms of the global CO2 emissions they produce, roughly 2%.

And it's not just the likes of YouTube pushing up the traffic. Facebook, for example, has more than 200 million account holders, of which 15 million update their status at least once a day, uploading nearly a billion photos each month. When you consider that some people, like the US stand-up comic Steve Hofstetter, claim to have as many as half a million friends on Facebook, it's worth remembering that many of these will receive emails every time he posts a gag on Facebook. More pointless traffic.

Generally the traffic generated by these exchanges is minimal compared to video transfer, as indeed is the case for Tweets and even AudioBoos. But the point is that while many people wrestle with their conscience about whether to fly we think nothing of sending emails, messaging, Tweeting or updating our Facebook status. A Google search may only produce 0.2 grams of CO2, but these e-missions quickly add up.

Tuesday, June 30, 2009

Electronic Health Records (EHR) & the Need for Cross-Browser Compatibility

Cross-Browser Problems/Solutions

Back when I did software development work (secure, data-intensive, interactive Web applications -- .NET and J2EE), I would finish debugging a project on my PC and then deploy the app to a test server from which it would be downloaded by every manner of user. Most of them were running Internet Explorer, some Firefox or Safari, and a few were running some other browser. The problem was that some of these users, users not using the same browser as me, discovered that the app didn't render as expected.

Today, unfortunately, writing dynamic web applications is still a tedious and error-prone process; some developers spend up to 75% of their time working around subtle incompatibilities between web browsers and platforms.

With the widespread adoption of Electronic Health Records (EHR) imminent, the likelihood that a given Web app will be downloaded by someone using a browser other than the one(s) used to develop and test the app will only increase.

But help may be on the way: cross browser Web development may be getting easier and more efficient with the upcoming version of Google Web Toolkit (GWT) version 2. Google claims that GWT applications will automatically support Internet Explorer, Firefox, Mozilla, Safari, and Opera with no browser detection or special-casing within your code in most cases.

Shown in the figure below is the GWT implementation of an app that would not be expected to render exactly the same in Internet Explorer and Firefox.

Note: A few examples of cross-browser incompatibility appear in the figures of my 2005 article ASP.NET & Multiplatform Environments (a link to it is provided in the bibliography at the bottom of this blog).



GWT is an interesting platform that allows you to write Java code that automatically gets converted into JavaScript by the GWT compiler. This allows for a simple way to create AJAX apps, using Java. Google also created a plug-in for Eclipse to make debugging and deploying very easy.

With Ajax, Web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. The use of Ajax has led to better quality of Web services [see my June 28 post] due to the asynchronous mode.

The core language of the World Wide Web


Until recently, most simple browser applications were created in HTML 4.1, which could be enhanced with JavaScript and CSS. For Web applications that were as rich as desktop applications, developers had to embed Adobe Flash or, more recently, Microsoft Silverlight apps in their HTML code. But, a new version of HTML, HTML 5, which is the fifth major revision of the core language of the World Wide Web, is bringing this same rich functionality to the browser without the need for Flash or Silverlight.

A good summary of the major features of HTML 5 is in Tim O'Reilly's blog post about it.

http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html

However, there is still a problem. Currently HTML 5 compliant browsers are only 60% of the market. Quite a few enterprises are still on Internet Explorer 6. So, Flash, which has the distinct advantage of working on older browsers and has about a 95% market penetration, is still very popular. However, some expect that HTML 5 will be as popular as Flash by 2011.

Even though HTML 5 is not yet a finished standard, most of it is already supported in major browsers: Firefox 3, Internet Explorer 8, and Safari 4. This means that you can create a HTML 5 application right now!

Note: Flex, like ActiveX, Silverlight, and Java Applets before them are, in a sense, replacements for the browser. But, each replaces the web browser in a proprietary way.

HTML 5 is right around the corner

While the entire HTML 5 standard is years or more from adoption, there are many of its powerful features available in browsers today. In fact, five key next-generation features are already available in the latest (sometimes experimental) browser builds from Firefox, Opera, Safari, and Google Chrome. Microsoft has announced that it will support HTML 5, but as Vic Gundotra, VP of Engineering at Google has noted, "We eagerly await evidence of that."

GWT meets HTML 5

Google Web Toolkit is a really good way to "easily" design a flashy HTML/CSS/JavaScript application that works as expected across different browsers and operating systems.


{click for larger view}

Sunday, June 28, 2009

Technical Interoperability of Disparate Systems - An Electronic Health Record (EHR)-Centric System Implemented with a Service-Oriented Architecture


The independent organizations (a.k.a. silos) shown in Figure 1 typically implement their business processes on different computer systems (Unix, Windows, mainframes), on different platforms (J2EE, .NET) and with different vocabularies. Yet, they all need to communicate in a way that serves, in this case, a trauma victim at the time of his or her emergency, researchers who will later study cohorts of this trauma victim, and sundry others (most of whom are not shown in the simplified model).

This post will discuss an Electronic Health Record (EHR)-centric system implemented with a Service-Oriented Architecture (SOA) -- the business industry’s de facto standard for interoperability. The functions of this system are data collection, management and distribution for both the immediate situation and long term health care experiences.

I’ll address some of the challenges (and opportunities) of technical interoperability, holding off ‘til later posts any discussion of semantic interoperability.

Note: This rather lengthy post is not and is not meant to be a palimpsest on SOA. But, I have included a number of references (links to references) for anyone looking for a more detailed account of this topic.

Figure 1

Figure 2 shows a traditional implementation of the system shown in the use case drawn in Figure 1. When a change -- virtually any change -- is made in one part of this interconnected system, the overall system usually stops working, until system-wide adjustments are made. In short, the figure below shows a system that’s “hard wired.”

Note: For simplicity, these figures and this discussion omit a number of real-world details: for example, the voice communication often employed by police and EMS teams.


Figure 2

To remedy this problem, a new architecture, that of Service-Oriented Architecture (SOA), was devised. An SOA implementation of the system shown in the use case is outlined in Figure 3. At first glance, the SOA-based system might seem more complicated than the system shown in Figure 2. But, as the following discussion will attempt to show, it isn’t.



Figure 3

Note: The major part of this post will be based on a Web services implementation of SOA. However, before concluding this post, I’ll address the oft-heard view that SOA is now “dead.” SOA is indeed alive and kicking in many organizations.

The system in Figure 2, if fleshed out, would move toward becoming the fully connected system shown below (in practice, very few systems are fully connected). In such a system of computer applications, when one node is changed, all other nodes that connect to it would need a new interface to the changed node.



As shown, in a fully connected network with n nodes, there are n x (n-1) / 2 direct paths. That means 15 connections for 6 nodes, 45 connections for 10 nodes, etc.

In contrast, each node in the system in Figure 3 has only one connection – that to a bus, as represented in the figure below.



Service-Oriented Architecture

SOA relies on services exposing their functionality via interfaces that other applications and services can read to understand how to utilize those services.

This style of architecture promotes reuse at the macro (service) level rather than micro (classes) level. It can also simplify interconnection to – and usage of – existing IT (legacy) assets.

Designers can implement SOA using a wide range of technologies, including SOAP, REST, DCOM, CORBA, or Web Services. (I gave a brief overview of DCOM, CORBA and Web Services in my June 16 post and will discuss REST below.) The key is independent services with defined interfaces that can be called to perform their tasks in a standard way, without a service having foreknowledge of the calling application, and without the application having or needing knowledge of how the service actually performs its tasks.


Albeit in the distant past, I’ve used the Oracle SOA Suite to federate a unified system out of the disparate systems shown in the figures.


This suite, which includes JDeveloper, a robust Java IDE, is by no means the only solution; there are others, both proprietary and open source! For example,

Proprietary:
http://i.zdnet.com/whitepapers/cape_clear_Principles_of_BPEL.pdf

Open source:
http://orchestra.ow2.org/xwiki/bin/view/Main/

However, the Oracle SOA Suite is a complete set of service infrastructure components for creating, deploying, and managing services. It enables services to be created, managed, and orchestrated into composite applications and business processes. Additionally, you can adopt it incrementally on a project by project basis and still benefit from the common security, management, deployment architecture, and development tools that you get out of the box.

This Suite is a standards-based technology suite that consists of the following:

* Oracle BPEL Process Manager to orchestrate services into business processes
* ESB to connect existing IT systems and business partners as a set of services
* Oracle Business Rules for dynamic decisions at run time that can be managed by business users or business analysts
* Oracle Application Server Integration Business Activity Monitoring to monitor services and disparate events and provide real-time visibility into the state of the enterprise, business processes, people, and systems.
* Oracle Web Services Manager to secure and manage authentication, authorization, and encryption policies on services that is separate from your service logic
* UDDI registry to discover and manage the life cycle of Web services.
* Oracle Application Server that provides a complete Java 2, Enterprise Edition (J2EE) environment for your J2EE applications.

For an overview of the soon-to-be-released Version 11, see

http://www.oracle.com/technology/products/ias/bpel/techpreview/2008-05-01-whats-new-in-oracle-soa-suite-tp4.pdf

Business Process Execution Language (BPEL)

One of the key standards accelerating the adoption of SOA is Business Process Execution Language (BPEL) for Web Services. BPEL enables organizations to automate their business processes by orchestrating services (thus enabling developers to build end-to-end business processes spanning applications, systems, and people in a standard way). Existing functionality is exposed as services. New applications are composed using services. Services are reused across different applications. Services everywhere! For an account of Orchestration versus Choreography, see
http://www.oracle.com/technology/pub/articles/matjaz_bpel1.html

BPEL has emerged as the standard for process orchestration enabling you to build end-to-end business processes spanning applications, systems, and people in a standard way.

In the next figure, I show two pallets of drag-and-drop components available in version 10.3 of the SOA Suite for the development of a BPEL process. Version 11 will be availability shortly.


Introduction to the JDeveloper BPEL Designer

http://download-west.oracle.com/docs/cd/B31017_01/core.1013/b28938/design.htm#CHDIJCGH

Enterprise Service Bus

An Enterprise Service Bus (ESB) is an architectural pattern, not a software product. Different software products can form an ESB. In some cases, companies use multiple products in different areas, leveraging specific functionality to meet their unique requirements. These different products can be federated together as the realization of the ESB pattern.




In the next figure, I show two pallets of drag-and-drop components available in version 10.3 of the SOA Suite for the development of an ESB. As I mentioned earlier, Version 11 will be availability shortly.




Introduction to the JDeveloper ESB Designer

http://download-west.oracle.com/docs/cd/B31017_01/core.1013/b28938/design.htm#CHDIBCCC

Figure 3 introduced Business Activity Monitoring (BAM) and Business Rules to the architecture

Business Activity Monitoring – BAM satisfies a growing need to enable health care executives, and more specifically operations managers, to improve their decision-making processes by first getting a real time view of the business events occurring in their enterprise, and second using the derived intelligence to analyze and improve the efficiency of their business processes.

Understanding Business Activity Monitoring in Oracle SOA Suite
http://www.packtpub.com/article/business-activity-monitoring-in-oracle-soa-suite

Business Rules – Business Rules is one of the newer technologies (typically run from an application server) and is designed to make applications more agile. A business analyst can change business policies expressed as rules quickly and safely with little or no assistance from a programmer

Using Business Rules to Define Decision Points in Oracle SOA Suite

Part 1.
http://www.packtpub.com/article/business-rules-define-decision-points-oracle-soa-suite-part1

Part 2.
http://www.packtpub.com/article/business-rules-define-decision-points-oracle-soa-suite-part2

For detailed coverage of the Oracle Service Bus, BPEL Process Manager, Web Service Manager, Rules, Human Workflow, and Business Activity Monitoring. See

Oracle SOA Suite Developer's Guide
http://www.packtpub.com/developers-guide-for-oracle-soa-suite-10gr3/book

and

Getting Started With Oracle SOA Suite 11g R1 – A Hands-On Tutorial
http://www.packtpub.com/getting-started-with-oracle-soa-suite-11g-r1/book

When designing an SOA solution, it's not always clear whether you should use a Web services BPEL process or an ESB mediation flow (or both).

http://www.ibm.com/developerworks/websphere/library/techarticles/0803_fasbinder2/0803_fasbinder2.html

Building Event-Driven Architecture with an Enterprise Service Bus

http://www.oracle.com/technology/pub/articles/jellema-esb.html

Software frameworks

You should keep in mind that interoperability issues between platforms can arise when switching from one protocol to another and one software framework to another. Some examples include SOAP, REST, the .Net Framework, Enterprise Java Beans (EJB), and Java Messaging Service (JMS).

.Net Web services running over HTTP can be called in three different ways: HTTP GET operation, HTTP POST operation, and SOAP. The GET and POST operations are useful if you need to call a Web Service quickly and no SOAP client is readily available. You can use REST to perform GET, POST, PUT, and DELETE operations over the HTTP in a Perl script. In this script, you can specify SQL queries and simple message queues.

For a discussion of SOAP/REST in the .NET (Visual Studio 2008 SP1) ecosystem, see

http://www.pluralsight.com/community/blogs/scottallen/archive/2008/08/11/visual-studio-sp1-and-the-metification-of-rest.aspx

and

http://msdn.microsoft.com/en-us/library/dd203052.aspx

Often, services within an organization’s firewall are REST-based, while 3rd party partners use a mix of SOAP and HTTPS protocols to access their public services. By using REST for internal services, organizations are avoiding some of the overhead that the WS-* standards introduce.

If the SOAP client is available, here's how to make a simple choice between REST and SOAP. If the application is resource-based, choose REST. If the application is activity-based, opt for SOAP. Under REST, a client might request that several operations be performed on a series of resources over the HTTP. For SOAP-based requests, only one invoke operation is needed for each activity-oriented service that a client might request be performed.

REST requests do not depend on WSDL as SOAP requests do. Yet, REST and SOAP can co-exist as requests from a composite Web service application to an external Web service.

When to use REST based web services?

http://oracled.wordpress.com/2009/03/11/when-to-use-rest-based-web-services/




When Web services are outside the control of the organization (as in the figures at the top of this post), you need to ensure that they can interoperate externally with one another with respect to shared semantics and contractual obligations. Semantic misunderstandings and contractual loopholes contribute to interoperability problems between external enterprise Web services. Future posts will focus on these aspects of interoperability.

For presentations that includes the pros and cons of different protocols (SOAP and HTTP) and software frameworks (.NET and J2EE), see

http://www.esri.com/events/devsummit/pdfs/keynote_chappell.pdf

and

http://www.esri.com/events/devsummit/sessions/keynote.html

The oft-heard view that SOA is now “dead”

Once thought to be the savior of IT, SOA instead turned into a great failed experiment -- at least for many organizations. SOA was supposed to reduce costs and increase agility on a massive scale. In many situations, however, SOA has failed to deliver its promised benefits.

Yet, although SOA is understandably purported to be dead by many, the requirement for a service-oriented architecture is stronger than ever.

Adopting SOA (i.e., application re-architecture) requires disruption to the status quo. SOA is not simply a matter of deploying new technology and building service interfaces to existing applications; it requires redesign of the application portfolio. And it requires a massive shift in the way IT operates. The small select group of organizations that has seen spectacular gains from SOA did so by treating it as an agent of transformation. In each of these success stories, SOA was just one aspect of the transformation effort. And here’s the secret to success: SOA needs to be part of something bigger. If it isn’t, then you need to ask yourself why you’ve been doing it.

The latest shiny new technology will not make things better. Incremental integration projects will not lead to significantly reduced costs and increased agility. If you want spectacular gains, then you need to make a spectacular commitment to change.

Note: As of 2008, increasing numbers of third-party software companies offer software services for a fee. In the future, SOA systems may consist of such third-party services combined with others created in-house.

More on this can be found in “WOA: Putting the Web Back in Web Services.”

http://blogs.gartner.com/nick_gall/2008/11/19/woa-putting-the-web-back-in-web-services/

Also, here’s a link to one of my earlier articles on SOA

“The Economic, Cultural and Governance Issues of SOA”

http://www.cioupdate.com/reports/article.php/11050_3652091_1/The-Economic-Cultural-and-Governance-Issues-of-SOA.htm

Saturday, June 20, 2009

Interoperability of Disparate Systems ...

A system that includes new and old technologies -- partially represented by the use case diagram shown below -- will be the subject of upcoming posts. Interoperability -- technical and semantic -- using open, standard protocols will be my focus.



{double click for larger view}

For anyone not familiar with use case diagrams, here's a link to an
easy-to-follow introduction to using them and another link to the Wikipedia entry for use case diagrams.

The discussion of technical interoperability will include, but not be limited to, whether to employ Web services with BPEL or ESB (or both) and business activity monitoring (BAM) tools.

The discussion of semantic interoperability will include, but not be limited to, whether to employ HL7 version 3 messages or CDA documents (or both).

Other topics such as service level agreements (SLA), key performance indicators (KPI), telemetry, and telemedicine will be included.



Friday, June 19, 2009

National Politics, The American Medical Association, Healthcare and IT Funding

In Wednesday's post, I expressed the belief that national politics could have an impact upon the architecture of the upcoming IT-based EHR system. These politics cannot be ignored, I opined, when it comes to the distribution of funds under the HITECH Act (the health IT component of the American Recovery & Reinvestment Act). This rationale is rooted in history.

Twenty years ago this week, I.F. Stone died at the age of eighty-one. He was the premier investigative reporter of the twentieth century, a self-described radical journalist.

The late ABC news anchor, Peter Jennings, paid tribute to I.F. Stone on his evening newscast the day after his death, June 18, 1989.

People may not remember that Meet the Press was originally a radio program before it became a TV program. And when Meet the Press started in the mid-’40s, I.F. Stone was one of the regular panelists on the radio program. He was also one of the regular panelists on the TV program.

He was a very well-known journalist, the sort of person you would expect to see on one of today’s Sunday chat shows.

In December 1949, on Meet the Press, the person he was interviewing was a guy called Dr. Morris Fishbein. Now, in the ’40s, Morris Fishbein was the most famous doctor in America. He was the editor of The Journal of the American Medical Association (an article from which I linked to in my May 13 post), and he was the person that the medical and pharmaceutical industries put up to oppose socialized medicine or a national health insurance. He was the person who coined the phrase “socialized medicine” as a means of discrediting national health insurance.

Fishbein had described the proposals for national health insurance as a step on the road to communism. And so, Stone said to him, “Dr. Fishbein, given that President Truman has already spoken out in favor of national health insurance, do you think that that makes him a dangerous communist or just a deluded fellow traveler?”

I.F. Stone continued by saying that the aircraft industry, at the beginning of the Second World War, was producing about 500 planes a year. And President Roosevelt said that in order to defeat Hitler, they need to produce 500 planes a day. And basically, Stone pointed out that the aircraft industry had this huge backlog. It didn’t suit them to expand production. They wanted to keep things the way they were. They had a monopoly, just like pharmaceutical companies might have today. So Truman knew that some things are too important to be left to private enterprise, and he felt that healthcare was one of them.

But what’s interesting about this argument that Stone was having with Fishbein is two things: first, that that was the last time I.F. Stone was ever on Meet the Press, and secondly, that he wasn’t again allowed to be on national television for eighteen years.

Footnote: Earlier this week, the American Medical Association (AMA) announced that it was "letting Congress know" that it would resist a public plan for health insurance coverage.

Politically, the revelation could be a significant blow to progressive health care reform advocates, who contend that a public option is the best way to reduce costs and increase insurance coverage. The AMA has the institutional resources and the prestige to impact debates in the halls of Congress.

Wednesday, June 17, 2009

Electronic Health Records (EHR) – Interoperability of Disparate Systems – Political

The top box in the figure below (adapted from the first figure in my June 16 post) contains the label "Political," and the video in my May 13th post (repeated below) shows excerpts from a recently held hearing in the United States Senate Committee On Finance, chaired by Senator Max Baucus. The latter motivated the former. But, I've had additional reasons to think about the influence of national politics upon the architecture of the upcoming IT-based EHR system.










Montana Senator Baucus is the Senate’s point man on healthcare reform. A new article in the Montana Standard finds that Senator Baucus has received more campaign money from health and insurance industry interests than any other member of Congress. The article says, “In the past six years, nearly one-fourth of every dime raised by Baucus and his political-action committee has come from groups and individuals associated with drug companies, insurers, hospitals, medical-supply firms, health-service companies and other health professionals.”

Moreover, it’s hard for even the most casual follower of the daily news to avoid finding his or her own reason to believe that national politics will play a major role in the rollout of our EHR system.

The vast majority of the funds within the HITECH Act (the health IT component of the American Recovery & Reinvestment Act) are assigned to payments that will reward physicians and hospitals for effectively using a robust, connected EHR system. Few should doubt that how these billions of dollars are distributed will have a profound impact on the shaping of our national EHR system.

In addition to funding EHRs (also called electronic medical records, or EMRs), HITECH adds some privacy-enforcement teeth to HIPAA, which has long been criticized for loopholes’ allowing the release of medical record information to health care vendors for marketing purposes. Pharmaceutical companies, for instance, have frequently used prescription information from these records to target their mailings for new or alternative drugs and treatments. HITECH now mandates that individual patients’ consent be obtained before releasing any information to vendors -- or to anyone not in the immediate health care loop that includes physicians and hospitals as well as insuring and billing entities (for a scary look at how easily this loop can expand, read “Health Privacy—The Way We Live Now”). The new provisions also require voluntary and affirmative disclosure of any breaches or violations of private records. However, as the final stimulus package wended its way through Congress, so many loopholes (five pages’ worth) were added that just about any group with political connections, or with loose medical affiliations, could gain access to everyone’s personal EHR just by asking for it or by paying for it.

While there are workgroups and committees of experts working diligently to shape an EHR that helps bring about a better healthcare system for the nation, the members of these groups don’t control the purse strings. Politicians do. Stay tuned.

Tuesday, June 16, 2009

Electronic Health Records (EHR) – Interoperability of Disparate Systems – Technical


As the title suggests, this post, the first in a series of continuations of my June 13 post, is about the technical aspects of interoperability. For your convenience, I’ve copied the figure below from the earlier post.




The word "interoperability" means different things to different people. To DBAs, for example, the ability of SQL Server, Oracle and DB2 to recognize each other’s commands is a sign of the interoperability of these databases. In the current post, however, I'll focus primarily on a distributed computing model that is capable of cross-platform and cross-programming language interoperability, Web services. In the process, I'll compare Web services with a couple of its predecessors, CORBA and DCOM, which are still being used widely.

Why CORBA and DCOM success is limited


Although CORBA and DCOM have been implemented on various platforms, the reality is that any solution built on these protocols will be dependent on a single vendor's implementation. Thus, if one were to develop a DCOM application, all participating nodes in the distributed application would have to be running a flavor of Windows. In the case of CORBA, every node in the application environment would need to run the same ORB product. Now there are cases where CORBA ORBs from different vendors do interoperate. However, that interoperability generally does not extend into higher-level services such as security and transaction management. Furthermore, any vendor specific optimizations would be lost in this situation.

Both these protocols depend on a closely administered environment. The odds of two random computers being able to successfully make DCOM or IIOP calls out of the box are fairly low. In addition, programmers must deal with protocol unique message format rules for data alignment and data types. DCOM and CORBA are both reasonable protocols for server-to-server communications. However, both they have severe weaknesses for client-to-server communications, especially when the client machines are scattered across the Internet.

CORBA overview

Common Object Requesting Broker Architecture (CORBA) provides standards-based infrastructure for interactions between distributed objects. It allows software components running on dissimilar hardware, hosted on different operating systems, and programmed in different programming languages to communicate, collaborate, and perform productive work over a network.

A CORBA system accomplishes this magical task by confining the interaction between objects to well-defined interfaces. To use the service of a distributed object, you must interact with it through the interface. How the interface is implemented -- or even where it is implemented -- is not known and doesn't have to be known by the client. The figure below illustrates the workings of a typical CORBA system.

Object interactions in CORBA





Achieving location transparency


In this figure, the client code makes use of a server object through its interface. In fact, the interface is implemented by a stub object that is local to the client. As far as the client can tell, it's only interacting with the local stub object. Under the hood, the stub object implements the same interface as the remote server object. When the client invokes methods on the interface, the stub object forwards the call to a CORBA component called the Object Request Broker (ORB). The calling code in the client does not have to know that the call is actually going through a stub.

DCOM overview

Distributed Component Object Model (DCOM) is a Microsoft proprietary technology for software components distributed across several networked computers to communicate with each other. However, it has been deprecated in favor of the Microsoft .NET Framework, which includes support for Web services.

Internet poses problems for CORBA and DCOM

DCOM was a major competitor to CORBA. Proponents of both of these technologies saw them as one day becoming the model for code and service-reuse over the Internet. However, the difficulties involved in getting either of these technologies to work over Internet firewalls, and on unknown and insecure machines, meant that normal HTTP requests in combination with web browsers won out over both of them.

Web services overview

Web services specifications such as SOAP, WSDL, and the WS-* family are currently the leading distributed computing standards for interfacing, interoperability, and quality of service policies. Web services are often called "CORBA for the Web" because of their many derivative concepts and ideas.

There are several ways to think about Web services when building applications. At the most basic level it is an advanced communications protocol family allowing applications to talk to each other. This level has progressed quite significantly over the past few years with many tools (e.g., Oracle’s JDeveloper and Microsoft's Visual Studio) that allow software developers to write interacting Web services and build complex applications. This level is often characterized by direct one-on-one interactions between services or relatively few services interacting with each other.

SOA overview

However, just using Web services as a communications protocol belies its true power, that of the service-oriented architecture (SOA). The SOA describes an entire system of services dynamically looking around for each other, getting together to perform some application, and recombining in many ways. This model encourages the reuse of technology and software that evolves the way applications are designed, developed and put to use. It brings the world of distributed computing to a closer reality. At this level software developers need to think of the SOA model and design their distributed application across the model. This level is characterized by the use of technologies to allow distributed communications of services such as the use of an Enterprise Service Bus (ESB), which is a common distribution network for services to work with. More on ESB in an upcoming post.

Finally, the highest level is to look at this SOA model and the many component services as building blocks that can be assembled in whole sections into full applications instead of the traditional method of writing line after line of code. By examining the connecting interfaces, we can build whole applications without ever really writing code. For that matter direct code may even get in the way since the services may be written in numerous different languages and platforms. The blocks can be put together into a workflow of operations that define how the application performs, and other tools can be used to monitor the effectives of the workflow at each service or group of services. At this level, developers can put away the use of regular programming languages and work in a Model-Driven Architecture that helps them to build applications more accurately to a design. More on workflow in an upcoming post.

Monday, June 15, 2009

Electronic Health Records (EHR) & “Meaningful Use” survey results & Speech Recognition Technology


Electronic health records (EHR) have been recognized as a core component to national healthcare reform in the United States. Beginning in 2011, physicians and hospitals can receive bonus payments under Medicare and Medicaid, but only if they are found to be “meaningful EHR users.” Nuance Communications, Inc., a leading supplier of speech solutions that are expected to help with the transition to and utilization of EHR, surveyed physicians to better understand how “meaningful use” should, from their point of view, ultimately be defined.

A couple of my prior posts were about speech recognition and another couple of my prior posts were about electronic health records. So, I was interested in the results of this survey.

The EHR Meaningful Use Physician Study shows —

93 percent of doctors “disagree” or “strongly disagree” that using an EHR has reduced time spent documenting care.

When asked what doctors consider an “incentive to drive national EHR adoption,” 75 percent of the physicians surveyed said they consider “access to tools that would help doctors to better document within an EHR (beyond the keyboard), such as speech recognition” an incentive; whereas 69 percent cited “stimulus money.”

When asked about qualifications that the federal government should measure as part of pay-outs associated with EHR meaningful use, physicians cited the following:

  • 90 percent said “access to medical records faster without waiting for records to come out of transcription,” was “important” or “very important.”
  • 83 percent said “more complete patient reports, with higher levels or detail on the patient’s condition and visit,” was “important” or “very important.”
  • 83 percent said “better caregiver-to-caregiver communication based on improved reporting that is more accessible and easily shareable,” was “important” or “very important.”
  • 79 percent said, “improved documentation by pairing the EHR point-and-click template with physician narrative,” was “important” or “very important.”

When asked about the importance of various EHR components, physicians identified the following as the five most important:

    • Lab test results reporting and review
    • Documentation tools that allow doctors to speak the physician narrative into the EHR
    • E-Prescribing
    • Secure health messaging between caregivers
    • Keyboard support via speech recognition for data entry into the EHR

    74 percent of the doctors surveyed said “EHR cookie cutter templates” and “patient notes with no uniqueness” are challenges to realizing the full value of EHRs.

    93 percent of doctors surveyed either “agree” or “strongly agree” with the following statement, “I think capturing physician narrative as part of the documentation process is necessary for complete and quality patient notes.”

    67 percent of the doctors surveyed cited “time associated with reliance on keyboard and mouse to document within an EHR” as a major hurdle.

    My thoughts, after perusing these findings: On the one hand, this is a self-serving report created by a vendor of speech recognition products; On the other hand, this report suggests that there could be a good deal of resistance to EHR by physicians and hospitals if speech recognition technology is not successfully integrated into the coming EHR system(s). Stay tuned.



    Saturday, June 13, 2009

    Electronic Health Records (EHR) - Interoperability of Disparate Systems

    As suggested in the figure below, there are technical, semantic, organizational, political and economic matters to consider when deciding how to move data and/or exert operations from one place to another. These challenges are present in the recently reinvigorated campaign to adopt and exchange electronic health records.



    On February 17, 2009, President Barack Obama signed into law the American Recovery & Reinvestment Act (ARRA). The health IT component of the Bill is the HITECH Act, which appropriates a net $19.5 billion dollars to encourage healthcare organizations to adopt and effectively utilize Electronic Health Records (EHR) and establish health information exchange networks at a regional level, all while ensuring that the systems deployed protect and safeguard the critical patient data at the core of the system.

    There are two portions of the HITECH Act -- one providing $2 billion immediately to the Department of Health & Human Services (HHS) and its sub-agency, the Office of the National Coordinator for Health IT (ONC), and directs creation of standards and policy committees; a second that allocates $36 billion that will be paid to healthcare providers who demonstrate use of Electronic Health Records.

    The government is focused on two primary goals in this legislation: moving physicians who have been slow to adopt Electronic Health Records to a computerized environment, and ensuring that patient data no longer sits in silos within individual provider organizations but instead is actively and securely exchanged between healthcare professionals. Therefore, the vast majority of the funds within the HITECH Act are assigned to payments that will reward physicians and hospitals for effectively using a robust, connected EHR system.

    In short, a great deal of largely-Government-funded IT work is about to be undertaken to enable often-disparate healthcare recordkeeping systems to interoperate. In the next few posts, I will address a number of the issues that need to be considered when planning such projects.

    Thursday, June 11, 2009

    Demographics of past visitors to this blog


    To determine what, if any, response there had been to this still-fairly-new blog, I enlisted the help of Google Analytics from which I obtained the report posted below.





    Wednesday, June 10, 2009

    The coming evolution of wireless local area networks (in healthcare, academe and elsewhere) means better video, voice, and data

    Wireless local area networks are about to become more pervasive because greater numbers of end users are going to be more favorably impressed than ever with their performance and greater numbers of administrators are going to be more favorably impressed than ever with their cost/benefit ratio. The emerging Wi-Fi standard, 802.11n, is behind these changes.

    The examples of 802.11n networks outlined in this post are taken from the healthcare industry and education, but they apply equally well to any networked environment -- and, today, that means just about every environment. Healthcare, especially, with its stringent security requirements, large files like X-rays and changing physical environment caused by portable equipment will benefit from this nascent wireless standard as much and sometimes more than any other field.

    With the ubiquitous coverage that 802.11n promises, doctors and nurses will have full network access whether at the patient’s bedside, in wards, or in the waiting areas. Office workers and others ancillary staff will be able to move their laptops and other mobile devices from their desks to a conference room or to a cross-campus facility, more often than not seamlessly.

    While 802.11n is not expected to be ratified before Q4 of this year at the earliest, draft versions of 802.11n are already making it possible to run bandwidth-hungry applications like VoIP and video streaming. The draft 802.11n products currently on the market demonstrate a significantly higher throughput and improved range. And, the 802.11n standard promises to achieve as much as 5x the throughput and up to double the range over legacy 802.11 a/b/g technology.

    At this level of throughput and range performance, 802.11n can support multimedia applications, with the ability to transport multiple high-definition (HD) video streams, while at the same time accommodating Voice over Internet Protocol (VoIP) streams and data transfers for multiple users with high Quality of Service (QoS) and latest generation security protections in place. In enterprise, campus and municipal networks, 802.11n offers the robustness, throughput, security and QoS capabilities that IT managers have come to expect from wired Ethernet networks. But, wireless devices have this one additional attribute: they are not tethered to a wall jack like wired ones and that makes all the difference in the world.

    I've linked to a number of videos so that you can see some of this functionality in action:

    http://www.youtube.com/watch?v=B5z3_GzCsCU
    http://www.youtube.com/watch?v=5HQH49fo2qE
    http://www.youtube.com/watch?v=USeund3jyPA&feature=related

    It is well documented that wireless performance varies based on a variety of factors such as the type of applications delivered over Wi-Fi or the physical challenges presented by building materials or architectural configurations. Cisco’s lab testing engineers have consistently reached connection data rates of 300 Mbps per 802.11n radio. This data rate typically translates to a throughput rate of 185 Mbps for sustained periods of time.

    Video

    Before the introduction of 802.11n, a healthcare organization that needed to stream high-definition (HD) video for mobile diagnostic services would be limited to only two HD streams at a time over a wireless network. Even then, an 802.11g network would not be a reliable transport medium for HD streaming video. Previous standards, such as 802.11b, did not have the necessary throughput capacity for any HD video streams.

    802.11n allows for the distribution of seven times more video streams than 802.11g networks (Table 1). Such an increase in the throughput rate can truly mobilize applications such as bandwidth-intensive, video-streaming applications. With 802.11n, organizations like the healthcare provider mentioned earlier can dramatically increase the number of simultaneous mobile diagnostics that can be performed. The result is a significant improvement in medical staff productivity, resource utilization, and patient satisfaction (due to shorter wait times), all of which leads to greater profitability.



    * In real-life network deployments, Cisco 802.11n solutions have maintained a consistent throughput peak of 185 Mbps. Unfortunately, when it comes to video streaming over Wi-Fi, contention reduces the available throughput per 802.11n radio to roughly 140 Mbps.

    ** A typical DVD-quality video stream requires about 5 Mbps of throughput. A high-definition video stream requires double the throughput—that is, about 10 Mbps.

    8x More Users

    The transformative nature of wireless networking drives -- and also feeds -- an insatiable appetite for network-connected devices. Most of us today have at least one Wi-Fi-enabled device, but many of us are starting to carry more than one -- for example, a dual-mode phone, a laptop computer, and a digital camera. We are also becoming accustomed to finding an available network that we can connect those devices to while at home, at work, or on the go, which in turn drives the need for ubiquitous network connectivity.

    The proliferation of these network-connected devices is creating an undeniable need for high density deployments as more and more users connect to the same network with multiple devices for different reasons. This need is only exacerbated in areas where people tend to congregate in large numbers for business, education, entertainment, or other reasons.

    Consider a large lecture hall where many students congregate during class and are connecting to the wireless network with their laptop computers in order to download the instructor’s presentation slides and notes or conduct parallel, online research on the discussion topic of the day.

    If we assume that this large lecture hall is equipped with three 802.11g access points today, the students in the classroom and their connected devices would be sharing an available bandwidth of 22 Mbps by load balancing these users and devices across the three available access points. Now suppose that all these students were required by the instructor to use a “blackboard” type of application to download presentation notes transcribed onto slides in real time. The application would require a consistent bandwidth of 5 Mbps in order to provide a good user experience, and the result would be that only 12 students (four students per access point) would be able to use the application effectively in the classroom.

    Suppose we were to replace these three 802.11g access points with three next-generation, 802.11n access points. The system-level bandwidth in the classroom would increase substantially and more than 96 students (32 users per access point) would be able to connect to their wireless network and expect to have a consistent application experience.

    In fact, a one-to-one replacement of access points is the most prevalent migration scenario to 802.11n for organizations that want to increase their deployment density. User density becomes an even more complex problem to solve when network users are demanding different bandwidths to run their specific applications. It is not hard to imagine how airport terminal or conference room hotspots, where users run a variety of mobility applications, would benefit from next-generation wireless. Not only would it allow more users on the network, but it could also improve their individual user experience.

    Cisco testing has shown that on a systemwide basis, adding devices (users) onto the network may at some point create some throughput loss, up to 5 percent, which will result in slightly fewer additional users being able to use the network. That is why the number of users is not entirely aligned with the expected performance improvement we see from migrating to 802.11n.

    9x Faster

    Even though Internet or Intranet video streaming and higher user density are both compelling reasons to migrate to 802.11n, the vast majority of companies migrating to next-generation wireless will do so because of the raw performance improvement their users will experience daily. Extensive field testing has shown that sustained throughput performance of 802.11n wireless networks is 185 Mbps. However, in many cases during those field trials, a sustained upper limit of 198 Mbps has been observed.

    Companies migrating to a next-generation 802.11n wireless network can expect to experience an improvement in performance that is up to nine times faster than 802.11g technology for the mobile applications used today. Furthermore, many applications, such as scheduled data backups and large file transfers that were previously performed over the wired network, will now be mobilized. These performance improvements increase overall employee effectiveness and productivity and in turn shorten the 802.11n investment payback period, while increasing the return on investment.

    There is no doubt that the emergence of 802.11n will also bring about an influx of bandwidth hungry mobile applications that could not be enabled wirelessly until now.

    802.11n vs. gigabit Ethernet

    Of course, 802.11n speeds still fall far short of those of gigabit Ethernet. However, downloading an 8MB file over 802.11n should take about 4 seconds if there are 10 users on a given access point, compared to less than a second for both fast and gigabit Ethernet. Even with 20 users per access point, the file download times ranged from two to eight seconds -- still satisfactory for most users.

    Although latency is up to 20 times higher than that of gigabit Ethernet, the difference will not be enough to impact VoIP. The same can be said of jitter, the amount of variation in the arrival times of VoIP packets. Jitter can be as high as 150 times that of gigabit Ethernet, but who cares? Again, the difference will have little impact on jitter-sensitive applications such as VoWLAN [voice over WLAN] because the absolute value is so small compared to the VoWLAN jitter budget.

    See http://www.youtube.com/watch?v=WXELBG9oakk

    This video, the first in a 4-part series on VoIP, is not about wireless, but the concepts, which apply to both wired and wireless networks, may be of interest .

    More reliable

    802.11n is not only faster, it’s a lot more reliable because it uses “MIMO” -- Multiple Input, Multiple Output — technology. It means, in effect, you have multiple antennas working. So, if a signal doesn’t get through going in one direction, you’re able to send it another way with another antenna, and the signal is more likely to get through. This use of multiple antennas also can mean fewer "dead spots" in coverage.

    Better security

    802.11n also has better security, with stronger encryption, than 802.11g. That makes 802.11n particularly attractive to small- and medium-size organizations, which don’t have the level of IT resources that larger organizations do.

    And, fortunately, all of today's wireless network security best practices still apply to 802.11n. It's important to realize, however, that 802.11n may also raise business risk simply by supporting more users and applications across larger areas. In short, the same old attacks may now be far more disruptive to your business.

    Ultimately, 802.11n networks can be made just as secure as -- if not more secure than -- yesterday's 11a/b/g networks. But, this takes awareness and follow-through.

    Caveat emptor


    Like yesterday's 802.11a/b/g standards, the 802.11n high throughput standard employs 802.11i "robust security." In fact, all Draft n products are required to support Wi-Fi Protected Access version 2 (WPA2) -- the Wi-Fi Alliance's test program for 802.11i.

    The good news: All 802.11n WLANs built from scratch can forget about WEP crackers and WPA (TKIP MIC) attacks, because every 802.11n device can encrypt data with AES. The catch: WLANs that must support both old 802.11a/b/g clients and new 802.11n clients may be forced to permit TKIP. Doing so makes it possible for older non-AES clients to connect securely. Unfortunately, 802.11n prohibits high-throughput data rates when using TKIP.

    It is therefore best to split old 802.11a/b/g clients and new 802.11n clients into separate SSIDs: a high-throughput WLAN requiring AES (WPA2) and a legacy WLAN that allows TKIP or AES (WPA+WPA2). This can be done by defining two SSIDs on a virtual AP or by dedicating different radios on dual-radio APs. This is only a stop-gap measure, however. As soon as you can retire or replace those legacy devices, do away with TKIP to improve both speed and security.

    Forward and backward compatibility

    The IEEE 802.11n specification is now stable and converging. Many vendors have stated that their Wi-Fi CERTIFIED 802.11n draft 2.0 products are planned to be software-upgradeable to the eventual IEEE 802.11n standard. The industry now needs assurance that these new products interoperate with each other and that they are backwards compatible with and friendly to the legacy 802.11a/b/g systems. The Wi-Fi CERTIFIED program delivers this assurance.

    Devices eligible for certification implement most of the mandatory capabilities in the IEEE 802.11n Draft 2.0 specification. In addition, certain optional capabilities are covered under the certification testing, if implemented in the device. The certification defines and verifies out-of-box behavior of draft 802.11n devices. It also tests for backwards compatibility with and protection of legacy 802.11a/b/g networks from potential disruption by 802.11n. Security and QoS testing are mandatory for the Wi-Fi CERTIFIED 802.11n draft 2.0 products.

    Comparing Wi-Fi and WiMAX

    Some people describe the difference between Wi-Fi and WiMAX as analogous to the difference between a cordless phone and a mobile phone. Wi-Fi, like a cordless phone, is primarily used to provide a connection within a limited area like a home or an office. WiMAX is used (or planned to be used) to provide broadband connectivity from some central location to most locations inside or outside within its service radius as well as to people passing through in cars. But, be forewarned: just like mobile phone service, there are WiMAX dead spots within buildings.

    From a techie POV, the analogy is apt at another level: Wi-Fi, like cordless phones, operates in unlicensed spectrum (in fact cordless phones and Wi-Fi can interfere with each other in the pitiful swatch of spectrum that's been allocated to them). There are some implementations of WiMAX for unlicensed spectrum but most WiMAX development has been done on radios which operate on frequencies whose use requires a license.

    Wi-Fi CAN operate at distances as great as WiMAX, but there's a reason why it doesn't. Radios operating in the unlicensed frequencies are not allowed to be as powerful as those operated with licenses; less power means less distance.

    Though both offer wireless data connectivity, there are more differences than similarities. Check out the following comparisons:

    Coverage Range

    The coverage range of Wi-Fi 802.11n is about 400 meters in open spaces but will be lesser indoors. For WiMAX 802.16e, coverage distance can be metro-wide and can be more than 50 km.

    Speed

    Wi-Fi 802.11n was developed to provide faster speed (around 300 Mbps) than the a, b and g variants of this standard. WiMAX on the other hand can handle speeds up to 70 Mbps. It should be noted however, that for both standards, available bandwidth is dependent on many factors such as the distance from the base stations or access points, RF environment and the number of users connected.

    Quality of Service

    802.11n and WiMAX have different Quality of Service (QoS) mechanisms. This feature is standard in WiMAX and utilizes a method based on type of connection between the base station and the user device. Wi-Fi has introduced a QoS mechanism where certain traffic flows can be prioritized over others. For example, VoIP or video streaming applications may be given priority over ordinary web surfing.

    Target Market

    Wi-Fi, including 802.11n, was primarily developed for wireless local area networks (WLAN) with a limited coverage area. It has found popular usage in last-mile delivery or consumer applications, such as hotspots in public places, offices or at home. WiMAX, on the other hand, was developed primarily for wireless metropolitan area networks (WMAN) with coverage ranges of up to several kilometers. Service is usually subscription-based and provided by telco operators intended for business users. Example applications are as backhaul for wide area networks or internet connection for ISPs.

    Today, Dell customers can add an Intel wireless module that supports Wi-Fi and WiMAX to Dell's Studio 17 and Studio XPS 16 for $60, according to Dell's Direct2Dell blog.

    But, wireless broadband networks based on WiMAX are only available in three U.S. cities: Atlanta, Baltimore and Portland, Oregon. That means most users won't get any benefit from adding WiMAX cards to their Dell laptops unless they live in one of these three cities. Over time, more U.S. users will get access to WiMAX networks as operator Clearwire expands coverage to more cities.

    HP, the world’s largest laptop maker by units, does not offer WiMax as an option on any notebooks.

    Of course, you can always use a USB modem. Sprint’s U300 USB modem, which supports both 3G and Mobile WiMax, is $80 with a two-year contract

    Detailed reference on 802.11
    http://www.intel.com/standards/case/case_802_11.htm

    Early use of 802.11n at M.I.T. and a medical center
    http://www.computerworld.com/action/article.do command=viewArticleBasic&articleId=9111000


    Friday, June 5, 2009

    Program Your Applications To "Tweet" Their Status Updates To A Private Account


    Databases like Oracle and SQL Server can automatically notify the outside world when a wide variety of events occur. For example,
    • The number of patients in the the emergency room has reached its limit.
    • The number of widgets in inventory has dropped to the reorder point.
    • A long-running search has ended.
    • An X-ray or other file has been accessed by someone without authorization.

    Typically, notification that such an event has occurred is generated by code contained within a database procedure.

    But, database-centric applications aren’t the only kind that can programmatically generate events. For example, when a security breach, employee mishap or other emergency is detected by the code written in a Web application, notification, often via redundant channels, may be sent.

    Traditionally, a text (e.g., via email server) or speech (e.g., via a speech server) message is generated. However, suddenly, tweeting (a short message sent by
    Twitter) has become a popular option.

    What is Twitter?

    To understand the usefulness of an interface to Twitter, you need to know what Twitter is.

    It's sort of like IM but without the expectation that any particular person will be there to answer. It's very public. If you start your day off with a "Hello, Mom", everyone who “follows” you (that is, who has configured their feed to include your messages) will see it. This capability is sometimes called “micro-blogging”.

    However, for the scenario under discussion, you can configure Twitter to allow only the people (or person) you want to see your tweet – with or without the need to authenticate.



    The Twitter API supports Basic Authentication. Basic authentication allows a user to pass in a user name/password associated with a URL. If you've ever tried to navigate to a Web site and it popped up a dialog and asked for a username and password, that site was probably protected by basic authentication. (Twitter has just recently started offering OAuth authentication.)

    Messages on Twitter are called “tweets” and cannot be longer than 140 characters.

    In general, the goal of Twitter for most people is to communicate and stay in touch with people you know, would like to know, or have interests in common. You follow people much like you would “friend” them on other social networks. The people you follow show up in your stream. People talk about whatever it is that's on their minds. Sometimes you'll see people replying to each other and at other times, they just want to share a thought. However, these uses are quite different from the use we’re considering here.

    The Twitter API

    To make calls to Twitter from a database, one needs a method for plugging into Twitter. Fortunately, Twitter provides an API for performing almost any interaction that you might wish for, including the ability to post a tweet.

    The first thing to do is to set up a Twitter account for your messages. You may want to setup a special Twitter account for this purpose, rather than using your primary account.

    A caveat: internet access from within a corporate firewall, especially from a database server, is an iffy proposition at best. Many places don’t allow it at all. Some do allow it via a proxy. The larger an organization, the less likely it is to allow internet access from a database server.

    There are Twitter-supplied libraries for 13 programming languages:

    • C#/.NET
    • Java
    • ActionScript/Flash
    • PHP
    • Ruby
    • PL/SQL
    • JavaScript
    • C++
    • Python
    • Scala
    • Perl
    • Eiffel
    • Objective-C/Cocoa

    Saturday, May 30, 2009

    Speech Recognition Software - The Case For Using A Medical Vocabulary And Language Model In The Generation Of EMR/EHR Documents


    Dragon NaturallySpeaking (DNS), the most widely used front-end speech recognition software application, comes in several different versions. They have many basic features in common, a number of which I’ll discuss in this post. One version, the medical version, has a set of specialized vocabularies (shown in list below) that make it uniquely suitable for use throughout the healthcare industry.



    This post will touch upon a number of the features that all of the versions of DNS have in common as well as some of the special capabilities of the medical version.

    Because every person's voice is different, and words can be spoken in a range of different nuances, tones and emotions, the computational task of successfully recognizing spoken words is considerable and has been the subject of many years of continuing research work around the world.

    A variety of different approaches are used, with the most widely used underlying technology being the Hidden Markov Model (discussed briefly below). These techniques all attempt to search for the most likely word sequence given the fact that the acoustic signal will also contain a lot of background noise. The task is made easier if the system can be trained to recognize one person's voice pattern rather than that of many people, and it is also easier if isolated words are to be recognized rather than continuous speech. Similarly, the task is easier if the vocabulary is small, the grammar constrained and the context well-defined.

    The complexity of these problems has meant that most of the voice recognition systems developed to date cannot recognize continuous speech from a wide variety of people and with a wide vocabulary as successfully as any human listener.

    Nonetheless, despite these challenges, the present technology for speaker-dependent large-vocabulary speech recognition systems now works quite well on a PC. And, today, many healthcare-industry applications are well suited for use with this technology. For example, speech recognition is being implemented in both the front-end and back-end of the medical documentation process.

    Front-end speech recognition (SR) is where the provider dictates into a speech-recognition engine, the recognized words are displayed right after they are spoken, and the dictator is responsible for editing and signing off on the document. It never goes through a medical transcriptionist (MT)/editor.

    Back-end SR or deferred SR is where the provider dictates into a digital dictation system, and the voice is routed through a speech-recognition machine and the recognized draft document is routed along with the original voice file to the MT/editor, who edits the draft and finalizes the report. Both front-end and back-end SR are being used widely in the healthcare industry today.

    Many electronic medical records (EMR) applications are more efficient when deployed along with a speech-recognition engine. That is, searches, queries, and form filling may all be faster when data is inputted by voiced rather than by keyboard.



    Average data-entry times for a paragraph using various input mechanisms

    The next figure shows an EHR system with both front-end and back-end capabilities. In this post, I’ll focus on the former.




    Before proceeding, here is a review of a few of the basic terms used in any discussion of speech recognition:

    * Homophone
    * Phoneme
    * Acoustic model
    * Vocabulary
    * Language model
    * Bi-gram, tri-gram and quad-gram

    * Hidden Markov Model (HMM)
    * Health Level 7 Clinical Document Architecture (HL7CDA)

    A homophone is a word that is pronounced the same as another word but differs in meaning. The words may be spelled the same, such as rose (flower) and rose (past tense of "rise"), or differently, such as carat, caret, and carrot, or to, two and too. Homophones that are spelled the same are also both homographs and homonyms. The term "homophone" may also apply to units longer than words, such as letters or groups of letters that are pronounced the same as another letter or group of letters.

    DNS doesn’t apply any rules of English Grammar when attempting to “understand” your dictation. It does, however, use the statistical probability of words occurring together in the English language.

    A phoneme is the smallest linguistically distinctive unit of sound. Phonemes carry no semantic content themselves.

    In effect, a phoneme is a group of slightly different sounds which are all perceived to have the same function by speakers of the language in question. An example of a phoneme is the /k/ sound in the words kit and skill. In English spelling there is a very poor match between spelling and phonemes.

    When you dictate into DNS, it compares your utterances to the acoustic model that contains your pronunciation of words (phonemes) set up by reading the enrollment passage(s). The phonetic equivalents are then sent to the vocabulary that contains not only words and phrases but also their phonetics. Finally homophones and near homophones are resolved using the language models. These look at the statistical probability of the phonetics of words appearing together in the installed language. The models look at pairs, e.g. “right away”, triplets, e.g., “write a letter”, and quadruplets in DNS. The language model is looking at the phonetics making up the words.

    Accurate transcription requires a good acoustic model (i.e. a good microphone and sound card) and clear enunciation by the user. Local “dialect” can obviously produce inaccuracy. For example, in both the U.S. and U.K., some regional “dialects” will miss the “g” from the end of a word as in “beginning’ “ -- DNS, without training, is likely to transcribe “begin in”.

    Assuming the acoustic component is clear, the language model provides the most likely words for the phonetic equivalents according to the statistical probability of “words” occurring together. Initially the Dragon language models (produced by professional linguists) will be based on “standard” grammatical English (or other language). The language model is modified by correcting “misrecognitions” consequently, in time, you can develop a more accurate one.

    The bi-gram, tri-gram and quad-gram models look at associations in a single utterance. Hence you could also possibly improve your recognition accuracy by choosing to dictate in shorter phrases. Normally this would not be the best way to dictate as accuracy increases (for "standard English) when you use complete sentences or even full paragraphs.

    How Medical Specialty Vocabularies Provide a Better Experience

    The greatest determinant of speech recognition accuracy is the appropriateness of the vocabulary and language model. To demonstrate the difference between Dragon Medical and Dragon Professional, here’s a comparison of how the two vocabularies handle the word “embolism.”



    Dragon Professional is far more likely to translate “embolism” as the word “symbolism”, because “symbolism” rates higher than “embolism” -- it’s far more commonly used by business professionals. Dragon Medical has “embolism” by contrast, statistically rated much higher because the statistical likelihood of “embolism” occurring in medical dictation would be higher than in Dragon Professional.

    Adding Medical Terms to Non-Medical Recognizers Won’t Bridge the Accuracy Gap

    Simply having clinicians train and add hundreds of medical terms to Dragon will not adequately raise its accuracy for use in medical settings. Without the additional benefit of Dragon Medical’s language model, which carries the knowledge of the relative frequency of use of both individual words and phrases, a non-medical speech recognizer will not have the added benefit of recognizing the context of the words which provides that additional boost in accuracy.

    Were “cerebral embolism” and not just “embolism” spoken by a clinician, Dragon Medical is far more likely to recognize the phrase than Dragon Professional because it would recognize the context in which ‘embolism’ was spoken. Because the language models take into account not only the frequency of words but the frequency of multi-word phrases, Dragon Medical is significantly more accurate for medical dictation.

    Other examples of phrases having far better recognition by Dragon Medical are below.



    EHR and speech recognition can also help with the standardization of content within a clinical document. Physicians often use different words that have the same intent; for example; they may dictate history or HPI or history of present illness, or they may refer to findings or results. DNS allows the health care provider to implement best practices by coding all common terms alike to normalize the sections or subsections of the medical report and to enable a comprehensive retrieval of this information.

    Note: Health Level 7 Clinical Document Architecture (HL7CDA) is a way to have commonality of terms within a document, and serves as the basis to enlarge and enrich the flow of data into the EHR.

    The Vocabulary Editor shows you all the active words (the most commonly used words) in the Dragon Medical vocabulary. You can open Vocabulary Editor to find out whether a word is in the active vocabulary. If it’s not there, you can add it. If it is, you can create a different spoken form.

    To overcome many of these shortcomings, you can use DNS’s Vocabulary Editor to

    * Add words that are spoken one way but written a different way. This feature lets you add a word that, for example, types your phone number whenever you say “phone number line.” (Discussed below)

    * Change the formatting properties of a word, such as whether Dragon Medical should type a space before or after the word. You can do this by using the Word Properties dialog box. (Discussed below)

    The next three figures illustrate the use of the Vocabulary Editor and training that enabled me to speak “Code44” and watch “Halitosis” appear in a Microsoft Word document.







    Note: The red underlining in the figure above was put in by me after the fact, using the Windows Paint application.

    However, this trivial example of one-to-one translation can be extended to one-to-many translation: That is, in a matter of seconds, you could “program” Dragon Medical to type out a whole sentence in response to your speaking just a single word or code into the microphone. And, vice versa: you could “program” Dragon Medical to type out just a single word or code in response to your speaking a whole sentence into the microphone.


    In addition, you can use this dialog box to view and customize the formatting properties of words even more in your active vocabulary. Click here for further details.

    Before continuing, here’s a very brief overview of the anatomy and physiology of speech production and the models and technology used in speech-to-text translation.




    The figure below, from an M.I.T. Lincoln Labs – Nuance Communications, Inc. presentation, shows a display of this output spectrum as a function of time.


    Now for an overview


    Audio input: A microphone is used as the hardware for providing audio input. The microphone captures the spoken words as sound waves and these are to be converted from analog to digital format. The microphone is connected to a computer with a sound card installed. Digital voice recorders do not require the use of a sound card. The spoken words are processed to remove any noise. The microphone used may also influence the recognition rate depending on the quality, and a good microphone should cancel out ambient noise.

    Speech engine: There are two speech engines, one for recognizing speech and the other one converting text to speech. Converting text to speech is called speech synthesis.

    Language model: This is a very large list of words used in voice recognition. The language model contains a list of the words and their probabilities when used with voice recognition application. A language model is sometimes called a dictionary or lexicon. For example, a radiology language model contains all the words most likely to be used when doing a radiology report. Examples of other models are Cardiology and Pathology.

    Grammar: In a speech recognition system, a grammar file consists of a list of words or phrases which are recognized by the speech engine and are used to drive the application. Grammars are used to constrain what users can say in a voice recognition application. For example, grammar can be used for voice commands which can let the user save a radiology report, print a radiology report and close the application.

    Acoustic Model: When voice is captured by a microphone, the analog signal is converted into a digital signal. Using digital signal processing, the signal is converted into speech frames of 10ms (illustrated in a figure above). These frames are analyzed by using an acoustic model. The model will make a comparison in order to obtain probabilities that a certain word has been spoken by a user. There are a number of acoustic models which can be used for speech recognition but the majority of speech engines available today use the Hidden Markov Model (HMM).

    The HMM is a statistical model and is favored more because it is easy to understand, easy to implement, it's faster and it requires less training compared to other models. Some speech recognition systems use a hybrid combination of the various models used in speech recognition. An example would be the Hidden Markov Model and the Artificial Neural model (ANN). The ANN model is loosely based on the biological model of the human neural system

    Hidden Markov Model

    * Chain of Phonemes that make a word
    * Used first on words and then on sentences
    * Statistical analysis based on previous phrases (similar to predictive text messaging on cell phones)

    A Guide To Using DNS Medical

    DNS 10 Medical is a very powerful tool that can help its users deliver better healthcare at lower cost. But, its users have to know how to take care of it before they can benefit - long term - from this resource.

    Failing to observe good practices with any computer application is like failing to perform regular maintenance on your car, such as changing the oil, getting regular tune-ups, maintaining the proper inflation of your tires, etc. If you don't do this, the chances are very good that your car won't last longer than 50,000 miles at best. The same applies to DNS.

    Over the course of a day of continuous dictation your voice, your dictation style, your enunciation, and other factors that affect the performance of DNS change. We don't start out in the morning dictating in one manner and end the day dictating in the same manner. These changes affect how well DNS recognizes what you say.

    There are several features in DNS that were introduced in DNS 9 that affect overall accuracy over time. These are the PelAudio Acoustic Scale Score and a feature called SilentAdapt which uses the PelAudio Acoustic Scale Score to analyze your dictation during the course of any dictation session, whether it be short or long. These can have a positive effect on your accuracy, but they can also have a negative impact.

    Every time you dictate anything, DNS analyzes what you say using the PelAudio Acoustic Scale Score and assigns a confidence level. That is, it determines how frequently you say the same things in the same way consistently and assigns a score to each set of words and utterances. The positive effect is that, via the SilentAdapt feature, DNS learns to repeatedly recognize what you say based on the assignment of PelAudio Acoustic Scale Scores. The other positive effect is that DNS learns, from your dictation via the same methodology and functions/features, to ignore those words or phrases that you do not use frequently. For example, if you add a word or phrase to your vocabulary via the Vocabulary Editor, but don't use it again for a predetermined period of time, DNS learns to ignore it. This methodology is used to avoid misrecognitions that might otherwise occur during the course of dictation.

    The negative effect is that if you don't perform corrections and simply dictate for hours leaving your corrections to the end of your dictation session, DNS will tend to place a higher PelAudio Acoustic Scale Score on misrecognitions, thus tending to repeat them rather than making the correct recognition. This does not occur immediately, but it does occur frequently over time because of these features/functions. Therefore, it behooves all users to proofread what they have dictated at reasonable intervals and make appropriate corrections along with training such.
    Proofreading documents dictated using DNS is different from standard proofreading. DNS does not make spelling errors. All the words that DNS recognizes are spelled correctly even in the case where the overall recognition is not correct. Therefore, it's important to learn how to recognize grammar and context errors, as well as how to properly train DNS to correct them. Users frequently pick up misrecognized words and phrases when proofreading. One way of dealing with this issue is to make frequent use of DNS's "playback" feature that plays back what you said exactly the way you said it so that you can compare it to the actual recognize text. This is often helpful to inexperienced users in terms of learning how to proofread dictated documents by teaching them how to recognize these types of dictation errors.

    You shouldn't dictate for many hours without closing and saving your user profile, followed by relaunching it. Over time, the active user profile which you are using stores volumes of information about your dictation, corrections, and other data that is used by DNS to improve your accuracy. Dictating using a single user over many hours can cause "bloat" that needs to be cleared by periodically closing and saving your user profile. Unnecessary information is stored in your user profile and removed from memory leaving your user profile relatively clean and current. Obviously, running DNS's Acoustic and Language Model Optimizer does a better job of optimizing your user profile. However, periodically closing and reopening your user profile has a moderately similar effect on overall performance.

    We all normally adjust to the changes in our dictation style and voice. While we generally don't detect these changes simply because of the way that the human brain works, DNS is particularly sensitive to such changes and this sensitivity is what generally causes much of the degradation in accuracy that users experience when using their user profiles over a long period of time. In addition, putting the microphone to sleep does not turn it off because DNS continues to listen to anything coming into the microphone while waiting for wake-up command. Although this generally does not have a negative impact, it can, depending upon what DNS is hearing. So, it is generally better to turn the microphone off rather than leaving it on/asleep for any length of time, particularly if there is significant background speech and/or noise. Nevertheless, it is always a good idea to rerun the Audio Setup Wizard whenever you begin to detect an increase in the number of misrecognitions. This readjusts the microphone settings based on both the current environment (background) as well as any changes in your voice or manner of dictation. In short, this readjusts the microphone settings to reflect anything that may impact on recognition accuracy, particularly if there is any significant difference between the settings used when you first start dictating in the morning and the current status of your voice, dictation style, etc.

    Lastly, remember that constant use of your system in terms of opening and closing applications, dictation using DNS, and other interactive factors occurring in the background during the course of a day have an impact on Windows performance and resources. Periodically reboot your system. This cleans memory entirely and lets you start over again from square one with full access to all the Windows resources and memory. This may seem like a pain, but it is, from time to time, essential to the proper performance of DNS, as well as the proper performance of Windows itself. Remember that as goes Windows, so goes DNS. Not the other way around.

    A Recap

    NaturallySpeaking and the Acoustic Model

    The way you speak is totally distinctive, and no-one on earth sounds exactly the same way as you do. Dragon NaturallySpeaking relies on this individuality to create a unique mathematical model of your voice's sound patterns.

    NaturallySpeaking analyses each sound you make and compares it to a database of thousands of possible syllables in the English language. As it becomes more familiar with your speech patterns (a process greatly enhanced by training the application when creating a new user profile), it becomes more accurate in identifying individual sounds. For example, the way you pronounce a “th” sound changes how Dragon NaturallySpeaking responds to any word with that sound in its pronunciation.

    As the acoustic model recognizes sounds, it’s the vocabulary’s task to relate those sounds to actual words.

    NaturallySpeaking and vocabularies

    A vocabulary in Dragon NaturallySpeaking is compiled from a body of information that typically includes a word list and a language model. The word list adds words to the Dragon NaturallySpeaking’s active vocabulary (which is loaded into RAM and allows instant recognition) and backup dictionary (which has an expanded number of words for correction purposes) to improve the language model and recognition accuracy when the vocabulary is compiled. The language model contains usage and context information about all the words.

    Therefore, Dragon NaturallySpeaking uses a vocabulary to recognize words correctly based not only on the sounds of the words, but also on the context of those words within your current document.

    All words in the vocabulary have an initial set of pronunciations. The acoustic model uses these pronunciations to decide which words most closely match what was spoken. A word may have more than one pronunciation assigned to it, such as the word "either," which may be pronounced "EE-ther" or "EYE-ther; and in turn a pronunciation may have more than one word assigned to it, such as the words “to”, “too” and “two”. In this case, Dragon NaturallySpeaking’s language model assesses the context of the word within the sentence to determine which word is most correct.

    Narrative Paradigm

    There is often a considerable difference between what is typed or hand written into a report and what is put into a report that's created by a speech recognition system. The latter is often narrative based, capturing important nuances in addition to the bare facts.

    A note on full-URL links vs. compressed links

    I've been asked why I didn't used link-shrinkers in earlier posts. Here's why:

    First, I should say that there are some things I like about link compression: Some link-shrinkers let you personalize the new address with a unique phrase such as your name, or show you how many people click the link after you've posted it. Furthermore, link compression is just the beginning. More and more of these outfits allow users to see all sorts of details like where a link is showing up around the Web and where the people clicking on it are located.

    However, this convenience may come at a cost. The tools add another layer to the process of navigating the Web, potentially leaving a trail of broken links if a service suddenly closes shop. They can also make it harder to tell what you're really clicking on, which may make these Lilliputian links attractive to spammers and scammers.

    But popularity and convenience don't eliminate the potential risks of these link loppers. If so many services are springing up, chances are some will just as quickly disappear. And if a URL shortening service goes down, the links created with it could lead nowhere.

    Another worry is that you're not likely to know exactly where a truncated link will take you. So you could be directed to unsavory or illegal content or something malicious like a computer worm. This means URL shortening services need to keep an eye on the kinds of sites their users are linking to.

    Wednesday, May 13, 2009

    National Healthcare Debate Heats Up!


    This blog has been viewed from more than 30 countries, some with healthcare systems that reach all of their citizens and others, like the United States, that do not.

    Recent posts in this blog -- on topics like electronic health records (EHR) and electronic medical records (EMR) -- have highlighted ways by which the delivery of healthcare might be improved. But, that improvement is of no value to an individual whose is denied needed healthcare services.

    So, I'd like to pause for a look at the heated political debate that is currently being conducted on how the delivery of healthcare in the U.S. should be structured.

    Montana's Senator Max Baucus pressed the case for universal health care during a congressional hearing last week, on May 5, saying that while the United States spends double what other countries pay for healthcare, the nation remains "the only developed country without health coverage for all of its citizens."

    Excerpts (with commentary) from that hearing in the United States Senate Committee On Finance follow.



    Additional commentary, from three groups of medical professionals, follows.

    American Medical Association (Proposal for single-payer national health insurance)
    http://www.pnhp.org/physiciansproposal/proposal/Physicians%20ProposalJAMA.pdf

    California Nurses Association
    http://www.pnhp.org/PDF_files/singlepayer_top10.pdf

    Physicians for a National Health Program (Research papers)
    http://www.pnhp.org/single_payer_resources/pnhp_research_the_case_for_a_national_health_program.php

    The majority view in the United States holds that

    (1) Pursuit of corporate profit and personal fortune have no place in caregiving. They create enormous waste and too often warp clinical decision making.

    (2) In a democracy, the public should set health policies and budgets. Personal medical decisions must be made by patients with their caregivers, not by corporate or government bureaucrats.

    However, as seen in the Senate Committee On Finance video, powerful groups oppose this view. Stay tuned!



    Monday, May 11, 2009

    Social networking and search engine optimization: E-Marketing for the healthcare and related industries


    This post will take a limited look at social media and search engine optimization in the context of the healthcare and related industries and how some of their entities are using these new technologies.

    As we all know, social media can be used by healthcare professionals and the public to talk about a biotech company's products and brand. But biotech companies, as a general rule, have avoided social media for various reasons, including the lack of guidance from regulatory bodies like the FDA on remaining compliant while using social media approaches and difficulties measuring results, tracking popularity and audience activity.

    In fact, many companies’ internal legal and regulatory teams stifle the kind of free communication social media affords because of ever-present fears of the increased scrutiny and legwork that come with associated obligations like adverse event reporting.

    But there are ways to use social media tools that avoid these kinds of quagmires and stand to deliver real value to biotech companies and others. This is actually where the true beauty (flexibility) of technology is. Some entities are using indirect approaches (such as creating unbranded Facebook pages) or even emerging social media tools like Twitter for non-traditional advertising forays, such as making “announcements” about products and activities (e.g., twitter.com/boehringer and twitter.com/novartis).

    Caveat Emptor

    Before you launch a campaign that depends on a particular social media (or any other) application, understand it well. A case in point: currently, more than 60 percent of U.S. Twitter users fail to return the following month, or in other words, Twitter’s audience retention rate, or the percentage of a given month’s users who come back the following month, is currently about 40 percent. To be clear, a high retention rate does not guarantee a massive audience, but it is a prerequisite. There simply are not enough new users to make up for defecting ones after a certain point.

    Compare Twitter to the two heavily-touted behemoths of social networking when they were just starting out. When Facebook and MySpace were emerging networks as Twitter is now, their retention rates were twice as high. Twitter has enjoyed a nice ride over the last few months, but it will not be able to sustain its meteoric rise without establishing a higher level of user loyalty.

    A pharmaceutical company

    Consider the pharmaceutical company Pfizer's roll out of a pan-European digital campaign encouraging people to stop smoking using social media (see why their campaign is an example of viral marketing, later in this post).

    Pfizer is trying to engage its audience through the use of social media channels where their audience is (i.e. Twitter and Facebook). This makes even more sense in Europe, where smoking is probably more prevalent and more acceptable, especially among younger folk.

    Traditional marketing vs. social media

    IMHO (In My Humble Opinion / In My Honest Opinion), a big difference between traditional marketing and the social media used by Pfizer is that the former really doesn’t take as much effort after the launch of the campaign, other than to monitor and analyze; whereas with social media, the big effort really starts at the launch, as the tools are designed to facilitate interaction and engagement in order to develop an ongoing relationship with the customer. And like with any kind of relationship, it takes effort, empathy, and regular communication in order for it to blossom and grow. A one time effort with no continuing engagement will lose the interest of the social media audience very quickly, especially if it’s just marketing/advertising in disguise.

    An entire community

    Social networks helped cause the FDA to rescind the ban on concentrated morphine:

    The FDA demanded that the production of concentrated liquid morphine be stopped. Nine days later, they changed their mind and rescinded the decision. It's amazing that the FDA reversed course in what seemed to be record time. The entire palliative care community, including their organizations, physicians, patients and families presented a united front of dissent, which helped persuade the FDA. They used social networks, like blogs, Twitter and Facebook to rapidly spread the message as well as the ramifications surrounding the announcement.

    Search engine optimization et al

    E-marketing techniques such as search engine optimization (SEO), analytics and content monitoring offer organizations control over website content and promotion, while at the same time allowing them to use social media merely as a pointer to their website -- the more traditional source of information. In contrast to the activities at social networking sites, activity at these destination websites can actually be measured, categorised ... and all sorts of other nice things that marketing managers, analysts and executives like to do!

    So, the general idea is to make your own sites (the entity, service, product or others you may have) the central information storage area. Whatever you want to promote, either directly or indirectly, lives there (where regulatory uncertainties are less daunting). But, of course, you have to ensure that all your content is of interest to the audience you're targeting and to search engines.

    So, first you need to search engine optimize your content. This entails activities such as:


    * finding out exactly what you want to promote
    * compiling a list of keywords and phrases you want to use for that
    * exploring the popularity of such keywords and identifying others which may be relevant but you are not using
    * establishing a final list of keywords to be used
    * ensuring that your website content contains the above keywords

    Doing so will help you write and expose information which is in demand, in line with what you want to promote and that the public and healthcare professionals can easily find online. For an easy-to-read guide to SEO practices, see "Search Engine Optimization" by Rebecca Lieb (2009).

    Next, ensure that your search engine optimized website can now track visitors and their actions: what they see, where they go, what they click on and the path they follow. This is where analytics come in. You’ll want to analyze your Web server logs or utilize third party tools such as Google Analytics to measure any activity on your website. Being aware of and understanding this activity can provide invaluable information, including market trends, personal preferences, regional/organisational statistics and a lot more.

    Controlling the message

    You’re now ready to turn to social media. Social media tools can now be used without hesitation when they are used to point to traditional and existing information already on your site, rather than to talk about your subject matter or organization in an open and uncontrolled forum.

    So, for instance, if your website contains a wealth of well-exposed information related to a specific therapy area, people will find it and could start talking on social media about it as an information resource. This in turn will lead to more traffic to your site, from both healthcare professionals and the public, which can be measured, analyzed and classified according to your needs.

    The proof is in the pudding

    If you have a well optimized website, visitors to your site will spend more time there and tend to return. You can measure these parameters before and after optimization, using tools like Google Analytics to determine the extent of this success.

    The general idea, therefore, is to use good, search engine optimized content to attract attention, analytics to measure it and social media as an extra channel for directing people to your site. Country-specific challenges remain, however.

    Regulations in some countries, ABPI guidelines in the UK for example, may interpret this use of social media as promotional and hold you responsible for any links leading to your site, regardless of whether they are informational/educational or truly promotional. However, the fact is that even without social media being used as an extra communications channel, nothing spreads the word about your sevices, products or other content better than a well developed and SEO optimized site.

    Viral marketing

    Some call the practice of “re-directing” people to your website “viral marketing” instead of social media. Viral marketing facilitates and encourages people to pass along a marketing message.

    Postscript I: Social networking at hospitals and other healthcare organizations

    Hospitals can (and are) using social media to achieve certain of their goals. Ed Bennett of the University of Maryland has put together a very comprehensive list of social networking sites hosted by hospitals including their use of Facebook, Twitter and YouTube. YouTube looks like the most common but many are moving forward with Twitter. Some have clearer strategies with Twitter and other Web 2.0 tools than others. Most are using Twitter for health advice, others as an abbreviated version of press releases. It remains to be seen where this will go in the future - how it might be used in emergency communication or employee communication.

    At the time of this posting, Mayo Clinic has about 5000 fans on its Facebook page -- interesting posts from patients, family members, and physicians. Its Facebook site includes information on the Clinic, links to various web sites, videos, and more. But, most important, it has "The Wall" -- that empty page where you can write your thoughts, wishes, and other posts.

    St. Jude's Hospital has over 25,000 fans and it appears that there are many hospitals on Facebook that have created their own pages. By comparison, Target stores has 173,000 fans, Starbucks has 987,000 fans, and Nike has over 1.1 million registered fans, to name just a few in the "power brands" category.

    Postscript II: Website optimization

    The relatively new field of website optimization (not to be confused with the search engine optimization discussed above) uses specialties such as statistics, user experience testing, and cognitive psychology to get visitors to convert (i.e., do what you want them to do, once they've landed on your site). I talk about this topics in my recent article Statistical and Financial Considerations in Website Optimization. There's a link to it at in my selected bibliography at the bottom of this blog, for anyone who's interested.



    Friday, May 1, 2009

    Speech recognition software and new security rules for electronic medical records (EMR)


    The Stimulus Package includes new HIPAA Security Rules that require practices to post information about security breaches if a breach affects 10 or more patients. If a security breach affects 500 or more patients, practices must notify all of their patients, a local media outlet, and the HHS secretary. And, of course, there’s always the chance of a law suit brought against individuals or organizations when only a single breach occurs.

    The new legislation also calls for beefed up enforcement rules and a new aggressiveness in assigning fines. Fines for security breaches start at $100 and can go as high as $1.5 million. In addition, the legislation empowers state attorneys general to enforce some HIPAA elements and gives them the authority to bring class action suits.


    These requirements are very similar to those in a lot of states that have laws against identity theft.

    So, many of the discussions about this new legislation, especially media reports, center around patient records that have been misplaced, stolen, or hacked from storage in databases, PDAs and the like.

    In this post, however, I’ll be concerned only with some security risks that can arise in the very front end of the health information system.

    “A journey of a thousand miles must begin with a single step.”

    ...... - Lao-Tsu

    The front end

    Voice recognition software and Dragon NaturallySpeaking Medical (DNS) in particular are a great companion to an EMR implementation (and, ultimately, an EHR implementation). You can see what I mean in the following video that shows DNS combined with a Microsoft Word macro automating ICD-9 look up (as it can with any other codes).



    And, click here for a video that shows DNS used to dictate a patient history in PatientOS, a free, open source (GPL) healthcare information system (starting at about one minute into this 10 minute demonstration). Note: After watching the video, click the "Back" button of your browser to return to this page.



    The figure above shows a very simple EMR system for speech-to-text form generation. Virus attacks (control) of Word itself, as opposed to attacks (control) of its macros, wireless (802.11) breaches, and the like are not considered.

    Macros, small programs that run within the application, are of special interest because they can add functionality -- such as laying out a form or, as shown in the video above, automating code look up -- that make the creation of voice-generated EMR forms efficient.

    The figure shows a worst case scenario: a speech-to-text process starts with the user speaking into a wireless microphone and finishes with the creation of a Word document. But, Bluetooth (the technology used between the wireless headset and the laptop running speech recognition software) and the macros (VBA) used by the word processor are compromised.

    Normally, this implementation is safe, but you should check to assure that it is in your organization.

    Bluetooth headset - dongle packages like the one shown in the figure are usually factory paired to each other and safe. However, if you have purchased them separately, or if you wish to use a replacement headset with your existing dongle, you must pair the units. For this, you could use an application like Logitech SetPoint -- one of many -- whose dialogs are shown in the slide show below.

    I've laid out these dialogs not as a tutorial but as a reference for you to use as you watch the video that's located immediately above the slide show. In the video, a stealth connection is established between a Bluetooth headset and a hacker standing out of site. The video also shows this task being accomplished using text commands entered in a Linux terminal. The SetPoint dialogs provide a more user-friendly way to enter the same commands: via a Windows GUI.

    Neither the video nor the slide show note that, under special conditions, even when a Bluetooth device is not discoverable, a hacker may manage to discover it. Click here for more information on this topic. Note: After visiting the site, click the "Back" button of your browser to return to this page.

    The majority of attacks that succeed are simply let through by us users. So, you might consider keeping your device’s Bluetooth turned off or hidden if it isn’t needed. And, never accept any incoming connection requests you don’t recognise.






    Of course, you can bypass any and all security risks associated with Bluetooth technology simply by using a wired headset for the creation of your EMR.

    Once speech has been translated into Word text, it's accessible by VBA, Microsoft's built-in scripting language. Unfortunately, VBA scripts are prone to viruses.

    Click here for a discussion -- one of many -- on macro virus detection. As you will read, this is a complicated business. So, if you're not afraid of being accused of throwing the baby out with the bathwater, you could always disable scripting commands in order to block VBA viruses, by using the Word dialog shown in the next figure. There may be, however, compelling reasons for you not to take this step.



    Bottom line: Modern information technology is employed to deliver better healthcare at lower cost. However, it can sometimes be responsible for bad outcomes. It's up to you assure that IT serves its intended purpose.

    You can view this post as the ranting of a doomsayer or simply a reality check. Your call! For the sake of full disclosure, I should add that I use Bluetooth technology, Word macros, and even eat junk food occasionally.

    Anecdotes

    After DNS 10 Medical was released, I installed it on a fairly high end PC running the 32-bit version of Windows Vista, put on the wire headset that came in the box and started speaking before I had read any of the manuals or knew any of the suggested first steps.

    I didn't check my audio settings:

    (1) Correct positioning of microphone
    (2) Microphone volume check
    (3) Microphone and sound system quality check


    And, I skipped the suggested general training session.
    And, I skipped using the vocabulary optimizer.
    And, I didn't move the Speed vs. Accuracy Slider away from its midway position


    I then read out loud a paragraph from the product description literature and watched my every spoken word - save one - appear correctly in Microsoft Word. That one word, oddly enough, was "Plantronics," the manufacturer of the headset that came with DNS 10. A subsequent session of only a few seconds with the DNS voice trainer corrected this result.

    Finally, using only the General Medical vocabulary, i.e., not the DNS vocabulary for one of the medical specialties, I read from the opening paragraph of a recent New England Journal of Medicine article. DNS 10 Medical produced the text with no errors whatsoever.




    32- and 64-bit versions of Dragon NaturallySpeaking

    Recently, 64-bit PCs have been increasingly introduced to the mainstream personal computer arena, previously dominated by 32-bit systems. (In fact, the Microsoft Vista 64-bit operating system now ships on almost 1/3 of all new computers at some retailers.)

    The benefit for PC users is that 64-bit versions of the Windows operating system can utilize more memory than 32-bit versions of Windows. In addition to overall program performance, 64-bit PCs can offer added responsiveness when running a lot of applications at the same time.

    This higher level of performance is exploited by a new 64-bit version of DNS.






    Thursday, April 23, 2009

    Data Envelopment Analysis and Electronic Health Records

    Evaluating the efficiency of an interconnected electronic health information infrastructure

    We are moving toward the creation of a nation-wide interconnected electronic health information infrastructure whose primary goal is to provide better healthcare. At the same time, many regional health care organizations are only now adopting electronic health record systems. And, close by, vendors and other entities of all sorts are vying for influence over these advances.

    Throughout this many-player process, it is imperative that healthcare organizations give value in return for the money they receive from the government and others and that businesses remain competitive. To understand the results of the enormous investments that are being made in the new electronic health information infrastructure, continuous measurement of the key variables is essential.

    Every organization has a lot of information about its operation or has the ability to gather such information should it choose to. The problem is making good use of this information. Purely financial measures of performance are insufficient to ensure long-term improvement in healthcare. This is where Data Envelopment Analysis (DEA) can help. It's a mathematical technique that combines traditional performance ratios into a single efficiency score. That is, DEA, unlike many other quantitative methods, does not rely on a single criterion for measuring performance.

    Furthermore, DEA tells you where an organizational unit can improve, based on the performance of its peers (see "A composite hospital - dual prices" below). Since it is a peer based comparison, the targets set for improvement are realistic and, therefore, more likely to be achieved. So, using DEA to compare the efficiency of a large urban teaching hospital with a small rural private practice -- apples with oranges -- would be an inappropriate use of this method.

    DEA can be applied either spatially or temporally: i.e., at a single instance of time, it can be applied to compare the efficiency of distinct organizations (or systems) or, at different points of time, it can be applied to a single organization (or system). In the case of a system that’s still largely on the drawing boards, e.g., the nation-wide electronic health information infrastructure, initial comparisons need to be made among computer simulations of the different proposed solutions.

    As the simple example that follows will illustrate, DEA can help you get a good overall picture of your organization's performance and where potential improvements might be made. However, as anyone reading this post already knows, the terrain in which DEA operates is very complex.

    Linking Patient Records is currently being handled by different organizations in different ways. For example, in Massachusetts, MA-Share is using a federated architecture, with a shared record locator service (RLS). In California, the Mendocino HRE uses a brokered architecture with mirrored data at a central HRE. And in Indiana, IHIE is using a central data repository with standardized data.

    The figure below serves to illustrate the three models. Furthermore, each of these groups employs different standards, software preferences, etc., which adds complexity when it comes to one of these groups interoperating with another.



    Achieving an efficient interconnected electronic health information infrastructure requires the collaboration of individuals from many disciplines. My reference section below reflects this by citing the application of DEA to the optimization of computer networks in addition to the outputs of hospitals and physicians.


    The nation-wide electronic health information system will be established by interconnecting a large number of preexisting regional systems, including many of the kind shown in the figure above, plus another large number of heretofore all-paper-record-keeping organizations. DEA methods may be applied to any and all of these, as long as you avoid comparing apples with oranges .

    As a standalone system evolves, you should compare its sole performance before and after changes are made. Similarly, as individual systems join a national (and, perhaps, eventually, an international) grid, you need to compare their performances before and after they do so. The obvious question is which metrics should be tracked and included in the analyses. This is a very big question and far beyond the scope of this post. To illustrate how DEA works, however, I'll proceed with a simple example.

    Consider a group of three hospitals. To simplify matters, assume that each hospital "converts" two inputs into three different outputs. The two inputs used by each hospital are

    Input 1 = capital (measured by the number of hospital beds)
    Input 2 = labor (measured in thousands of labor hours used during a month)

    The outputs produced by each hospital are

    Output 1 = hundreds of patient-days during months for patients under age 14
    Output 2 = hundreds of patient-days during months for patients between 14 and 65
    Output 3 = hundreds of patient-days during months for patients over 65

    Illustrative inputs and outputs for these three hospitals are given in the table below.



    The efficiency of hospital x = value of hospital x’s outputs / cost of hospital x’s inputs

    From here, the math and theory get rather complicated.

    Software solutions

    Fortunately, there are computer programs -- some free, others not -- that can help you with all of this. Most of the general-purpose mathematical optimization software can be adapted to solve Data Envelopment Analysis problems. In addition, there are several DEA-specific programs that provide a variety of interesting facilities.

    For a technical introduction to DEA, the following two videos

    Data Envelopment Analysis 1
    http://www.youtube.com/watch?v=xjECr9dveKk

    Note: this video starts off referring to "the efficient frontier." For a review of this concept, you might take a look at my article “Capital Budgeting: Managing Efficient IT Project Portfolios,” which I cite in the bibliography at the bottom of this blog.

    and

    Data Envelopment Analysis 2
    http://www.youtube.com/watch?v=eBx9iZPc4i8&feature=related

    plus

    a brief white paper that explains how DEA can help you get a good overall picture of your organization's performance and where potential improvements might be made http://www.banxia.com/frontier/pdf/FA_InUse.pdf

    may be helpful.

    Breakups or mergers

    The Options For Clinical Data figure above shows three of the many different ways in which individual silos of clinical data can be distributed; i.e., broken up or merged. The decision on which architecture to adopt is based on considerations of security, privacy and many other factors.

    With DEA, you can evaluate the performance of a silo and one or a combination of a few other silos. Such a comparison can indicate whether or not a breakup or merger of units needs to be considered. The scope of this kind of analysis may be limited by many factors, not the least of which is the degree of cooperation forthcoming from those who control the individual components of the overall system. Thus, sometimes breakups and mergers are not an option, even though DEA indicates there might be benefits from a breakup or merger.

    If the output bundles produced individually by two hospitals (or other units) can be produced more efficiently together by a single hospital (or other unit), there is an efficiency argument in favor of merging these two units. Similarly, in some cases, breaking up an existing hospital (or other unit) into a number of smaller units would improve efficiency.

    Attaining technical efficiency ensures that a unit produces the maximum output possible from a given input bundle or uses a minimum input quantity to produce a specified output level. Full economic efficiency lies in selecting the cost-minimizing input bundle when the output is exogenously determined (e.g., the number of patients treated in a unit) and in selecting the profit-maximizing input and output bundles when both are choice variables, as in the case of a business firm.

    A composite hospital - dual prices

    DEA analysis reports typically have a column entitled "Dual prices" that can give you great insight into Hospital 2's (or any organization's found inefficient by DEA) inefficiency.

    After running a DEA analysis on the data in the table shown above, you would be inclined to create a composite hospital derived from the model that's made out of, say, 26.1 percent of the input level used by hospital number 1 and 66.1 percent of the input used by hospital number 3. If it were then found that the composite hospital uses "a" capital and "b" labor (with a or b lower than the corresponding amount required by Hospital number 2 and the other of these two variables no larger than its corresponding amount) to achieve the same level of outputs achieved by hospital 2, you could use these numbers as performance targets for hospital 2.

    Bottom line: Dual prices can sometimes find a composite hospital that is superior to an inefficient hospital and where the origen of this inefficiency arises. Breakups and mergers aren't the only options.

    In the news: The Johns Hopkins Health System Corporation has recently aquired Suburban Hospital in nearby Bethesda, MD, converting it into a Hopkins subsidiary. With its new association with an information technology-, medical- and management-savy institution like Johns Hopkins University, Suburban Hospital is now well positioned to participate in the development of the coming nation-wide interconnected electronic health information infrastructure.

    References

    This is a big topic and can only be handled by teams of experts who understand the complexities of the medical, financial, management and political issues involved! However, for anyone interested in more information on DEA (in addition to the two videos and the white paper cited above), consider these additional, albeit much more sophisticated, sources:

    For examples using DEA in hospital and physician evaluation, see Chilingerian, J.A. (1994). Exploring why some physicians' hospital practices are more efficient: Taking DEA inside the hospital, in Charnes, A., Cooper, W.W., Lewin, A.Y., and Seiford, L.M. (Eds.), "Data Analysis: Theory, Methodology, and Applications, Boston: Kluwer Academic Publishers; Sherman, H.D. (1988). "Survive Organization Productivity." The Society of Management Accountants of Canada: Hamilton, Ontario.

    and

    Since Information Technology has a good deal to do with determining the overall efficiency of an interconnected, electronic health information infrastructure, some readers might also be interested in Medhi, D. and Ramasamy, K. (2007). "Network routing: algorithms, protocols, and architectures." San Fransisco: Morgan Kaufmann. In section 7.7, DEA is applied to the problem of finding the best topology for a computer network.

    and

    Comparing Performance with Data Envelopment Analysis
    http://www.lindo.com/downloads/LINGO_text/Chapter14.pdf

    and

    A DEA tutorial
    http://www.deazone.com/tutorial/index.htm

    Tuesday, April 14, 2009

    Electronic Health Records (EHR)

    The health information technology provisions in the Obama administration's stimulus bill are a step toward the goal of nearly universal electronic health record adoption in the U.S. over the next 10 years (compared with 17 percent today). The central feature of the plan is incentive payments for using electronic records for improvements in health quality, efficiency, prevention and safety.

    This kind of spending, if done wrong, can have the negative market consequence of interfering with rapid innovation by locking in today’s processes and technologies, which although well-intended, came about without a systemic view. And we risk locking out the very innovations we need for meaningful health information sharing to support better decisions.

    The goal for health IT should not be primarily the creation of standards or the certification of software. Rather, standards and certification should support measurable health improvements. Health improvements are not achieved by the mere installation of software; they are achieved through the effective use of information for better decision-making.

    At the same time, individual states -- for example Massachusetts, which has a newly passed law that requires hospitals and community health centers in the state to implement an electronic health record systems by Oct. 1, 2015 -- have also been moving to improve the delivery of better health care through the use of EHR.

    To implement these programs, the healthcare industry seems poised to increase the adoption of EHR and electronic transmission standards to promote accuracy, transparency, and processing speed across disparate information systems. Today, they have a smorgasbord of health information technologies available to help them build a far better health system.

    There are, in fact, too many standards and too many organizations writing them. There are the standards that support the systems we have in place today as well as the XML/Web-based standards that support newer web-centric systems and healthcare information exchanges.

    While creating EHR data is an important first goal, an EHR is much more valuable if it can be summarized, moved, and shared. This and future posts will address EHR in that broader context. These discussions will address many technical, clinical, economic, political and managerial issues of electronic health record systems.

    Perhaps the most difficult challenge is to bind the standards to structured vocabularies to ensure that there is the transfer of unambiguous knowledge of the meaning of the data among cooperating systems.

    Before I get specific (sometimes talking about tools to facilitate implementation of these systems), I want to point out that building technology on U.S. standards alone would leave us with essentially a non-standard EHR platform. Remember that other countries, for example Canada and England, have single-payer health systems, while the U.S. does not.

    A look back to before the PC, the Internet and all that

    And, before looking ahead to how Electronic Health Records of the future will likely work, I thought I'd also display a pulmonary function test report produced at Yale New Haven Hospital (YNHH) several decades ago. While its underlying data (held in a PDP-8 computer) could be transmitted electronically -- analog modem to analog modem -- over a 128 bits/sec telephone line connection, these paper reports were generally sent from the laboratory where they were generated to the office of a YNHH physician via inter-office mail or to an outside physician via the U.S. Postal Service.



    Computer-generated paper report: This photograph was produced by a Poloroid instant camera that was suspended over the front of a cathode ray tube (CRT). The CRT, along with a teletypewriter, provided human readable output for the PDP-8.

    In subsequent posts, I'll include talk about safe wireless practices, Web services and other seemingly off-topic subjects, because they too are important parts of the EHR story.

    Interoperability will be among these topics. The linking of vital information as patients receive care from a fragmented healthcare system is a problem that has consistently plagued interoperability efforts in healthcare. The privacy, technical, and policy issues involved need be addressed in order to effectively share information across multiple organizations. Making the information available will help to prevent drug interactions and adverse events, avoid medical errors, and help inform decision making for the patient and clinician. It will also enable the support of public health efforts, improvements in research, better physician and organizational performance and benchmarking, and greater empowerment of patients and families as active participants in their own healthcare, among other benefits.

    In discussing these issues, I will sometimes cite my earlier writing on financial, legal and organizational issues that appears in articles available through links provided in my bibliography at the bottom of this page.

    Finally, this might be a good time to introduce a few technical terms: HL7, HL7 mapping, HIPPA etc. They're central to the discussion of IT health records management.

    Health Level 7 (HL7)

    HL7 refers to both a standards organization and the set of healthcare messaging standards that it creates. Founded in 1987 to create a set of standards for hospital information systems (HIS), HL7 has expanded its reach to the creation of international standards that transgress hospitals to address clinical and administrative data in healthcare domains such as pharmaceutical, medical device, and insurance transactions. There are already a large number of countries that have mandated the use of HL7 for the transmission of healthcare data and there is an expectation that HL7 will become a part of the United State's Health Insurance Portability and Accountability Act (HIPAA) in the future.

    For the large number of international healthcare organizations that are embracing the electronic transmission of healthcare data, there remain some formidable challenges. Though some compliance regulations specify the newer, XML-based HL7 v3.x, there are many jurisdictions that still need to update their legacy systems to handle this format, and many that even have multiple disparate data formats in the same system.

    In the US, for example, many legacy HISs employ HL7 EDI messages alongside HIPAA X12N messages. Though these formats have quite a lot in common, syntactically speaking, they are by no means interoperable and must be mapped on-the-fly to create a dynamic workflow for managing healthcare transactions. Of course, the introduction of the XML-based HL7 v3.x adds EDI/XML mapping to the complication of mapping data from EDI to EDI.

    HL7 mapping

    There are off-the-shelf, any-to-any graphical data mapping tool (e.g., Altova MapForce) that supports mapping HL7 data, in its legacy EDI or newer XML-based format, to and from XML, databases, flat files, other EDI formats, and Web services. Mappings are implemented by simply importing the necessary data structures (MapForce ships with configuration files for the latest EDI standards and offers the full set of past and present HL7 standards as a free download on its Web site) and dragging lines to connect nodes. A built-in function library lets you add advanced data filters and functions to further manipulate the output data. MapForce can also facilitate the automation of your HL7 transaction workflow through code generation in Java, C#, or C++ and an accessible command line interface. Additional support for mapping HL7 data to and from Web services gives healthcare organizations the ability to meet new technology challenges and changing enterprise infrastructures as they unfold within internal and external provider domains.

    Friday, April 3, 2009

    Website and Supermarket Optimization {there are similarities and differences}


    The relatively new field of Website optimization uses specialties such as statistics, user experience testing, and cognitive psychology to get visitors to convert (i.e., do what you want them to do, once they've landed on your site). I talk about these topics in my recent article Statistical and Financial Considerations in Website Optimization. There's a link to it at in my selected bibliography at the bottom of this blog, for anyone who's interested.

    The optimization of Websites and supermarkets are both data driven tasks and both have the same goal: to capture visitor/customer activities in your Website/store and transform data about these behaviors into actionable management information.

    Before getting too caught up in the art and science of Website optimization, it might be useful to pause for a moment and review some of the widely-used practices for in-store marketing and layout. As you do so, try to see the rather conspicuous parallels between what we do (as outlined in my article) and what they do (as outlined below).

    But, remember that unique differences exist between how internet and brick and mortar channels can and do make money. For example, search engines like Google, Yahoo and Sphere help Website publishers to find stories by aggregating links to newspaper websites and blogs. In so doing, they wrest ad dollars from them that they think should be theirs. Not to mention the fact that, in so doing, these Websites are taking copyrighted material. Option like this are clearly not available to brick and mortar stores.

    Note: The Associated Press and its member newspapers will take legal action against Web sites that use newspaper articles without legal permission, the group said recently, in a clear shot at aggregators like Google.

    From a consumers point of view, a supermarket is quite simple; Put what you want into your cart and go through the check-out. Behind the scenes though, psychology is used a lot to define what products and brands you buy in supermarkets. Stands are designed to catch your eye and the store layout is structured to maximize profit.

    Eye level marketing

    Generally speaking, the most expensive items with high profit margins are placed on shelves that are at shoppers' eye level. Statistics show that you are more likely to see them than the less profitable brands at the very top or near your feet.

    Aisle order

    Some customers, particularly men, tend to simply shop for what they want, walking down an aisle grabbing what they want, turning back and walking the way they came, this is called the 'Boomerang Effect'. In order to maximize shopper and produce contact time, markets therefore place major items and brands in the middle of aisles ensuring that from any direction the customer doesn't have to walk the farthest to reach them.

    Product grouping

    Items that complement each other are often found close together to entice you to buy more. You'll often find pasta sauces on the same display as a featured brand of pasta.

    Food smells make you feel hungry

    Another tactic supermarkets use is the smell of freshly baked bread coming from the in-store bakery. The smell of warm bread makes people feel hungry. When you feel hungry while shopping you are more likely to buy additional items. Most Supermarkets bake their bread early in the morning; however, to entice more customers, some have resorted to pumping out the smell of fresh baking bread to add to the illusion that it is constantly baked through the day.

    Essentials at the back

    Supermarkets hit upon the idea of placing the essentials, such as bread and milk, at the back of the store. This is in order to make people have to walk past the rest of the produce, and heighten the possibility of impulse buys, in order to get their necessities. (Changing rooms in clothes stores are almost always situated at the rear of the store.)

    Attracting children

    One American supermarket chain came up with the idea of drawing a hopscotch in the aisle next to the children's cereal in order to make the children play and thus pin Mom & Pop to a point where the children could hassle them for treats.

    Irrational Pricing

    Irrational pricing is putting the price of items at say 4.99 instead of 5. The reason offered for not instead rounding $4.99 to $5.00 is based on memory processing time. Rounding upward involves an additional decision compared with storing the first digits. Furthermore, due to the vast quantity of information available for consumers to process, the information on price must be stored in a very short interval. The cheapest way to do so, in memory and attention terms, is by storing the first digits. Therefore customers perceive to be getting a better deal than they in fact are.

    Point Of Sale

    While you are waiting to pay, retailers often install Point Of Sale displays, this is especially prevalent in Supermarkets who install racks of chocolate to tempt bored children waiting with their parents.

    Shuffle and Time

    Many stores have a policy of regularly rotating the stock. This happens especially in supermarkets where people regularly shop for the same items. The idea obviously is to confront customers with a variety of items aside from their regulars and encourage them to explore areas of the store they may not usually visit.

    The longer customers spend in a store the more money they are likely to spend there. Therefore stores work to make sure customers have to spend the maximum amount of time in their stores, placing obstacles constantly in the way of efficient shopping.

    Newer areas where a lot more research is needed

    In the UK, the British buy almost two-thirds of their wine from supermarkets; and more than a third of all wines sold in America are purchased at grocery stores, even though only 33 of the 50 US states allow supermarkets to sell wine. Wine is now the largest supermarket category in New Zealand and supermarket sales represent around 60 per cent of total wine sales.

    As with any product promotion, there is no 'one solution' for supermarket wine departments. Unlike staples such as milk or eggs, wine is a luxury item (although many will beg to differ). This is the first hurdle for retailers. The difficulty of overcoming this hurdle varies from region to region. Additionally, retailers must decide how much effort and expense to invest in this part of their store. Decisions on these matters must also take into account the local competition, be it a wholesaler or a new chic wine boutique. First and foremost, know your customers.

    At the end of the day, basic marketing principles will sell more wine than the most experienced supermarket wine steward. The longer customers stay in the wine department, the more likely they are to make a purchase. That can be encouraged by a tasting, music, or warm lighting. One Piggly Wiggly supermarket in Wisconsin features an expansive wine and spirits department that replicates a speciality wine cellar complete with wood shelving with a library ladder and an extensive walk-in cooler. Music can help in more specialist sales settings. Research at Leicester University showed that French music played in a supermarket's wine aisle boosted sales of French wines. The following day, German folk music led to German wines flying off the shelves.

    Here, as in Website optimization, there's no substitute for subject matter expertise!

    Friday, February 27, 2009

    Website Optimization & Analytics

    .


    Your Web site, some ways people access it, and a couple of .......... tools you can use to optimize its performance.

    For a long time, the only solution to make websites appealing and "sticky" was to rely on gurus (web designers who were just supposed to know the "right" answers). But what if the guru made a mistake or did not take into account all the variables and created less-than-optimal pages? The potential loss of not optimizing a landing page may be staggering.

    You want to deploy Web pages that fulfill a business purpose. Your goal might be selling your product (at a profit!), distributing information (such as newly legislated prerequisites for obtaining a driver license), gathering information (such as the demographics of potential customers) from an on-line form that doesn't turn people away because it's too complicated or intrusive, etc.

    The question is what do you put on your page(s) to achieve your goal(s)? You could decide on your own or together with a team of in-house experts and hope for the best. Or you could throw the process of Website design open to the world of users beyond your firewall. In doing so, you would be democratizing the process by letting the public tell you, through their actual behavior, which of a number of possible designs gets them to use your Web page(s) in the way that you had hoped they would. As pointed out in a fairly recent New York Times article, the latter approach has now become main stream.

    I've chosen Google Website Optimizer (GWO) - in part because it's free - to try different layouts, alternate content, new buttons, and even new colors through multivariate testing and split A/B testing without making permanent changes to my site. Better yet, my visitors themselves ultimately determine which combination of site elements cause them to perform the actions I desire such as filling out a form, adding an item to the shopping cart, or taking the big plunge to enter their credit card.



    The Combination Report of Website Optimizer

    A combination report will show the performance results for all of the page combinations made from the page section variations you created for your experiment. By seeing how well a particular combination performs in comparison with the original and the other combinations, you can choose the most successful one to improve your business.

    GWO's intuitive reports (like the combination report shown above) allow even the mathematically-challenged to quickly and easily identify and implement the best combination. My article Statistical and Financial Considerations in Website Optimization is aimed at those who want to go beyond the, albeit powerful, analyses that are possible using GWO alone. In this article, I export raw data from the Combination Report and discuss using an offline statistical analysis on it, as outlined in the block diagram at the top of this post.

    Click on the images above to see larger views.





    Hover your cursor over a video to gain play-pause and forward-back