Data Models: The DNA of a Software System

Healthcare IT Interoperability

Of all the business architecture and IT resources out there, a data model or an information model contains vital information about how an organization works and what data it needs to function. Included in Data Models are the crucial aspects of data and structure needed for decision making, servicing customers, and achieving an organization's mission. A data model illustrates the relationships between the major categories of information (classes) in a system. According to Techopedia, “A data model refers to the logical inter-relationships and data flow between different data elements involved in the information world. It also documents the way data is stored and retrieved.” Source: Techopedia Entry for Data Model.
Unless you have designed computer software systems, that may seem confusing at first glance. It may be more intuitive to compare Data Models to the DNA of an animal. Just as DNA spells out genes and chromosomes, the individual data elements spell out the general categories or classes of data and, subsequently, their more finely defined derived classes (children).

Person Class Above you will see a picture from a data model of the person class. You will notice many lines radiating from the box that represents a person. These lines signify that a relationship exists between the person class and another class of data; such as a birth certificate.

In addition to showing relationships to other classes, a class is used to further describe more specific types of the class person. In healthcare some people are patients, some are doctors, some are nurses and others are lab techs. There are many subtypes of the class people based on what role they play in healthcare. Models show these various types. Any class that comes from another class is said to be its child. Not every class has actual corresponding items in the real world. They are used as concepts to describe categories of classes. For instance if you define a class called mammals, you can't look out the window and say "Hey, there goes a mammal!" It would have to be something more specific like a squirrel or a person or a dog. Mammal is a concept in biological taxonomy. One can not point to a living mammal that is not also some species of animal. In the same way, data models have concepts for purposes of categorization. In the model, above the class person, there is a class for living being called biological entity.

Data Models: The Value Proposition

The value in a data model is that a group of experienced people spent thousands of hours interviewing people, pouring over the data, functions, requirements, processes and the quirks of an organization. All of this information is stored symbolically in a model. A good model is a distillation of an organization. No one knows your company or agency like your data architect does. So every CEO needs to have a great relationship with the data modelers. Knowing why things are done in the way they're done will help the modelers improve your business processes as well. This is a means of driving efficiency and saving money in a business. Once you have the big picture, you can see clearly to eliminate unneeded actions or useless reports and other wastes of time.

The Federal Health Information Model is an effort to coordinate data models for the FHA partner agencies. The FHIM model may be viewed at The FHIM is a computationally independent information model.

The Challenges of Modeling

When modeling a system it always pays to define the time frame of the data in the model. Is it a model of the data you wish you had? Is it a model of what you have now? This scope needs to be defined ahead of time.  The tendency is to jump into modeling the future state of the system without knowing what you have and why.  

Model Driven Architecture: The Underlying Power

Underneath the symbols and lines of a model which has been developed in a good software tool lies a wealth of information. Other software tools have been developed to get at this metadata and automagically generate many possible results (artifacts) such as databases, software, and even XML transformations to migrate data in one model to another model and on to to other organizations.

More information