Eclipse MDHT delivers a standard object-oriented alternative to proprietary development methodologies and tooling used to specify and implement most healthcare industry standards. There are three primary categories of users for MDHT tools: authors of healthcare industry interoperability standards, certification or testing authorities who validate that an Electronic Health Record (EHR) system produces XML or JSON files that comply with the standard, and software developers that implement adapters or applications that produce and consume healthcare data. MDHT defines healthcare-specific UML profiles to specify the interoperability standards and delivers model editing tools that are optimized for clinical informatics users, including a customized interface for the UML profile extensions. MDHT also delivers UML publishing tools that are used to generate specification documents that are ready for submission to standards organizations. Finally, the tooling includes model transformations that leverage EMF and OCL to generate Ecore models and Java code used by healthcare implementers.
What makes healthcare information models different? Why don't we simply use general-purpose UML tools?
Constraint-based modeling approach
- Most healthcare standards create a base "reference model" and then define templates/profiles/archetypes with lists of constraints on a class from the reference model. For example, in the C-CDA implementation guide, a Vital Sign template includes constraints on the base CDA Observation class. We model this template using a UML subclass, but many constraints cannot be represented using standard UML, especially terminology constraints for coded attributes.
- Creating clinical information models usually involves searching very large and complex terminology systems (i.e. ontologies) such as SNOMED CT or LOINC, creating or evaluating value sets of terminology codes, and assigning these as constraints on attributes in a UML class. MDHT includes specialized editing tools for using these terminology systems, and transformation to runtime Java libraries that support application developers and constraint validation.
Users of modeling tools are often clinical informatics specialists, not familar with UML or software engineering
- The modeling tools must enable users to edit and review clinical information models, with terminology value set constraints, while remaining focused on the clinical content and not overwhelmed by model formalisms.
Generate domain-specific Java classes for templates/profiles/archetypes
- For example, generate a VitalSign class for implementers, but serialize/deserialize XML or JSON instance data that conforms to the base reference model schema type for CDA or FHIR Observation.
- Annotate the generated Ecore model to enable customized serialization and deserialization of instances, and validate that instances of the base reference model satisfy constraints indicated by the assigned template ID.
From April 12th, 2016 to April 12th, 2016