This POC aims to prove a Patient merge Notification based on FHIR Subscription Topics (see Subscriptions R5 Backport).
- Postman to use the Postman Collection of the poc-server
- A rest endpoint accepting the notification bundle (POST on /Bundle)
- this can be done with Postman:
- Select: Mock servers, create mock server (+)
- Request Method: POST
- Next
- choose a name and create the server
- use the displayed url as the endpoint url of your subscription in step: Postman: 2. Subscribe to Patient merge topic
- Instead of Postman, a second FHIR server can be used to store the notification bundles
- easiest way to run another fhir server is to use the hapi-fhir docker image:
docker run -p 8081:8080 -e hapi.fhir.allowed_bundle_types=COLLECTION,DOCUMENT,MESSAGE,TRANSACTION,TRANSACTIONRESPONSE,BATCH,BATCHRESPONSE,HISTORY,SEARCHSET hapiproject/hapi:latest
- easiest way to run another fhir server is to use the hapi-fhir docker image:
- this can be done with Postman:
POC is built on top of HAPI-FHIR.
Using jetty
mvn clean jetty:run -U
For more information on running see HAPI-FHIR.
The following steps simulate the merge notification workflow (see Postman Collection in folder PostmanCollection
):
- create patients which should be merged
- (Postman: 1. Send Patients)
- Subscribe to Topic: "http://hl7.org/SubscriptionTopic/patient-merge"
- (Postman: 2. Subscribe to Patient merge topic)
- modify
.endpoint
to your FHIR-Endpoint which should receive the notifications, Postman Postman mock-server can be used as test-endpoint
- trigger a patient merge
$patient-merge
with source and target patient 2. (Postman: 3. merge patients) - receive a notification Bundle
Known issue: if you are using the Mock Servers from Postman, a stacktrace will be shown in hapi, as the response has the content-type: text/html, and application/fhir+json or application/fhir+xml is expected.
This has no impact on the delivery of the notification.
This extended hapi server supports a $patient-merge
operation and serves as a "KIS" mock-up:
- Patient merge operation ($patient-merge) was implemented (as MVP) and is used to trigger a patient merge
- Support for Subscription criteria based on ...
Postman Collection with examples (folder: PostmanCollection
)
Team Data – ISiK and ISiP
For issues and requests please refer to: https://service.gematik.de/servicedesk/customer/portal/16