Firely Spark FHIR Server en Azure (PaaS)

Por Michael S. Hansen extraido y traducido de:

Fast Healthcare Interoperability Resources (FHIR)  describe formatos de datos y elementos (conocidos como "recursos") y una interfaz de programación de aplicaciones (API) para intercambiar registros electrónicos de salud. Hay una serie de implementaciones de bibliotecas y servidores que ya existen. En esta publicación de blog, le mostraré cómo ejecutar un servidor FHIR en Azure usando los servicios de PaaS. Específicamente, demostraré cómo ejecutar la interfaz de un servidor FHIR en una aplicación web de Azure y el backend utilizando Azure SQL Database o Azure Cosmos DB. Puede encontrar las plantillas y las instrucciones en mi https://github.com/hansenms/fhir-azure repositorio en GitHub.

Hay una implementación FHIR .NET API. Con base en esa biblioteca, la empresa Firely ha implementado pocos servidores FHIR diferentes. Tienen un servidor Spark de fuente abierta, que implementa Borrador estándar para el Uso de prueba 2 (DSTU2) y un servidor comercial de Vonk, que implementa Estándar para el Uso de prueba 3 (STU3). He creado plantillas que permitirán una fácil implementación de:

  • Firely Spark con el backend de Cosmos DB (MongoDb API).
  • Firely Vonk con el backend de Cosmos DB (MongoDb API).
  • Firely Vonk con Azure SQL Database como back-end.


Las primeras dos de estas configuraciones no se mencionan oficialmente como compatibles con ninguna de la documentación y solo deben considerarse para la experimentación. La tercera opción (Vonk con SQL backend) podría considerarse para implementaciones de producción. Vonk es un producto comercial y se necesita una licencia. He usado una licencia de prueba para Vonk.

¿Como se hace el Deploying Firely Spark?

La plantilla para Firely Spark despliega una aplicación web y un backend Cosmos DB. Luego establece todas las configuraciones apropiadas de la aplicación (incluidas las cadenas de conexión) en la aplicación web y extrae el código para el servidor de un repositorio de GitHub. En realidad, extrae el código de mi rama dastu2 / azul del repositorio de código fuente. Tuve que hacer algunos cambios de código para que funcione con Cosmos DB y en una aplicación web de Azure. El cambio clave fue obligar al cliente de MongoDb a usar TLS1.2 (en MongoDatabaseFactory.cs):

private static MongoDatabase CreateMongoDatabase(string url)

{

    var mongourl = new MongoUrl(url);

    //Switch to Tls12 only to be compatible with CosmosDB

    var settings = MongoClientSettings.FromUrl(mongourl);

    settings.SslSettings = new SslSettings();

    settings.SslSettings.EnabledSslProtocols = SslProtocols.Tls12;

    var client = new MongoClient(settings);

    return client.GetServer().GetDatabase(mongourl.DatabaseName);

}


Referencias
https://blogs.msdn.microsoft.com/mihansen/2018/04/20/fhir-server-in-azure-paas/
https://qolty.com/q/fhir-diagnostic-report/

Comentarios

Entradas más populares de este blog

ESCANEO DEL CODIGO PDF417 DEL DNI (Documento Nacional de Identidad digital)

¿Que tipos de Mensajes de HL7 hay?

¿Que es Razor?