If you are regular reader, you will know that I have been working with Fast Healthcare Interoperability Resources (FHIR) servers. In one post, I discussed how to set up Firely's Spark and Vonk Servers using Azure PaaS services. I tried to deploy the Firely Vonk server using both Cosmos DB and Azure SQL as backend stores. At the time, only SQL Server was officially supported, but Firely has since added support for Cosmos DB (Mongo API) as of release 0.6.5.0. Please read about the details and limitations of Cosmos DB support. Here is the scenario that you can easily deploy using PaaS components in Azure:
If you would like to try it out, you can start with my fhir-azure GitHub repository. Specifically, have a look at the Vonk with Cosmos DB configuration. You can deploy this in either Azure Commercial or Azure Government using the deploy buttons on the GitHub page.
The template will deploy the infrastructure (Web App and Cosmos DB) and configure application settings (connection strings, etc.), but it doesn't actually deploy the Vonk server itself. You will need to download Vonk and purchase a license or get trial license. After downloading you will have a zip file (
vonk_distribution.zip) and a license file. Drag and drop the license file onto the zip file and it will be added to the archive. Then do a zip deploy using the Kudu console on your web app.
After deploying, direct your browser to the URL of the web app hosting the Vonk server. The first time it will take the Vonk server a few minutes to initialize. It may actually take long enough for your request to timeout, but give it a few minutes and try again. You should see the front page of the Vonk server:
You can then use Postman or your favorite API interaction tool to query the Vonk server.
If you would like to add API management to your Vonk server, you can read my blog post about that. The basic steps are:
- Convert the FHIR server conformance metadata to a swagger file using fhir-swagger.
- Import API definition into Azure API Management.
- Modify policies to make sure URIs are properly re-written on request and response.
This blog post is really just a bit of great news. You can now use Cosmos DB with Vonk server in Azure. It is easy to set up with the templates provided here. For Government agencies, all the services used here (App Service, Cosmos DB, API Management) have FedRAMP accreditation.