Sie können Pub/Sub verwenden, um in klinischen Studien Benachrichtigungen zu erhalten. in Cloud Healthcare API-Datenspeichern auftreten. Diese Benachrichtigungen informieren Sie, wenn:
- Eine DICOM-Instanz wird mithilfe der Methode
dicomStores.dicomWeb.studies.storeInstances
in einem DICOM-Speicher gespeichert oder aus Cloud Storage importiert. - Eine FHIR-Ressource wird in einem FHIR-Speicher erstellt, aktualisiert oder gelöscht. Allerdings werden keine Benachrichtigungen gesendet, wenn eine FHIR-Ressource aus Cloud Storage importiert wird.
- Eine HL7v2-Nachricht wird zum ersten Mal in einen HL7v2-Speicher aufgenommen oder erstellt. Doppelte Nachrichten lösen keine Benachrichtigung aus.
Wenn eines dieser Ereignisse eintritt, veröffentlicht die Cloud Healthcare API eine Nachricht an eine benannte Pub/Sub-Ressource, die als Thema bezeichnet wird. Die Nachricht kann dann von Anwendungen empfangen werden, die das Thema abonniert haben.
Für DICOM und HL7v2 enthalten diese Nachrichten keine personenbezogenen Daten. Sie umfassen nur Folgendes:
- Das Projekt, für das die Nachricht generiert wird.
- Die Nachrichten-ID
- Der HL7v2-Nachrichtentyp in HL7v2-Nachrichten
FHIR-Pub/Sub-Nachrichten können personenbezogene Daten enthalten. Weitere Informationen finden Sie unter FHIR-Benachrichtigungen mit FHIR-Ressourcendaten.
Eine Übersicht über die Verwendung von Pub/Sub-Benachrichtigungen mit der Cloud Healthcare API finden Sie unter Pub/Sub-Benachrichtigungen.
Hinweise
Pub/Sub-Kontingent prüfen
Machen Sie sich mit der Verwendung von Pub/Sub-Kontingenten und -Limits vertraut, bevor Sie Pub/Sub-Benachrichtigungen konfigurieren. Informationen dazu, wie Sie Ihr Kontingent einsehen und ein höheres Kontingent anfordern und was geschieht, wenn Ihr Kontingent aufgebraucht ist, finden Sie unter Mit Kontingenten arbeiten.
Pub/Sub API aktivieren
Klicken Sie auf die folgende Schaltfläche, um die Pub/Sub API zu aktivieren:
Pub/Sub-Berechtigungen konfigurieren
Damit Nachrichten von der Cloud Healthcare API in Pub/Sub veröffentlicht werden können, müssen Sie die Rolle pubsub.publisher
zum Dienstkonto Ihres Projekts Cloud Healthcare-Dienst-Agent hinzufügen.
Weitere Informationen zum Hinzufügen der erforderlichen Rolle finden Sie unter Pub/Sub-Berechtigungen für DICOM-, FHIR- und HL7v2-Speicher.
Pub/Sub-Thema erstellen
Für jeden Datenspeicher, für den Sie Benachrichtigungen erhalten möchten, müssen Sie ein Pub/Sub-Thema konfigurieren. Einzelne Datenspeicher können ein eigenes Pub/Sub-Thema haben oder mehrere Datenspeicher können dasselbe Thema gemeinsam nutzen. Sie können ein Thema mit der Google Cloud Console oder der Google Cloud CLI erstellen.
Wenn Sie ein Thema erstellen oder in der Konfiguration eines Datenspeichers auf ein Thema verweisen, müssen Sie einen qualifizierten URI im folgenden Format verwenden:
projects/PROJECT_ID/topics/TOPIC_NAME
Dabei ist PROJECT_ID Ihre Google Cloud-Projekt-ID und TOPIC_NAME der Name des Themas.
So erstellen Sie ein Thema:
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Themen auf.
Klicken Sie auf Thema erstellen.
Geben Sie einen Themennamen mit folgendem URI ein:
projects/PROJECT_ID/topics/TOPIC_NAME
Dabei ist PROJECT_ID Ihre Google Cloud-Projekt-ID.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud pubsub topics create
aus, um ein Thema zu erstellen:
gcloud pubsub topics create projects/PROJECT_ID/topics/TOPIC_NAME
Wenn die Anfrage erfolgreich ist, gibt der Befehl die folgende Ausgabe zurück:
Created topic [projects/PROJECT_ID/topics/TOPIC_NAME].
Pub/Sub-Abo erstellen
Um Nachrichten zu einem Thema zu erhalten, müssen Sie ein Pub/Sub-Abo erstellen. Jedes Pub/Sub-Thema sollte mindestens ein Pub/Sub-Abo enthalten.
Durch das Abo wird das Thema mit einer Abonnentenanwendung verbunden, die Nachrichten empfängt und verarbeitet, die für das Thema veröffentlicht wurden.
Abos können so konfiguriert werden, dass sie ein Push-Modell oder ein Pull-Modell verwenden.
Abos können so konfiguriert werden, dass Nachrichten anhand ihrer Attribute gefiltert werden. Weitere Informationen finden Sie unter Nachrichten aus einem Abo filtern.
Um ein Abo zu erstellen, führen Sie die folgenden Schritte aus.
Console
Rufen Sie in der Google Cloud Console die Seite Pub/Sub-Themen auf.
Klicken Sie auf das Thema Ihres Projekts.
Klicken Sie auf Abo erstellen.
Geben Sie einen Namen für das Abo ein:
projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME
Belassen Sie den Zustellungstyp bei Pull.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud pubsub subscriptions create
aus, um ein Thema zu erstellen:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
Wenn die Anfrage erfolgreich ist, gibt der Befehl die folgende Ausgabe zurück:
Created subscription [projects/PROJECT_ID/subscriptions/TOPIC_NAME].
Gespeicherte Benachrichtigungen zu DICOM-Instanzen aufrufen
Informationen zur Verwendung von Pub/Sub-Benachrichtigungen mit DICOM-Daten finden Sie unter DICOM Pub/Sub-Benachrichtigungen.
HL7v2-Benachrichtigungen ansehen
Die Ressource Hl7V2Store
enthält ein Array notificationConfigs
, in dem Sie Pub- und Sub-Themen und Filterkriterien angeben können.
Wenn eine HL7v2-Nachricht aufgenommen oder in einem HL7v2-Speicher erstellt wird, veröffentlicht die Cloud Healthcare API eine Nachricht in den Pub/Sub-Themen, die einen Filter haben, der mit der HL7v2-Nachricht übereinstimmt.
Führen Sie die folgenden Schritte aus, um eine Benachrichtigung für eine aufgenommene HL7v2-Nachricht anzuzeigen:
- Erstellen oder bearbeiten Sie einen HL7v2-Speicher und konfigurieren Sie ihn mit einem Pub/Sub-Thema.
- Fügen Sie dem Dienstkonto Ihres Projekts die erforderliche Rolle
pubsub.publisher
hinzu. - Nehmen Sie eine HL7v2-Nachricht in den HL7v2-Speicher auf. Dadurch wird die Cloud Healthcare API veranlasst, eine Nachricht im konfigurierten Pub/Sub-Thema zu veröffentlichen.
Führen Sie den Befehl
gcloud pubsub subscriptions pull
aus, um die im Pub/Sub-Thema veröffentlichte Nachricht anzuzeigen:gcloud pubsub subscriptions pull --auto-ack projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION
Der Befehl gibt die folgende Ausgabe zur aufgenommenen HL7v2-Nachricht zurück:
┌--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┐ | DATA | MESSAGE_ID | ATTRIBUTES | ├--------------------------------------------------------------------------------------------------------------------|-----------------|---------------| | projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_MESSAGE_ID | 123456789012345 | msgType=TYPE | └--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┘
Cloud Healthcare API und Pub/Sub-Nachrichtenspeicherrichtlinie
Um sicherzustellen, dass sich die Cloud Healthcare API-Daten und die zugehörigen Daten in Pub/Sub-Nachrichten in derselben Region befinden, müssen Sie eine Pub/Sub-Nachrichtenspeicherrichtlinie festlegen.
Sie müssen die Nachrichtenspeicherrichtlinie für das im Datenspeicher konfigurierte Pub/Sub-Thema explizit festlegen, damit die Daten in derselben Region bleiben. Wenn sich Ihr Cloud Healthcare API-Dataset und Ihr FHIR-Speicher beispielsweise in us-central1
befinden, darf die Nachrichtenspeicherrichtlinie nur die Region us-central1
zulassen.
Informationen zum Konfigurieren einer Richtlinie für den Nachrichtenspeicher finden Sie unter Richtlinien für den Nachrichtenspeicher konfigurieren.
Fehlerbehebung bei verpassten Pub/Sub-Nachrichten
Wenn eine Benachrichtigung nicht in Pub/Sub veröffentlicht werden kann, wird ein Fehler in Cloud Logging in Logs erfasst. Weitere Informationen finden Sie unter Fehlerlogs in Cloud Logging ansehen.
Wenn die Fehlergenerierungsrate ein Limit überschreitet, werden Fehler, die dieses Limit überschreiten, nicht an Cloud Logging gesendet.
Nächste Schritte
Hier erfahren Sie, wie Sie ein Pub/Sub-Thema konfigurieren: