FHIR-Import

Auf dieser Seite wird erläutert, wann Sie die Methode fhirStores.import zum Importieren von FHIR-Ressourcen aus Cloud Storage in die Cloud Healthcare API auswählen.

Methode fhirStores.import

Die Methode fhirStores.import dient hauptsächlich dazu, Daten in einen leeren FHIR-Speicher zu laden, ohne dass andere Anwendungen während des Imports auf den Speicher zugreifen. Sie ist so optimiert, dass große Datenmengen mithilfe der Importsemantik geladen werden, die einige Konfigurationsoptionen des FHIR-Speichers ignoriert, wie in diesem Abschnitt beschrieben. Informationen zur Verwendung von fhirStores.import finden Sie unter FHIR-Ressourcen mit Cloud Storage importieren und exportieren.

Berücksichtigen Sie bei der Entscheidung, ob Sie die Methode fhirStores.import verwenden möchten, die folgenden Merkmale. Wenn fhirStores.import für Ihre Anwendung nicht geeignet ist, können Sie die Methode fhir.executeBundle verwenden, um Daten zu laden. Weitere Informationen zu fhir.executeBundle finden Sie unter FHIR-Ressourcen mit FHIR-Bundles verwalten.

  • Jede Ressource in der Eingabe muss eine vom Client bereitgestellte ID enthalten. Jede Ressource wird mit der angegebenen ID gespeichert, unabhängig von der Einstellung enableUpdateCreate im FHIR-Speicher.
  • Der Importvorgang erzwingt keine referenzielle Integrität, unabhängig von der Einstellung disableReferentialIntegrity im FHIR-Speicher. Wenn Sie die referenzielle Integrität nicht erzwingen, können Sie Ressourcen mit beliebigen Abhängigkeiten importieren, ohne eine Gruppierung oder Sortierung in Betracht zu ziehen. Wenn die Eingabedaten ungültige Referenzen enthalten oder einige Ressourcen nicht importiert werden können, verstößt der Status des FHIR-Speichers möglicherweise gegen die referenzielle Integrität.
  • Wenn im Speicher bereits eine Ressource mit einer bestimmten ID vorhanden ist, wird die neueste Version der Ressource überschrieben, ohne eine neue Verlaufsversion zu erstellen. Das Überschreiben erfolgt unabhängig von der Einstellung disableResourceVersioning im FHIR-Speicher. Wenn während des Imports vorübergehende Fehler auftreten, kann eine erfolgreich importierte Ressource mehrmals überschrieben werden.
  • Der Importvorgang ist idempotent, es sei denn, die Eingabedaten enthalten mehrere gültige Ressourcen mit derselben ID, aber unterschiedlichen Inhalten. In diesem Fall enthält der Speicher nach Abschluss des Imports genau eine Ressource mit jeder ID, aber die doppelten Einträge können eine beliebige Version des Inhalts enthalten. Wenn Sie beispielsweise eine Million Ressourcen mit derselben ID importieren, wird nur eine Ressource in den Speicher geschrieben.
  • Die Vorgangsergebniszähler zählen doppelte IDs nicht als Fehler. Jede Ressource in der Eingabe zählt als ein Erfolg. Dies kann dazu führen, dass die Erfolgszahl größer als die Anzahl der Ressourcen im FHIR-Speicher ist. Dies geschieht häufig beim Importieren von Daten, die in von Patient-everything erstellten Bundles organisiert sind, wobei jedes Bundle eine eigene Kopie einer Ressource wie Practitioner enthält, auf die viele Patienten verweisen.
  • Wenn einige Ressourcen nicht importiert werden können, z. B. aufgrund von Parsing-Fehlern, werden erfolgreich importierte Ressourcen nicht zurückgesetzt. Wenn beispielsweise fünf von 100 Ressourcen nicht importiert werden können, werden die verbleibenden 95 Ressourcen in den Speicher importiert.
  • Wenn Sie das Format BUNDLE verwenden, lehnt die Importmethode Gruppierungen mit Bundle.type von history ab. Die Importmethode wendet die Semantik der Paketverarbeitung nicht auf Batch- oder Transaktionspakete an. Im Gegensatz zu fhir.executeBundle werden Transaktions-Bundles nicht als einzelne Transaktion ausgeführt und Bundle-interne Referenzen werden nicht neu geschrieben. Das Bundle wird wie eine Sammlung von Ressourcen behandelt, die wie in Bundle.entry.resource beschrieben geschrieben werden. Bundle.entry.request wird ignoriert. Dies ermöglicht beispielsweise den Import von Suchsatz-Bundles, die durch eine FHIR-Suche oder einen Patient-everything-Vorgang erstellt wurden.