Déclaration de conformité FHIR

Les magasins FHIR dans l'API Cloud Healthcare sont compatibles avec plusieurs versions de la spécification FHIR (Fast Healthcare Interoperability Resources) publiée par HL7 (Health Level 7 International).

L'API v1 est compatible avec les versions suivantes :

Lorsque vous créez un magasin FHIR, vous spécifiez la version FHIR en tant que paramètre de la méthode fhirStores.create. Vous ne pouvez pas modifier la version FHIR après la création du magasin.

L'interface API de chaque magasin est conforme à la version FHIR de ce magasin. Par exemple, l'interaction DSTU2 conformance est différente de l'interaction STU3 capabilities, mais toutes deux partagent le chemin REST /fhir/metadata. Ce chemin renvoie donc des réponses différentes en fonction de la version FHIR du magasin.

La fonctionnalité ajoutée dans les versions FHIR ultérieures est disponible dans les magasins utilisant des versions FHIR antérieures si elle ne crée pas d'incompatibilité. Par exemple, l'interaction patch est disponible sur un magasin DSTU2, même si elle n'est définie qu'à partir de la version STU3.

Détails des fonctionnalités compatibles avec l'API v1 par version FHIR

R4

La déclaration de capacités du serveur indique les parties de la spécification qui sont compatibles.

  • Stockage et récupération de toutes les ressources R4, y compris la compatibilité avec les éléments d'extension. L'API accepte, stocke et renvoie des extensions sur n'importe quel élément de données.
  • Toutes les méthodes de l'API RESTful qui utilisent le type de contenu JSON sont acceptées, à l'exception de :
    • Les interactions d'historique au niveau du type et du système qui récupèrent l'historique sur plusieurs ressources ne sont pas acceptées. L'historique des ressources ne peut être récupéré que pour une ressource à la fois.
    • L'interaction lot/transaction ne prend pas en charge les opérations de recherche ou de correctif dans le groupe.
  • Toutes les fonctionnalités de recherche sont acceptées, à l'exception des suivantes :

    • Les paramètres de recherche Group-characteristic-value, Location-near, Bundle-composition et Bundle-message ne sont pas acceptés.
    • Les paramètres de recherche définis sur les éléments d'extension ne sont pas acceptés.
    • Les paramètres de recherche qui effectuent une correspondance phonétique ne sont pas acceptés.
    • Les paramètres de résultats de recherche _contained, _containedType, _summary=count et _summary=true ne sont pas acceptés.
    • Le paramètre de recherche spécial _content recherche tous les champs de la ressource auxquels les paramètres de recherche font référence. Il exclut les champs qui ne peuvent pas faire l'objet d'une recherche. Il n'accepte pas le contenu AND explicite (les termes sont implicitement combinés avec AND) ou les crochets.
    • Les paramètres de recherche spéciaux _query et _filter ne sont pas acceptés.
    • Le paramètre _sort, lorsqu'il est utilisé sur des champs comportant des éléments répétés, effectue le tri en fonction du premier élément. Cela diffère de la spécification. Tous les paramètres de recherche acceptés sont éligibles pour _sort, à l'exception du paramètre de recherche spécial _content.
    • Le modificateur de recherche de jetons :of-type n'est pas accepté.
    • Les recherches de références canoniques ne sont pas acceptées. Les références canoniques sont traitées comme des références normales.
    • Les sous-ensembles de paramètres de recherche composites suivants sont acceptés :

      • DocumentReference-relationship
      • Observation-code-value-concept
      • Observation-code-value-date
      • Observation-code-value-quantity
      • Observation-code-value-string
      • Observation-combo-code-value-concept
      • Observation-combo-code-value-quantity
      • Observation-component-code-value-concept
      • Observation-component-code-value-quantity

      Les autres paramètres de recherche composites ne sont pas acceptés.

  • Les requêtes HTTP HEAD ne sont pas acceptées.

  • Le point de terminaison ExecuteBundle n'accepte pas les groupes history.

Les zones non acceptées sont les suivantes :

  • La plupart des opérations étendues ne sont pas mises en œuvre.
  • Les profils ne sont pas validés ni appliqués par le serveur.
  • Les paramètres de recherche définis par l'utilisateur ne sont pas acceptés.
  • Le type de contenu XML n'est pas accepté.
  • L'opération de correctif n'est pas compatible avec les correctifs XML ou FHIRPath.

STU3

La déclaration de capacités du serveur indique les parties de la spécification qui sont compatibles.

  • Le stockage et la récupération de toutes les ressources STU3 sont compatibles, y compris les éléments d'extension. L'API accepte, stocke et renvoie des extensions sur n'importe quel élément de données.
  • Toutes les méthodes de l'API RESTful qui utilisent le type de contenu JSON sont acceptées, à l'exception de :

    • Les interactions d'historique au niveau du type et du système qui récupèrent l'historique sur plusieurs ressources ne sont pas acceptées. L'historique des ressources ne peut être récupéré que pour une ressource à la fois.
    • L'interaction lot/transaction ne prend pas en charge les opérations de recherche au sein du groupe.
  • Toutes les fonctionnalités de recherche sont acceptées, à l'exception des suivantes :

    • Les paramètres de recherche Group-characteristic-value, Sequence-coordinate, Location-near, Location-near-distance, Bundle-composition et Bundle-message ne sont pas acceptés.
    • Les paramètres de recherche définis sur les éléments d'extension ne sont pas acceptés.
    • Les paramètres de recherche qui effectuent une correspondance phonétique ne sont pas acceptés.
    • Les paramètres de résultats de recherche _contained, _containedType, _summary=count et _summary=true ne sont pas acceptés.
    • Le paramètre de recherche spécial _content recherche dans tous les champs de la ressource auxquels les paramètres de recherche font référence. Il exclut les champs qui ne peuvent pas faire l'objet d'une recherche. Il n'accepte pas les valeurs AND explicites (les termes sont implicitement combinés avec AND) ou les crochets.
    • Les paramètres de recherche spéciaux _query et _filter ne sont pas acceptés.
    • Le paramètre _sort, lorsqu'il est utilisé sur des champs comportant des éléments répétés, effectue le tri en fonction du premier élément. Cela diffère de la spécification. Tous les paramètres de recherche acceptés sont éligibles pour _sort, à l'exception du paramètre de recherche spécial _content.

Les zones non acceptées sont les suivantes :

  • La plupart des opérations étendues ne sont pas mises en œuvre.
  • Les profils ne sont pas validés ni appliqués par le serveur.
  • Les paramètres de recherche définis par l'utilisateur ne sont pas acceptés.
  • Le type de contenu XML n'est pas accepté.
  • L'opération corrective n'est pas compatible avec les correctifs XML ou FHIRPath.

DSTU2

La déclaration de conformité du serveur indique les parties de la spécification qui sont compatibles.

  • Le stockage et la récupération de toutes les ressources DSTU2 sont acceptés, y compris les éléments d'extension. L'API accepte, stocke et renvoie des extensions sur n'importe quel élément de données.
  • Toutes les méthodes de l'API RESTful qui utilisent le type de contenu JSON sont acceptées, à l'exception de:
    • Les interactions d'historique au niveau du type et du système qui récupèrent l'historique sur plusieurs ressources ne sont pas acceptées. L'historique des ressources ne peut être récupéré que pour une ressource à la fois.
    • L'interaction lot/transaction ne prend pas en charge les opérations de recherche au sein du groupe.
  • Toutes les fonctionnalités de recherche sont acceptées, à l'exception de :
    • Les paramètres de recherche Group-characteristic-value, Location-near, Location-near-distance, Bundle-composition, Bundle-message, Coverage-dependent et Coverage-sequence ne sont pas acceptés.
    • Les paramètres de recherche définis sur les éléments d'extension ne sont pas acceptés.
    • Les paramètres de recherche qui effectuent une correspondance phonétique ne sont pas acceptés.
    • Les paramètres de résultats de recherche _contained, _containedType, _summary=count et _summary=true ne sont pas acceptés.
    • Le paramètre de recherche spécial _content recherche dans tous les champs de la ressource auxquels les paramètres de recherche font référence. Il exclut les champs qui ne peuvent pas faire l'objet d'une recherche. Il n'accepte pas les valeurs AND explicites (les termes sont implicitement combinés avec AND) ou les crochets.
    • Les paramètres de recherche spéciaux _query et _filter ne sont pas acceptés.
    • Le paramètre _sort, lorsqu'il est utilisé sur des champs comportant des éléments répétés, effectue le tri en fonction du premier élément. Cela diffère de la spécification. Tous les paramètres de recherche compatibles sont éligibles pour _sort, à l'exception du paramètre de recherche spécial _content.

Les zones non acceptées sont les suivantes :

  • La plupart des opérations étendues ne sont pas mises en œuvre.
  • Les profils ne sont pas validés ni appliqués par le serveur.
  • Les paramètres de recherche définis par l'utilisateur ne sont pas acceptés.
  • Le type de contenu XML n'est pas accepté.

Détails des opérations en dehors de la spécification publiée

  • L'API FHIR gRPC propose une interface RPC pour FHIR à l'aide du framework gRPC. Il n'est pas standard, en cours de développement et n'accepte pas toutes les méthodes FHIR.
  • La configuration du magasin FHIR inclut une option permettant d'informer un sujet Pub/Sub spécifié par l'utilisateur pour toutes les modifications apportées aux ressources du magasin. Ce mécanisme de notification est commun à tous les magasins d'API Cloud Healthcare et ne vise pas à remplacer les fonctionnalités de l'abonnement FHIR (DSTU2, STU3 et R4).
  • L'opération d'un exportation dmagasin FHIR vers des destinations Cloud Storage ne propose qu'une exportation groupée de l'ensemble du magasin. Il ne s'agit pas d'une mise en œuvre du projet de spécification d données groupées FHIR.
  • L'opération d'importation du magasin FHIR n'est pas définie dans la spécification.
  • L'opération Resource-purge qui supprime les versions historiques des ressources n'est pas définie dans la spécification. Cette API peut changer à l'avenir si le processus de normes ou d'autres mises en œuvre FHIR sont associés à une autre méthode d'API pour ce cas d'utilisation.