Aidbox
Search…
⌃K

Subscribe to new Patient resource

From this tutorial you will learn how to make Aidbox notify your service when a new Patient resource is created using Subscription module.
Aidbox subscriptions module is a way to subscribe and get notifications about updating resources on server. It introduces two new resourceTypes into Aidbox:
  • SubsSubscription — a meta-resource, which binds events (create/update/delete resource) with communication channel through which a subscriber will be notified about.
  • SubsNotification — a resource, which represents the notification with its status (sent or not).
In order to start receive notifications, you have to register your services as a subscriber in Aidbox by creating a SubsSubscription resource.
As external service to integrate Aidbox with, we will use RequestCatcher. We will use aidbox name, so the final name of our service will be https://aidbox.requestcatcher.com/. You can use your own name.
Open https://aidbox.requestcatcher.com/ in new tab, then create next SubsSubsription resource in your Aidbox instance:
POST /SubsSubscription
​
id: new-patient-sub
status: active
trigger:
Patient:
event: ['create']
channel:
type: rest-hook
endpoint: https://aidbox.requestcatcher.com/new-patient
timeout: 1000
payload:
content: full-resource
contentType: json
After that, aidbox sends a handshake notification on channel.endpoint, which you can see on your opened tab with RequestCatcher.
Let's create a new patient then.
POST /Patient
​
id: john-smith
name:
- given: [John]
family: Smith
​
# Response: 201 Created
Then you can back to RequestCatcher service and see a new notification.
And next, you can see SubsNotification resource created for this notification in Aidbox.
GET /SubsNotification?_sort=-lastUpdated
​
# Response
​
type: searchset
resourceType: Bundle
entry:
- resource:
id: 17efebc5-c4e2-4db8-b999-dd5c24b7dfc5
resourceType: SubsNotification
status: success
duration: 99
response: {body: request caught, status: 200}
notification:
type: notification
event: create
resource:
id: john-smith
name:
- given: [John]
family: Smith
resourceType: Patient
subscription: {id: new-patient-sub, resourceType: SubsSubscription}
# ... other notification
If you will update your patient, then the notification will not be created, because we subscribed only for the creation of a Patient resource.
PUT /Patient/john-smith
​
name:
- given: [John]
family: Smith
gender: male
​
# Response: 200 OK
Check RequestCatcher and SubsNotification. You will not find new notifications there.