Graciously handling a level of change in a complex specification
The concept of a flexible and yet also breakable interface is central to successful configuration and version management for a messaging specification. Changes which are made to a message or message definition should not affect systems or design teams that are not concerned with the subject of the change. However, changes causing unexpected behaviour or misinterpretation of a message should ‘break the interface’ thus making it impossible for systems to unknowingly use a changed message in a way which may hold clinical safety or other risks. Achieving these features in a complex specification with a diverse implementation community is not a simple matter. However, there are several measures that could be beneficial. Applying the kind of configuration management discipline that is well known for complex software artefacts to the development of a complex specification is likely to be cost-effective, even though the tools available are less mature. A combined strategy of representing key aspects of design configuration not only within the specification artefacts published to the implementation community, but also as a matrix documenting expected impacts, and within message instances in live operation, is also promising as a way to enable gracious handling of change.