The Message package
Requirements
In the first two EHR extract scenarios described in Requirements on page 8, extracts may be received in response to a request, or they may be unsolicited. Most transfers of care (e.g. discharge summaries and referrals) and pathology test results will generate unsolicited extracts, whereas solicited requests will usually occur due to the patient presenting him or herself in another part of the health system without an explicit transfer of care.
Design
The message package provides the basic abstractions for the sending and receiving of any point to
point message containing a payload, of abstract type MESSAGE. The message Package is illustrated in
the UML diagram below.
A new message is required for each transmission, even if the payload was created once and is retransmitted multiple times.
Integrity and Security
The MESSAGE object may include a digital hash (i.e. digest or digital finderprint) of the serialised content,
made for example using the SHA-1 or MD5 algorithms. The purpose of the digest is to provide
an integrity check on the data. This protects against non-malicious changes to the data (e.g. due to
software bugs, incorrect transaction management). Often this will be acceptable within secure, closed
environments, such as a private hospital or community health network.
Protection against malicious modification can be provided by encryption.
To Be Determined: normalised serialised expression
Class Descriptions
Unresolved include directive in modules/ehr_extract/pages/message_package.adoc - include::../UML/classes/addressed_message.adoc[]
Unresolved include directive in modules/ehr_extract/pages/message_package.adoc - include::../UML/classes/message.adoc[]