MITRE's 'Mini-CIMI' FHIR Profile: Skin and Wound Assessment, Release 1 (For Comment)

This is an experimental "Mini-CIMI" version of a Skin and Wound Assessment FHIR Implementation Guide, based on a simplified modeling strategy and Standard Health Record (SHR) base classes.

The Skin and Wound Assessment Demonstration Project

The Clinical Information Modeling Initiative (CIMI) is focused on creating logical models of healthcare information, independent of implementation technologies and patterns, decoupling clinical content from periodic changes in implementation technology. This Implementation Guide (IG) is part of a demonstration project showing how different groups, with different tools, approach CIMI modeling. To expedite comparison, each group has implemented the same Skin and Wound Assessment domain.

Since 2011, CIMI has worked on an approach to modeling clinical information. It has established a core object-oriented hierarchy that consists of over 200 base classes and datatypes, an architecture and methodology guide, tooling, repositories, and other artifacts for CIMI modeling.

Using CIMI to model a clinical domain such as Skin and Wound Assessment involves many modeling decisions, including:

  • How to factor the clinical domain into discrete pieces that map to particular CIMI base classes;
  • How to capture unique attributes of the domain by extending selected base classes;
  • How to combine the classes to create the desired domain objects (e.g., choosing the right topic and context classes to create clinical statements),
  • Deciding where to apply constraints on model structures: fixing units of measure, assigning concept codes, restricting cardinality, binding properties to value sets, and constraining the type of attributes;
  • How to fine-tune the logical model and mappings to obtain reasonable FHIR profiles (or other implementation artifacts);
  • How to partition the interconnected logical model to produce a modular implementation guide covering only the domain of interest.

In the author's experience, none of these steps are straightforward, even for CIMI experts. For reference, the author's experience includes creating a toolchain and domain-specific language for CIMI modeling, making dozens of contributions to the CIMI reference model, leading a CIMI/FHIR Connectathon track, creating ADL/BMM tools, etc. The author and his MITRE colleagues have used CIMI to produce several balloted FHIR implementation guides (including this one), for example, HL7 FHIR Implementation Guide: Breast Cancer Data, Release 1 - US Realm  and HL7 FHIR Profile: Occupational Data for Health (ODH), Release 1 (Standard for Trial Use). The author has also produced a “Full CIMI” version of the Skin and Wound Assessment Domain for this demonstration project. Nonetheless, the author still struggles with CIMI's complexity, and would therefore like to offer a potential simplification.


“Mini-CIMI” is an attempt to simplify CIMI modeling by reducing the number of modeling decisions and degrees of freedom involved in CIMI modeling. Mini-CIMI aims to increase the reproducibility of CIMI modeling, while making it possible for non-CIMI experts to create CIMI models. Mini-CIMI may seem reductionist, but it is reductionist with a purpose.

Mini-CIMI attempts to simplify the modeling problem by separating data standardization from data structure. It is an attempt to rationalize a world where some groups approach standardization through data element libraries, while others approach the same problem by building complex information models like FHIR, CIMI, V3, etc. In Mini-CIMI, data standardization happens on the level of “atomic” model elements, which are then combined into purpose-specific aggregations that address particular clinical workflows and/or use cases.


  • Mini-CIMI is an experiment, not a finished product.
  • Mini-CIMI is not a particularly original idea, borrowing from CIMI, ISO 11179 standard data elements, resource description framework (RDF), Intermountain Clinical Element Models, FHIR questionnaires, OpenEHR, CDA, and more.
  • Mini-CIMI’s simplicity is partly an illusion, because it doesn’t yet cover actions and the classes that do exist don’t have all the “bells and whistles” necessary for a full implementation.

The Basics

  • Everything in Mini-CIMI is a clinical statement (including entities like patients and organizations)
  • Each clinical statement includes the same set of metadata about the origin of the statement.
  • Each clinical statement is associated with a person of record.
  • Each clinical statement has a subject, which may or may not be the person of record.
  • A clinical statement asserting that something exists (or is present) is used as a proxy for the thing itself.
  • Things conventionally viewed as “properties” or “attributes”, such as the date of birth of a person, are represented as individual clinical statements. Gender, smoking status, address, even the street address part of an address, are all separate observations.
  • Every clinical statement carries a concept code from a formal terminology that identifies the type (model meaning) of the clinical statement. The class name is for convenience only and is never required to understand the clinical statement.
  • Clinical statements are immutable

There are four key types of clinical statement:

  • Observation: The Observation class represents a finding regarding an aspect or property of a subject.
  • ObjectPresentOrAbsent: This class represents a finding that something (a thing, process, condition, etc.) exists or does not exist, or is present or absent. For example, a person is a represented by this type of clinical statement, and so is a disease, a wound, and a wound tunnel. The statement that something exists, or is present, is a proxy for the thing itself.
  • RelationshipPresentOrAbsent: This class represents a finding that a relationship that exists, or does not exist, between two clinical statements.
  • Composition: Compositions are used to combine “atomic” clinical statements together into purpose-specific hierarchical aggregates, that are also clinical statements. For example, aggregate could be the model elements comprising a complete blood count, the model elements necessary for patient identification, the model elements necessary to determine patient eligibility for a clinical trial, or the model elements necessary to present to an oncologist prior to an initial patient meeting. Compositions can be used to describe data clinicians should or must enter, or data clinicians should view, or data that systems should exchange.

In addition, there are several convenience classes, such as CodedObservation, which is simply an Observation whose result is constrained to be a concept code. The full Mini-CIMI class hierarchy can be viewed here.

Mini-CIMI Applied to Skin and Wound Assessment

One of the key features of wound assessment is that one patient can have multiple wounds, each wound can have multiple tunnels, and each tunnel on each wound on each patient has a length. The “nestedness” has led to debates about what should be modeled as an assertion versus an observation, or an observation component, or a panel, or as a “sub-observation”. In a larger sense, the CIMI group has debated for a long time what the base class hierarchy should look like, and there are still significant disagreements. 

Mini-CIMI forces all models towards a canonical form, tolerating little variation, and thus sidesteps these debates. Furthermore, if users have different opinions on what information is needed or how it should be hierarchically arranged, they are free to create their own compositions, which can exist without conflict and still be perfectly interoperable at the information level.

Mini-CIMI detangles nested observations by requiring that each clinical statement name its subject. The subject is simply what object is being observed. For example, the subject of a “wound present” finding is a person; the subject of a wound size observation is a wound; and the subject of a wound tunnel length observation is a wound tunnel. Each subject (patient, wound, wound tunnel) is represented by clinical statement. In this design, each Observation is structurally like every other Observation, and all Observations are self-contained, independent statements – under the restriction that no Observation can exist without a Subject.

In Mini-CIMI, each class standardizes a single model element, in isolation from other model elements. For example, the wound length observation is standardized by virtue of having a certain LOINC code (39126-8), a certain data type (quantity with units cm), and certain subject (a wound). Thus standardized, the same wound length model element can be included in any number of purpose-specific compositions, exchanged in messages, or FHIR bundles.

For illustration, we have created several different (notional) compositions using the elements, one for patient review, one for assessment of an existing wound, and one for exchange; both hierarchical and flat.

Based on the Skin and Wound Assessment results presented here, Mini-CIMI does not appear to compromise expressibility, even though the models are cookie-cutter (cookie-cutter being a huge positive in this context). As noted above, Mini-CIMI does not yet address Actions, since Actions were not required in the Skin and Wound Assessment demonstration project.

How Mini-CIMI Relates to FHIR

This implementation guide proves that Mini-CIMI can be mapped successfully to FHIR. The mapping still uses Basic resource, which is not optimal. We think this can be fixed.

A FHIR resource like Patient is an aggregate of many separate Mini-CIMI clinical statements (the patient is a clinical statement, date of birth is a clinical statement, administrative gender is a clinical statement, etc.). To produce a FHIR Patient from Mini-CIMI, you would first create a composition containing the model elements corresponding to the elements in FHIR Patient, and then do the mapping from that composition to the Patient resource.

Though seemingly awkward, the composition strategy is actually very elegant. FHIR’s Patient is only an 80% solution – meaning, it isn’t a 100% solution to any use case. One set of patient information is needed for patient matching, a different set for patient registration, yet another set for insurance eligibility, and still another set for vital statistics reporting. In Mini-CIMI, each use case is satisfied with different compositions, but all compositions employ the same “atomic” model elements, thus making all data interoperable across all these use cases.

Something similar could be accomplished through FHIR profiling, but profiling requires a mix of addition and subtraction of attributes and addition of constraints, and there is no assurance that that extensions and constraints applied for one use case are the same as those created for another use case, even if the information needs overlap. There is far less assurance that FHIR profiles will be interoperable.

The author believes Mini-CIMI is NOT just shifting complexity from one place (base class hierarchy) to another (compositions), but actually significantly simplifying the modeling problem. Mini-CIMI could be the answer to stopping our endless debates about what MIGHT be generally good things to have in base classes. Mini-CIMI defers questions about compositional structure until (a) the standard building blocks are defined, and (b) there is a specific use case that motivates a particular collection of information.


Mini-CIMI should be considered as possible approach to increase CIMI’s reproducibility, scalability, and ultimately, adoption.



Domain content was provided by Susan Matney (Intermountain Healthcare). Help, guidance, and wisdom was generously provided by all members of the CIMI Work Group especially the co-chairs, Dr. Stan Huff, Claude Nanjo, Galen Mulrooney, and Richard Esmond.

This IG was authored by Dr. Mark Kramer using the Clinical Information Modeling and Profiling Language (CIMPL), a free, open source toolchain from MITRE Corporation.


Known Limitations and Bugs

  • Units of measure do not appear correctly in the logical models. They do, however, appear correctly in the profiles.
  • Because the model is not structured exactly like the source spreadsheet, some observations are missing LOINC codes.
  • Some refinement may be needed in how deeply-nested compositions appear in profiles. They appear more optimally in logical models.
  • Currently, all subclasses of ObjectPresenceOrAbsence are mapped to FHIR Basic. This is probably not optimal.

Key Mini-CIMI Classes


  • Subject [type: Statement] 
  • ObservableCode [Coding]
  • ResultValue [various data types]
  • Qualifier [Coding]
  • FindingStatus [Coding]
  • RelevantTime [dateTime or TimePeriod]
  • FindingMethod [Coding]



  • Subject [type: Statement]
  • ObjectTypeCode [Coding]
  • ObjectIdentifier [string]
  • PresentOrAbsent [Coding]



  • Subject [type: Statement]
  • RelationshipCode [Coding]
  • Object [Statement]
  • PresentOrAbsent [Coding]



  • Subject [Statement]
  • TypeCode [Coding]
  • Statement [Statement, 0..*]