Kmehr services

With the ermerging of medical web servers (hospital medical records, regional servers like the S3, Vaccination on-line database of Kind & Gezin, ...) in Belgium, there is a need to standardise the exchange of data between those servers. The W3C recommends the usage of webservices for that purpose. This is based on the SOAP (XML) specification.

Therefore, it looked natural to extend the Kmehr-Bis specification with a few request and response elements to offer standard services on top of Belgian medical web servers.

We have identified the following key services that we expect from medical servers:
Name of the service Description
GetTransactionList This is a service that allows an application to interrogate a medical web server, to get a list of transactions (= medical documents) that match a set of criteria: the patient unique identifier associated with a free combination of 0, 1 or several transaction types, 0 or 1 author, a period of time defined by a begin date and/or an end date, and 0 or 1 encounternumber.

A hospital medical server that supports that standard Kmehr service is able to answer the question: "Have you a list of documents of the type discharge letter, older than 01/01/2001, for patient 62031011931?" .

The answer to such a question is a set of transaction headers within a kmehrresponse element. The kmehr header contains key information for each transaction like: unique Kmehr transaction identifier, transaction type, author, date, time, etc ...

GetTransactionDetail This is a service that allows an application to interrogate a medical web server, to get the complete transaction (= document) that matches a transaction Kmehr unique identifier. The response is a standard kmehr message encapsulated within the response element.

Typically, an application would interrogate the regional server with a GetTransactionList. It would the display the list of transaction headers to the user. The user would then make its choice. The application will then call the GetTransactionDetail service to access to the full document, using its unique Kmehr transaction identifier.

PutTransaction This is a service that allows an application to put a Kmehr transaction within a medical web server as a standard Kmehr message.

A regional medical server that supports that standard Kmehr service is able to receive and store a standard kmehrmessage.

PutTransactionHeader This is a service that allows an application to declare a Kmehr transaction within a medical web server, using the same transaction header element as the GetTransactionList web service.

A hospital medical server could declare some of its transactions (= medical documents) to the regional server using this web service. The information contained within the transaction headers is used to index the document properly and allow users to make their choice. The regional server can recall the hospital's URL of the document (that is stored within the lnk element) on demand.

DeleteTransaction This is a service that allows an application to delete a Kmehr transaction within a medical web server, passing its unique Kmehr transaction identifier. Usually the server will hide the transaction instead of physically delete it.

A regional medical server that supports that standard Kmehr service is able to hide a transaction upon request of an authorised external application.

These Kmehr web services will be supported by the regional web servers. Walloon hospitals are currently developping the same interface.

Other standard web services could also be specified to manage patient and hcparty identification: GetPatientList, GetPatientDetail, PutPatient, DeletePatient, GetHCPartyList, GetHCPartyDetail, PutHCParty, DeleteHCParty.

For complete information, please refer to the Kmehr services XSchema.

A test WSDL is available on the test server.