You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Defined behavior after errors

Define and document the behavior of your implementation in case of interoperability errors. Errors are also a communication item in addition to drawing a clear line between expected and unexpected behavior.

The next error types should be taken into consideration:

  • Errors from "Errors" section of the specification. This mainly concerns the protocol specification.
  • Errors after reception of faulty artefacts from another implementation.
  • Errors when processing correct artefacts by your implementation.
  • Errors during generation of faulty artefacts by your implementation.

Erroneous data mapping

When participating in data exchange E.g. in the Vitalink Medication Scheme. You can import data into your application that does not map on your database structure or data that are not what you expected (e.g. because you interpreted the spec differently or the sending application made a mistake). In that case, your application should always consult the user when incoming data from the central source can not be processed. Show as much machine-readable or plain text information as you can to the user so the least possible information is lost. 

Input validation

Typically, an application validates the data a user manually enters to see whether it is in the expected format and is within the range of allowed values for that input. Verify that this validation of user input is also applied for incoming data from the central source. If the validation fails, the data should be handled as erroneous data.

Transformation design

Verify that your transformation of central data is well-designed and documented. It is possible that your transformation requires more restrictions for the central data than the specification does. This extra restriction is e.g. needed for the data to be able to serve as input for the transformation. Your design documentation should include these restrictions. All data that is not suitable for the transformation should be handled as erroneous data.

Server processing

Whilst client applications can interact with the user to solve the processing of erroneous data, server applications can not. Verify that the processing of erroneous data on a server is logged, monitored and eventually presented to the user. 

Logging

Verify that enough information about manipulation of central and local data is logged to enable later analysis of possible problems. Without this logging it can be very hard to analyse problems that are detected only after using another application that consumes that data.


  • No labels