Data Models: The DNA of a Software System
Of all the business architecture and IT resources out there, a data model or an information model has the most valuable treasure of information about how an organization works and what data it needs to function. In it are the crucial aspects of data and structure needed for decision making, servicing customers, and achieving the organization's mission. Just as one can construct a visible model of an airplane, a data model shows the logical relationships between the major categories of information (classes) in a system. As usual we will turn to Wikipedia for a definition which says a model is a "...a description of the objects represented by a computer system together with their properties and relationships." Source: Wikipedia Entry for Data Model.
Well unless you have designed computer software systems before, that might not tell you too much at first glance. But the distilled essence of the specific nature software system's data is contained here in a way which is independent of any one piece of computer language or computer hardware. That is why I compare a data model to the DNA of a creature. Well just as DNA spells out genes and then chromosomes, The individual data elements are used to spell out the general categories or classes of data and their more finely defined derived classes (children).
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 FHIMS.org 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 http://www.fhims.org. 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.