The ongoing COVID-19 pandemic and the tragedies that have occured (and still occuring) have helped highlight the need for more timely exchange of critical healthcare related information for governments, health agencies, care providers and patients around the world. For many decades, the healthcare community has been at the forefront of standardization efforts for information exchange through the use of communication protocols such as HL7 and DICOM, and has worked hard to promote the use of these standards worldwide. However, the recent experience only highlights the fact that more opportunities exist to help achieve even more synergies and efficiencies in the information exchange processes that need to occur between various systems involved in the overall process of planning, administering, receiving and monitoring of all healthcare-related activities that are operationalized at any moment.
“Where, after all, do universal human rights begin? In small places, close to home – so close and so small that they cannot be seen on any maps of the world. … Unless these rights have meaning there, they have little meaning anywhere. Without concerned citizen action to uphold them close to home, we shall look in vain for progress in the larger world” ~ Eleanor Roosevelt
Although I have been blogging about these standards from a software development perspective for many years, I feel that a higher level of urgency is needed now to help increase awareness of healthcare information standards for software developers and others in the IT community who are either getting started in the field or simply curious. I hope those of you that stumble across these articles on my site find them useful in some way to get started or perhaps sharpen your skills in areas that you may have had some exposure to already. With more brains collectively working on the many challenges and the opportunities for improvement that still exist in the healthcare informatics area from around the world, we can hopefully look past the sufferings, learn from any mistakes made, and dream of safer and healthier societies in the future for ourselves as well as others like the elderly and our young ones.
My DICOM and HL7 programming tutorials on this site (see links below) are aimed at beginners starting in this area covering examples of implementation using both C# and Java programming languages using some open source libraries available on the Internet. As the use and popularity of some of the libraries that I have used in these pages have changed over the years (and will likely continue to change), I try to keep them updated when I can. Whenever or wherever that is not the case, I hope these examples still manage to convey the "theoretical minimum" and the core concepts of these standards for one to get started in this area as the standards don't change drastically too often. With that said, let us look at what thee tutorials are about.
HL7 is a family of cooperating standards which collectively help provide a set of organizational frameworks and guidelines to help in the design, implementation, administration and operationalization of systems that perform healthcare-related information exchange in an electronic format. The various standards contained within the larger HL7 umbrella (such as V2, V3, FHIR, CDA, etc) help define how patient care and any care provider-related information is communicated between the various parties involved. Kmowledge of these standards is vital to enable these disparate parties to exchange timely and critical healthcare data using standardized data types and a structured vocabulary set needed to achieve seamless integration between the various electronic health systems involved. My HL7 Tutorials should take someone with a background in any object-oriented language (C# or Java is preferrable) and illustrate how the static as well as runtime behavior of systems built using the HL7 standard will look like. Please note that some articles are still in progress, and I have been working through them slowly over the years.
DICOM is a healthcare standard responsible for governing nearly all aspects of medical imaging such as image transmission, image interpretation, print management, procedure management and off-line storage, and is used in nearly all healthcare-related imaging “modalities” such as magnetic resonance, nuclear medicine, computed tomography and ultrasound. Nearly all clinical imaging workflows around the world are based on the DICOM standard. Learning this standard is vital if you work or want to work in the healthcare informatics industry.
“Live in the present and shape the future, do not be casting lingering looks to the distant past for the past has passed away, never again to return.” ~ Subramanya Bharathi
My DICOM Tutorials are a series of short and focused articles aimed at someone who is starting with DICOM and wants to understand the theory by relating to some practical code examples. DICOM is an extremely large standard (some 6000 pages and growing each day) and is intimidating even to those who work with it on a daily basis. My tutorials are an attempt to provide a "digest version" of the many areas in the standard. These articles do not require any prior healthcare background or knowledge from the readers. Only a background in any object-oriented programming language such as C#, Java or C++ is required. Like my HL7 tutorials, some articles are still not complete and I have been working on them slowly over the years, learning those parts of the standard deeply as I go on a journey myself.
I want to make a disclaimer about these articles and the information contained within them. I do not serve on either the HL7 or DICOM standards committee. You must ultimately refer to the standards themselves and their latest recommendations before starting any project involving these standards. Wrongly interpreting these standards can lead to serious health consequences for the patients, reputational risks and financial liabilities for any care givers and organizations involved. For more information about the DICOM standard, you can visit its main site here. The HL7 group's main site or your local HL7 chapters located around the world should help you obtain more information regarding the HL7 standard.