FHIR Subscription Reference Implementation

Subscription testing tools from the Microsoft Healthcare Madison Team

FHIR Topic-Based Subscription Tools

This is a general overview page for the software hosted at subscriptions.argo.run, which can be used to test topic-based subscription in FHIR R4 (via the Backport IG) and FHIR R5.

If you have any comments or questions, feel free to ping me on Zulip.

Overview

There are three main projects which together implement the entire Subscriptions workflow:

Additionally, there are two basic client projects to serve as examples:

Links

Projects are currently running from CI builds.

FHIR R4B + Backport IG

FHIR R5

The supported SubscriptionTopic for testing is based on the Argonaut 2019 Subscriptions work:

Components

FHIR Server Proxy

The Server Proxy is a thin server layer over a standard FHIR server, which intercepts resources needed to support subscriptions:

When using the server, all resources are formatted according to the FHIR version for that endpoint (e.g., the FHIR R4 endpoint uses Subscriptions, SubscriptionTopics, Encounters, Patients, etc. in FHIR R4).

Client

The Client has been written to be as self-contained as possible. The major issue with running the client a web-browser is that it cannot host REST endpoints. Instead, the client connects to the Endpoint Host via Websockets and receives notifications from there.

Since the client is in the browser and the Endpoint Host is public, you can use the client to test against locally hosted servers.

Client Tab: Config

Client Tab: Patient + REST

Client Tab: Group + REST

Client Tab: Playground

Endpoint Hosting Server

The Endpoint Hosting Server is a host that interacts with a Client via Websockets to host public-accessible HTTP/S endpoints. It is only useful in the context of the Client, so may generally be ignored.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

There are many other ways to contribute:

See Contributing for more information.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

FHIR® is the registered trademark of HL7 and is used with the permission of HL7.