FHIR-Konformitätserklärung

FHIR-Speicher in der Cloud Healthcare API unterstützen mehrere Versionen der von Health Level 7 International (HL7) veröffentlichten FHIR-Spezifikation.

Die v1 API unterstützt die folgenden Versionen:

Wenn Sie einen FHIR-Speicher erstellen, geben Sie die FHIR-Version als Parameter für die Methode fhirStores.create an. Sie können die FHIR-Version nicht mehr ändern, nachdem der Store erstellt wurde.

Die API-Schnittstelle zu jedem Speicher entspricht der FHIR-Version dieses Speichers. Beispielsweise unterscheidet sich die DSTU2 conformance-Interaktion von der STU3 capabilities-Interaktion, aber beide teilen sich den REST-Pfad /fhir/metadata, sodass dieser Pfad basierend auf der FHIR-Version des Speichers unterschiedliche Antworten zurückgibt.

Funktionen, die in späteren FHIR-Versionen hinzugefügt wurden, sind in Geschäften mit früheren FHIR-Versionen verfügbar, wenn sie nicht inkompatibel sind. Die Interaktion patch ist beispielsweise in einem DSTU2-Speicher verfügbar, obwohl diese Interaktion erst ab STU3 definiert ist.

Details zu den unterstützten Funktionen in der v1 API nach FHIR-Version

R5

Die Capability-Anweisung des Servers gibt an, welche Teile der Spezifikation unterstützt werden.

  • Speichern und Abrufen aller R5-Ressourcen, einschließlich Unterstützung für Erweiterungselemente. Die API akzeptiert, speichert und gibt Erweiterungen für jedes Datenelement zurück.
  • Es werden alle Methoden in der RESTful API unterstützt, die den JSON-Inhaltstyp verwenden, außer:
    • Die Verlaufsinteraktionen auf Typ- und Systemebene, die den Verlauf für mehrere Ressourcen abrufen, werden nicht unterstützt. Der Ressourcenverlauf kann jeweils nur für eine Ressource abgerufen werden.
    • Die Interaktion Batch/Transaktion unterstützt keine Suchvorgänge innerhalb des Bundles.
  • Die Profilvalidierung und -erzwingung werden unterstützt.
  • Benutzerdefinierte Suchparameter, darunter auch Suchvorgänge mit Erweiterungselementen, werden in der v1beta1 API unterstützt.
  • Alle Suchfunktionen werden unterstützt, außer:

    • Die Suchparameter Group-characteristic-value, Location-near, Location-contains, DocumentReference-relationship, Bundle-composition, Bundle-message, Observation-component-value-canonical,Observation-value-canonical, QuestionnaireResponse-item-subject und Composition-section-text werden nicht unterstützt.
    • Suchparameter, die einen Lautausgleich durchführen, werden nicht unterstützt.
    • Die Suchergebnisparameter _contained, _containedType, _summary=count und _summary=true werden nicht unterstützt.
    • Der spezielle Suchparameter _content durchsucht alle Felder der Ressource, auf die sich Suchparameter beziehen. Felder, die nicht durchsucht werden können, werden ausgeschlossen. Es unterstützt keine expliziten AND (Begriffe werden implizit mit AND kombiniert) oder Klammern.
    • Die speziellen Suchparameter Resource-query, Resource-filter, Resource-language, Resource-in und Resource-list werden nicht unterstützt.
    • Der Parameter _sort wird bei Feldern mit wiederkehrenden Elementen nach dem ersten Element sortiert. Dies unterscheidet sich von der Spezifikation. _sort wird für Suchparameter vom Typ number, data, string, token und quantity unterstützt.
    • Die Modifikatoren für die Tokensuche :of-type, :code-text, text-advanced, und :text sowie die Modifikatoren für die Referenzsuche :identifier, not-in, text-advanced, und :code-text werden nicht unterstützt. Der Modifikator contains für URI-Suchen wird nicht unterstützt.
    • Kanonische Referenzsuchen werden nicht unterstützt. Kanonische Referenzen werden wie normale Referenzen behandelt. Die Modifikatoren above und below werden nicht unterstützt.
    • Wenn Sie den Parameter _type verwenden, können nur die üblichen Suchparameter (für alle Ressourcen) verwendet werden, und nicht die Schnittmenge der angegebenen Ressourcentypen.
    • Die folgende Teilmenge von zusammengesetzten Suchparametern wird unterstützt:

      • 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

      Die übrigen zusammengesetzten Suchparameter werden nicht unterstützt.

    • Für die Suche mit der POST-Methode werden keine application/x-www-form-urlencoded-Parameter im Anfragetext akzeptiert.

    • Der Platzhalter (*) wird für _include unterstützt, aber nicht für _revinclude.

Folgende Bereiche werden nicht unterstützt:

  • Der XML-Inhaltstyp wird nicht unterstützt.
  • Der Patch-Vorgang unterstützt kein XML-Patch oder FHIRPath-Patch.
  • Die HTTP HEAD-Anfragen werden nicht unterstützt.

Bestimmte Aspekte der API wichen aufgrund der Abwärtskompatibilität in früheren FHIR-Versionen von der FHIR-Spezifikation ab. Diese Probleme wurden in R5 behoben:

  • Wenn die Validierung von Pflichtfeldern aktiviert ist, werden jetzt null-Felder und leere Felder (z. B. {}) abgelehnt.
  • UpperCamelCase wird für Ressourcenfelder in JSON nicht mehr unterstützt.
  • urn:uuid-Referenzen sind in Batch-Bundles nicht zulässig, unabhängig davon, ob die referenzielle Integrität deaktiviert ist. Batch-Bundles schreiben Referenzen niemals neu.
  • Transaktions-Bundles schreiben Referenzen strenger als zuvor neu und geben Fehler bei ungültigen FullUrls in Einträgen zurück, wie in der Spezifikation definiert: https://www.hl7.org/fhir/bundle.html#references.
  • Referenzen, die wie Ressourcenreferenzen aussehen, müssen gültige IDs haben.
  • Die Validierung des Basisprofils ist für PATCH-Anfragen aktiviert.

R4

Die Capability-Anweisung des Servers gibt an, welche Teile der Spezifikation unterstützt werden.

  • Speichern und Abrufen aller R4-Ressourcen, einschließlich Unterstützung für Erweiterungselemente. Die API akzeptiert, speichert und gibt Erweiterungen für jedes Datenelement zurück.
  • Es werden alle Methoden in der RESTful API unterstützt, die den JSON-Inhaltstyp verwenden, außer:
    • Die Verlaufsinteraktionen auf Typ- und Systemebene, die den Verlauf für mehrere Ressourcen abrufen, werden nicht unterstützt. Der Ressourcenverlauf kann jeweils nur für eine Ressource abgerufen werden.
    • Die Interaktion Batch/Transaktion unterstützt keine Suchvorgänge innerhalb des Bundles.
  • Die Profilvalidierung und -erzwingung werden unterstützt.
  • Benutzerdefinierte Suchparameter, darunter auch Suchvorgänge mit Erweiterungselementen, werden in der v1beta1 API unterstützt.
  • Alle Suchfunktionen werden unterstützt, außer:

    • Die Suchparameter Group-characteristic-value, Location-near, Bundle-composition und Bundle-message werden nicht unterstützt.
    • Suchparameter, die einen Lautausgleich durchführen, werden nicht unterstützt.
    • Die Suchergebnisparameter _contained, _containedType, _summary=count und _summary=true werden nicht unterstützt.
    • Der spezielle Suchparameter _content durchsucht alle Felder der Ressource, auf die sich Suchparameter beziehen. Felder, die nicht durchsucht werden können, werden ausgeschlossen. Es unterstützt keine expliziten AND (Begriffe werden implizit mit AND kombiniert) oder Klammern.
    • Die speziellen Suchparameter _query, _filter und _list werden nicht unterstützt.
    • Der Parameter _sort wird bei Feldern mit wiederkehrenden Elementen nach dem ersten Element sortiert. Dies unterscheidet sich von der Spezifikation. _sort wird für Suchparameter vom Typ number, data, string, token und quantity unterstützt.
    • Die Modifikatoren für die Tokensuche :of-type und die Modifikatoren für die Referenzsuche :identifier werden nicht unterstützt.
    • Kanonische Referenzsuchen werden nicht unterstützt. Kanonische Referenzen werden wie normale Referenzen behandelt.
    • Wenn Sie den Parameter _type verwenden, können nur die üblichen Suchparameter (für alle Ressourcen) verwendet werden, und nicht die Schnittmenge der angegebenen Ressourcentypen.
    • Die folgende Teilmenge von zusammengesetzten Suchparametern wird unterstützt:

      • 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

      Die übrigen zusammengesetzten Suchparameter werden nicht unterstützt.

    • Für die Suche mit der POST-Methode werden keine application/x-www-form-urlencoded-Parameter im Anfragetext akzeptiert.

    • Der Platzhalter (*) wird für _include unterstützt, aber nicht für _revinclude.

Folgende Bereiche werden nicht unterstützt:

  • Die meisten erweiterten Vorgänge sind nicht implementiert.
  • Der XML-Inhaltstyp wird nicht unterstützt.
  • Der Patch-Vorgang unterstützt kein XML-Patch oder FHIRPath-Patch.
  • Die HTTP HEAD-Anfragen werden nicht unterstützt.

Bereiche, in denen die API von der FHIR-Spezifikation abweicht, um die Abwärtskompatibilität zu ermöglichen:

  • null wird für Pflichtfelder akzeptiert.
  • Ein leerer Code wird für Pflichtfelder akzeptiert.
  • urn:uuid-Referenzen sind in Batch-Bundles zulässig, wenn die referenzielle Integrität deaktiviert ist.

STU3

Die Capability-Anweisung des Servers gibt an, welche Teile der Spezifikation unterstützt werden.

  • Das Speichern und Abrufen aller STU3-Ressourcen wird unterstützt, einschließlich der Unterstützung von Erweiterungselementen. Die API akzeptiert, speichert und gibt Erweiterungen für jedes Datenelement zurück.
  • Alle Methoden in der RESTful API, die den JSON-Inhaltstyp verwenden, werden unterstützt, außer:

    • Die Verlaufsinteraktionen auf Typ- und Systemebene, die den Verlauf für mehrere Ressourcen abrufen, werden nicht unterstützt. Der Ressourcenverlauf kann jeweils nur für eine Ressource abgerufen werden.
    • Die Interaktion Batch/Transaktion unterstützt keine Suchvorgänge innerhalb des Bundles.
  • Die Profilvalidierung und -erzwingung werden unterstützt.

  • Benutzerdefinierte Suchparameter, darunter auch Suchvorgänge mit Erweiterungselementen, werden in der v1beta1 API unterstützt.

  • Alle Suchfunktionen werden unterstützt, außer:

    • Die Suchparameter Group-characteristic-value, Sequence-coordinate, Location-near, Location-near-distance, Bundle-composition und Bundle-message werden nicht unterstützt.
    • Suchparameter, die einen Lautausgleich durchführen, werden nicht unterstützt.
    • Die Suchergebnisparameter _contained, _containedType, _summary=count und _summary=true werden nicht unterstützt.
    • Der spezielle Suchparameter _content durchsucht alle Felder der Ressource, auf die Suchparameter verweisen. Felder, die nicht durchsucht werden können, werden ausgeschlossen. Es unterstützt keine expliziten AND (Begriffe werden implizit mit AND kombiniert) oder Klammern.
    • Die speziellen Suchparameter _query, _filter und _list werden nicht unterstützt.
    • Der Parameter _sort wird bei Feldern mit wiederkehrenden Elementen nach dem ersten Element sortiert. Dies unterscheidet sich von der Spezifikation. _sort wird für Suchparameter vom Typ number, data, string, token und quantity unterstützt.
    • Für die Suche mit der POST-Methode werden keine application/x-www-form-urlencoded-Parameter im Anfragetext akzeptiert.
    • Der Platzhalter (*) wird für _include unterstützt, aber nicht für _revinclude.

Folgende Bereiche werden nicht unterstützt:

  • Die meisten erweiterten Vorgänge sind nicht implementiert.
  • Der XML-Inhaltstyp wird nicht unterstützt.
  • Der Patch-Vorgang unterstützt kein XML-Patch oder FHIRPath-Patch.

Bereiche, in denen die API von der FHIR-Spezifikation abweicht, um die Abwärtskompatibilität zu ermöglichen:

  • null wird für Pflichtfelder akzeptiert.
  • Ein leerer Code wird für Pflichtfelder akzeptiert.
  • urn:uuid-Referenzen sind in Batch-Bundles zulässig, wenn die referenzielle Integrität deaktiviert ist.

DSTU2

Die Konformitätsanweisung des Servers gibt an, welche Teile der Spezifikation unterstützt werden.

  • Das Speichern und Abrufen aller DSTU2-Ressourcen wird unterstützt, einschließlich der Unterstützung von Erweiterungselementen. Die API akzeptiert, speichert und gibt Erweiterungen für jedes Datenelement zurück.
  • Es werden alle Methoden in der RESTful API unterstützt, die den JSON-Inhaltstyp verwenden, außer:
    • Die Verlaufsinteraktionen auf Typ- und Systemebene, die den Verlauf für mehrere Ressourcen abrufen, werden nicht unterstützt. Der Ressourcenverlauf kann jeweils nur für eine Ressource abgerufen werden.
    • Die Interaktion Batch/Transaktion unterstützt keine Suchvorgänge innerhalb des Bundles.
  • Die Profilvalidierung und -erzwingung werden unterstützt.
  • Alle Suchfunktionen werden unterstützt, außer:
    • Die Suchparameter Group-characteristic-value, Location-near, Location-near-distance, Bundle-composition, Bundle-message, Coverage-dependent und Coverage-sequence werden nicht unterstützt.
    • Für Erweiterungselemente definierte Suchparameter werden nicht unterstützt.
    • Suchparameter, die einen Lautausgleich durchführen, werden nicht unterstützt.
    • Die Suchergebnisparameter _contained, _containedType, _summary=count und _summary=true werden nicht unterstützt.
    • Der spezielle Suchparameter _content durchsucht alle Felder der Ressource, auf die Suchparameter verweisen. Felder, die nicht durchsucht werden können, werden ausgeschlossen. Es unterstützt keine expliziten AND (Begriffe werden implizit mit AND kombiniert) oder Klammern.
    • Die speziellen Suchparameter _query, _filter und _list werden nicht unterstützt.
    • Der Parameter _sort wird bei Feldern mit wiederkehrenden Elementen nach dem ersten Element sortiert. Dies unterscheidet sich von der Spezifikation. _sort wird für Suchparameter vom Typ number, data, string, token und quantity unterstützt.
    • Für die Suche mit der POST-Methode werden keine application/x-www-form-urlencoded-Parameter im Anfragetext akzeptiert.
    • Der Platzhalter (*) wird für _include unterstützt, aber nicht für _revinclude.

Folgende Bereiche werden nicht unterstützt:

  • Die meisten erweiterten Vorgänge sind nicht implementiert.
  • Benutzerdefinierte Suchparameter werden für DSTU2 nicht unterstützt.
  • Der XML-Inhaltstyp wird nicht unterstützt.

Bereiche, in denen die API von der FHIR-Spezifikation abweicht, um die Abwärtskompatibilität zu ermöglichen:

  • null wird für Pflichtfelder akzeptiert.
  • Ein leerer Code wird für Pflichtfelder akzeptiert.
  • urn:uuid-Referenzen sind in Batch-Bundles zulässig, wenn die referenzielle Integrität deaktiviert ist.

Details zu Vorgängen außerhalb der veröffentlichten Spezifikation

  • Die Konfiguration des FHIR-Speichers enthält eine Option, mit der ein benutzerdefiniertes Pub/Sub-Thema über alle Änderungen an Ressourcen im Speicher benachrichtigt wird. Dieser Benachrichtigungsmechanismus gilt für alle Cloud Healthcare API-Speicher und ist nicht dafür vorgesehen, die Funktionen des FHIR-Abos (DSTU2, STU3, R4, und R5)) zu ersetzen.
  • Der Exportvorgang des FHIR-Speichers in Cloud Storage-Ziele bietet nur einen Bulk-Export des gesamten Speichers. Es handelt sich nicht um eine Implementierung der Entwurfsspezifikation für FHIR-Bulk-Daten.
  • Der Importvorgang des FHIR-Speichers ist in der Spezifikation nicht definiert.
  • Der Vorgang Resource-purge, der historische Versionen von Ressourcen entfernt, ist in der Spezifikation nicht definiert. Diese API könnte sich in Zukunft ändern, wenn der Standardprozess oder andere FHIR-Implementierungen für diesen Anwendungsfall auf einer anderen API-Methode zusammenlaufen.
  • Der Endpunkt ExecuteBundle akzeptiert in v1beta1 history-Bundles, um historische Versionen von Ressourcen zu erstellen.