Definition: A message profile is a machine testable specification of all kinds of conformance issues related to one single message. Note that in v3-speak the term Interaction Profile would be a better term, Message Profile is the term used in the context of HL7 V2.
The conformance committee defines two types of profiles:
- static profile: describes *exactly* what data can be sent/received for a particular interaction. These will be based on the standard "static model" MIF structure, possibly extended to capture a couple of additional pieces of data, such as ITS support, realm support, etc. One of the things a static model indicates is what templates apply at a particular node in the model. It all describes the background on datatypes and vocabulary, in as far as this isn't determined by binding realm or template.
- dynamic profile: describes a set of expected behavior across a set of interactions. This is where we get into behavioral aspects, and there will certainly be extensions here to indicate such content as expected response times.
Note: Technically, the MIF is ready to support both profile types (with the exception of the constraint language portion, which isn't really a MIF issue). What we're lacking (as of October 2006) is a full set of tooling to support MIF maintenance.
An Implementation Guide is a non-machine testable description of various messages, the description of which may extend well above the detail offered by message profiles. It contains the background on why the specification exists and how the messages (mostly it describes more than 1 message) fit within the business context.