Tuesday, January 29, 2008

Health Care : HL7 Standard

" Health Level Seven (HL7), is an all-volunteer, not-for-profit organization involved in development of international healthcare standards. “HL7” is also used to refer to some of the specific standards created by the organization (i.e. HL7 v2.x, v3.0, HL7 RIM etc.).

HL7 and its members provide a framework (and related standards) for the exchange, integration, sharing and retrieval of electronic health information. "

- Wikipedia

HL7 is a standard for Medical Applications to exchange information.

The Health Care industry segment is divided into many domains such as patient care, laboratory information systems, etc. The HL7 standard enforces a consistency of stored and shared information across many domains in Health Care.

The HL7 standard is continously being developed and enriched with new ideas. The HL7 committee has released six versions of the HL7 standard ( collectively called as HL7 2.x ) :
  • 2.1
  • 2.2
  • 2.3
  • 2.3.1
  • 2.4
  • 2.5
Hl7 2.x is the first widely accepted and commercially successful standard. HL7 v2.x mostly uses a proprietary (non-XML) encoding syntax based on delimiters.

HL7 3.0 is a complete rework of the HL7 standard. HL7 3.0 is an attempt to overcome some of the issues with HL7 2.x. XML is medium for exchange of HL7 messages instead of the simple ASCII text that HL7 2.x used.

The basis of HL7 v3.0 is a model called the Reference Information Model ( RIM ). RIM is an attempt to further standardize the HL7 specifications between health care systems.

The differences between HL7 2.x and HL7 3.x are :-

HL7 2.x

  • HL7 2.x is the most popular and the most widely implemented HL7 standard in the US.
  • HL7 2.x does not have a common information model that spans all Health care domains-of-interest.
  • HL7 2.x does not have a robust data type specification.

HL7 3.x

  • HL7 3.x is based on the RIM and attempts to bring consistency across the entire standard.
  • HL7 3.x defines a common information model based on the RIM.
  • HL7 3.x defines a data type specification.
  • HL7 3.x is NOT backward compatible with HL7 2.x.
HL7 V2 is focussed on the exchange of clinical clinical data between applications. However, HL7 V3 is influenced by dedicated people who focus on how health care information is created & how it can be modeled.

HL7 v3.0 is a dramatic shift from HL7 2.x and introduces a lot of new concepts.

Health Care : Stakeholders interested in EHR

A Patient's EHR is of great interest to many stakeholders in the Health Care Industry. Each Stakeholder is interested in different aspects of a EHR.

The important Stakeholders in the Health Care Industry are :-
  • Patient
  • Providers
  • Payors
  • Suppliers
  • Academic Centers
  • Government
The interests of these Stakeholders vary - however, the source of information that will validate their assumptions and provide factual data is the EHR.

The primary interests of these Stakeholders can be summarized thus :-

  • Patient : too understand the nature of the current ailment
  • Providers : the understand the Medical History of the patient.
  • Payors : Insurance Companies, etc.
  • Suppliers : to understand the current supply / demand for Drugs, etc.
  • Academic Centers : to understand the current trends in the field & research.
  • Government : to understand the overall health status of the citizens in the country.
E.g; If a patient is admitted to a new Hospital, the doctors would definitely be interested to know the Medical History of the patient & the treatment administered by other Providers.

Hence, it is important that the EHR follow a standard. The standard should allow the Stakeholders to query the stored information or a subset of the information.

The standard for the EHR should address consistency in two areas :-

1. Storage of the data
2. Retrieval of the data ( entire data / a subset of the data ).

Health Level 7 ( HL7 ) is an international standard for storing and sharing clinical Health Information. HL7 is used to exchange EHR information as well as many other details across various Health care domains.

Health Care : Patient and Medical Record

The Health Care Industry is centered around the services that can be offered to a Patient. Patients and their Health Records offer tremendous insight into Medical Histories and is of great interest to many Stakeholders.

A Patient is a person in need of Medical attention. The Medical attention could be care and treatment.

The outcome of the Medical attention is :-

1. a Medical Record
2. a Bill for the offered Services.

The Medical Record is a documentation of :-

1. Observations made by the attending Medical Professional.
2. Recommended Scans to study the problem further.
3. Recommended care / Treatment.

A collection of Medical Records is the Medical History of the patient. However, the term "Medical Record" is also used interchangeably to include the Medical History ( Health Record ) of the patient.

An Electronic Medical Record ( EMR ) is a Medical Record in digital format. An EMR contains patient information from a single Health Care Provider ( a Doctor, a Hospital, etc. ).

An Electronic Health Record ( EHR ) contains patient information from multiple Health Care Provider ( Doctors, Hospitals, etc. ). Hence, an EHR can be considered as a collection of EMRs ( this is my view of EMR and EHR ).

Hence, a Health Care Provider contributes vital information about a Patient in the form of an EMR. The EMR in turn forms a vital component of a Patient's EHR.

Health Care : What is Healthcare

" Health care, or healthcare, is the prevention, treatment, and management of illness and the preservation of mental and physical well being through the services offered by the medical, nursing, and allied health professions. "


- Wikipedia

I wanted to write about IT in Health Care and my understanding & views. I use the Health Care category in my Blog to categorize my learning & organize it.

I have miles to go in learning an industry as exciting and diverse as Health Care - this section of my Blog is an attempt to capture my understanding and share it with the world.

Please do let me know your thoughts & perspectives on the topics I have shared here.


Monday, January 28, 2008

Network Troubleshooting - 2 : Check the Adapters

Check the Network Card.

A network card, network adapter, LAN Adapter or NIC (network interface card) is a piece of computer hardware designed to allow computers to communicate over a computer network.



A Network card allows you to send / receive messages to / from other computers in the same Network. Hence, the next obvious checkpoint is the Network Card.

You can use the simple PING command to ensure that the Network Card is working as expected. You just need to open a Command Prompt ( Terminal in LINUX ) & type :-

ping localhost

You should see a reply from the Network Card like this :-

Pinging sandeep-personal [127.0.0.1] with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time 1ms TTL=128
Reply from 127.0.0.1: bytes=32 time 1ms TTL=128
Reply from 127.0.0.1: bytes=32 time 1ms TTL=128
Reply from 127.0.0.1: bytes=32 time 1ms TTL=128

If you don't get this response, you can conclude on these :-

1. The Network Card is not properly installed.
2. The Network Card is not properly configured.
3. The Network Card is no longer functional.

Now, it's time to call up the IT Help Desk & tell them that there's a problem with the Network Card.

At the end of this exercise, you have :-

* tried some basic troubleshooting steps.
* identified the source of the problem.
* communicated effectively to the IT Support Staff.

You can now confidently communicate with the IT Support Staff & they'd be more than happy to work with an "educated" colleague.

Friday, January 25, 2008

Network Troubleshooting - 1 : Check the Cables

Check the Cables !

Yes, the most simplest method is toe check if Network Cable is properly connected to the computer.

Here's a small Checklist that I use :-

* The Network Cable is connected correctly to the Network Card (usually, rear of the Computer)
* The Network LEDs are flashing green - continuous or blinking.

If any of the above are not correct, I am sure there's something wrong with connection. If the Cable is connected correctly & your computer is still unable to get on the Network, you might want to try with a new Network Cable.

If it works - you have solved the problem :)

If you don't get this response, you can conclude on these :-

1. The Network Card is not able to get a signal from the Network.
2. The Network Card is not properly installed.
3. The Network Card is not properly configured.
4. The Network Card is no longer functional.

Now, it's time to call up the IT Help Desk & tell them that there's a problem with the Network Card.

At the end of this exercise, you have :-

* tried some basic troubleshooting steps.
* identified the source of the problem.
* communicated effectively to the IT Support Staff.

You can now confidently communicate with the IT Support Staff & they'd be more than happy to work with an "educated" colleague.

Network Troubleshooting - 0 : Need

A fairly good understanding of Networking concepts is important if your are working on a Multi-Tiered Distributed Project.

You could be working on JEE or any other Technology stack - without a basic understanding of he underlying network, you will frequently find yourself wondering why some of the components "don't talk to each other".

You need to have a basic understanding of the underlying Network, a few common problems & simple troubleshooting. It will help you articulate the nature of the problem to your Stakeholders & most importantly to your IT Help Desk Staff.

I also ask a few networking questions during my interview sessions to gauge if the candiate if aware of some of the basic facts.

I am definitely not an expert in Networking, but I would like to share some observations from my limited experience.

Thursday, January 24, 2008

EJB 3.1 : Formation of the Expert Group

The EJB 3.1 expert group is working on for the next version of the Java EE EJB specification.

EJB 3.0 brought simplicity to Java EE 5 by moving away from a heavyweight programming model. EJB 3.1 aims to build on those successes by moving further down the path of simplicity as well as adding a handful of much-needed features.

Here are a few interesting features :-

1. EJB Interfaces are Optional.
2. The Singleton Beans are Here
3. Support for direct use of EJBs in the servlet container
4. EJB Timer Service enhancements
5. Support for stateful web services via Stateful Session Bean web service endpoints.

Reza Rehman is one of the members of the EJB 3.1 Expert group. He has promised to write more articles in future regarding EJB 3.1.

You can get more information here :-

http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB3-1

User Requirements for User Interface Design

User interface is the face of your application & unless it thrills all the stakeholders, your Project is never going to be successful.

I often notice the same mistakes committed in User Interface Design at the early stages of a Project. Here are some of those "evils" :-

1. Scope : The Scope of the Project is usually not defined clearly & as a result, a lot of unwanted action items creep into the scope.

2. Ambiguity : Often, the lack of clarity in defining a particular requirement leads to multiple interpretations.

3. Assumptions : Often, the Developers assume things on the behalf of the Users. Again, this may lead to multiple interpretations.

4. StakeHolders : it's very important to involve all the Stakeholders in the Project ( Users, Managers, Developers, etc. ) early. Else, UI redesign might become the main focus of the Project !

Here are some thing that I do to capture the User Requirements ( on a Page/Page basis ) :-

1. Description
2. Trigger
3. Success & Failure Criteria.
4. Items on the page
5. Clairifications.