Buscar este blog

Google+ Followers

Seguidores

Vistas a la página totales

jueves, 5 de julio de 2018

¿Que es una declaración de conformidad FHIR?


Una declaración de conformidad es un conjunto de capacidades de un servidor FHIR que puede usarse como una declaración de la funcionalidad real del servidor o una declaración de la implementación requerida o deseada del servidor.


Uno de los problemas a los que se enfrentan los primeros adoptantes FHIR es cómo lidiar con las diferentes versiones FHIR, especialmente cuando se trata de estos recursos de 'conformidad' como un ValueSet o StructureDefinition (utilizado tanto en perfiles como en definiciones de extensión). Tal como se describe en las publicaciones mencionadas anteriormente, estos recursos tienen una propiedad de URL que es una URL "canónica": es única en el mundo y se utiliza cuando el recurso debe ser referenciado por otros, como cuando un perfil necesita hacer referencia a una definición de extensión , o un elemento codificado al ValueSet que define los valores potenciales para él. No queremos tener que cambiar la URL cuando cambia la versión FHIR, pero sí debemos poder alojar instancias del recurso que sean específicas de la versión FHIR.

Una mejor alternativa es el uso de recursos de conformidad indexados por URL. Cuando un cliente desea recuperar un recurso al que se hace referencia, consulta el registro de ese recurso utilizando la URL canónica, en lugar de resolver el enlace directamente. El registro podría exponer su búsqueda en puntos finales específicos de la versión, lo que permite al cliente especificar la versión que requieren.

Las declaraciones de conformidad se utilizan en una de tres formas:

1. Describir una implementación real
En este escenario, la declaración de conformidad describe las capacidades de una solución desplegada y configurada disponible en un punto de acceso particular o conjunto de puntos de acceso. La declaración describe exactamente cómo interactuar con esa solución implementada y, por lo tanto, proporciona un cierto grado de autoconfiguración de las soluciones de software.

Este es el tipo de perfil que se espera que las soluciones de descanso de FHIR pongan a disposición en la invocación de la operación de conformidad. También es el tipo de declaración que forma una base para la prueba, certificación o puesta en marcha de instalaciones de software específicas.

Una declaración de conformidad se identifica como una declaración de implementación a través de la presencia del elemento de implementación.

2. Describir las capacidades de la solución de software
En este escenario, la declaración de conformidad describe las capacidades genéricas de una aplicación de software o solución de componentes. La solución podría estar disponible para compra u otra adquisición y podría implementarse y configurarse en cualquier cantidad de sitios independientes. Como no depende de ninguna implementación en particular, el perfil no puede proporcionar detalles específicos, como direcciones de punto final. También puede necesitar documentar varias configuraciones en las que se puede configurar la aplicación o describir el grado de personalización asociado con la solución.

Este tipo de declaración puede ser utilizada como una herramienta de mercadotecnia por los desarrolladores de software y sistemas para describir formalmente sus capacidades. También se puede utilizar como base para las pruebas de conformidad de soluciones de software independientes de una instalación en particular.

Una declaración de conformidad se identifica como un estado de solución de software

3. Describir una solución deseada
En este escenario, la declaración de conformidad describe las capacidades de un sistema deseado. Se podría usar como parte de un proceso de diseño arquitectónico para documentar las capacidades del sistema necesarias, o podría usarse como parte de un proceso de RFP para documentar formalmente los requisitos de una solución solicitada y para documentar los criterios por los cuales se evaluarán las propuestas.

Una declaración de conformidad se identifica como una declaración de requisitos a través de la presencia del elemento de propuesta.

Estos tres tipos de perfiles se pueden usar juntos. Una declaración de requisitos se puede comparar con las declaraciones de solución ofrecidas por los encuestados a una RFP. Una declaración de solución para un paquete de software constituye el punto de partida para la declaración de implementación asociada con una instalación particular de ese paquete de software.

Ejemplo de declaración de conformidad (en JSON)
{
  "resourceType": "Conformance", 
...
  "rest": [{
   ...
      "security": {
        "service": [
          {
            "coding": [
              {
                "system": "http://hl7.org/fhir/restful-security-service",
                "code": "SMART-on-FHIR"
              }
            ],
            "text": "OAuth2 using SMART-on-FHIR profile (see http://docs.smarthealthit.org)"
          }
        ],
        "extension": [{
          "url": "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris",
          "extension": [{
            "url": "token",
            "valueUri": "https://my-server.org/token"
          },{
            "url": "authorize",
            "valueUri": "https://my-server.org/authorize"
          },{
            "url": "manage",
            "valueUri": "https://my-server.org/authorizations/manage"
          }]
        }],

Referencias
https://www.hl7.org/fhir/DSTU2/conformance.html
http://hapifhir.io/apidocs-dstu2/ca/uhn/fhir/model/dstu2/resource/Conformance.html
http://docs.smarthealthit.org/authorization/conformance-statement/
https://www.hl7.org/fhir/DSTU1/conformance.html
https://www.slideshare.net/ewoutkramer/hl7-fhir-for-developers
https://www.healthdataanswers.net/fhir-profiling-coping-different-fhir-versions/