Auf dieser Seite wird erläutert, wie Sie Pub/Sub verwenden. um Benachrichtigungen zu erhalten, wenn ein klinisches Ereignis in einem FHIR-Speicher auftritt.
Sie können Pub/Sub-Benachrichtigungen für verschiedene Anwendungsfälle verwenden, z. B. und das Auslösen einer nachgelagerten Verarbeitung oder Analyse neuer Daten. Beispiel: kann das ML-Modell Benachrichtigungen, wenn neue Daten für Training und Generierung oder Vorhersagen, um die Patientenversorgung zu verbessern.
Übersicht
Sie können Pub/Sub-Benachrichtigungen erhalten, wenn eine FHIR-Ressource die in einem FHIR-Speicher erstellt, aktualisiert, gepatcht oder gelöscht wurden. Die Cloud Healthcare API kann Senden von Benachrichtigungen, wenn eine FHIR-Ressource aus Cloud Storage importiert wird.
Um Benachrichtigungen zu erhalten, müssen Sie ein Pub/Sub-Thema erstellen und und konfigurieren Sie dann den FHIR-Speicher so, dass Benachrichtigungen an den .
Das folgende Diagramm zeigt, wie Pub/Sub-Benachrichtigungen erstellt werden
und bereitgestellt werden, wenn eine FHIR-Ressource mithilfe der Methode
fhir.create
. Die Schritte sind die gleichen, wenn eine FHIR-Ressource aktualisiert, gepatcht oder gelöscht wird.
Abbildung 1. Verwenden von Pub/Sub-Benachrichtigungen für Änderungen in einem FHIR-Speicher
Abbildung 1 zeigt die folgenden Schritte:
- Ein Aufrufer stellt eine
fhirStores.fhir.create
-Anfrage, um eine FHIR-Ressource zu erstellen. - Der FHIR-Speicher empfängt die Anfrage und erstellt ein Pub/Sub. und sendet sie an das im FHIR-Speicher konfigurierte Pub/Sub-Thema.
- Pub/Sub leitet die Nachricht an die angehängten Abos weiter zum Thema.
- Die Abonnenten erhalten von ihrem Abo eine Benachrichtigung in Form einer Pub/Sub-Nachricht. Jedes Abo kann einen oder mehrere Abonnenten haben, um die Parallelität zu erhöhen.
Benachrichtigungskonfiguration
Sie können Pub/Sub-Benachrichtigungen und ihr Verhalten in einem
FhirNotificationConfig
-Objekt in einem FHIR-Speicher. Jeder FHIR-Speicher kann einen FhirNotificationConfig
haben
konfiguriert.
In der folgenden Tabelle werden die Felder der Datei FhirNotificationConfig
beschrieben.
-Objekt enthält.
Feld | Beschreibung | Beispiel |
---|---|---|
pubsubTopic |
Das Pub/Sub-Thema, das an den FHIR-Speicher angehängt werden soll. Benachrichtigungen werden an das angegebene Thema gesendet. | projects/my-project/topics/my-topic |
sendFullResource |
Gibt an, ob der vollständige Inhalt einer erstellten, aktualisierten oder gepatchten FHIR-Ressource in eine Benachrichtigung aufgenommen werden soll. Dieses Feld hat keine Auswirkungen auf Benachrichtigungen, die gesendet werden, wenn FHIR-Ressourcen gelöscht werden. Wenn Sie den vollständigen Inhalt einer gelöschten Ressource einschließen möchten, setzen Sie sendPreviousResourceOnDelete auf true . |
true |
sendPreviousResourceOnDelete |
Gibt an, ob der vollständige Inhalt einer gelöschten FHIR-Ressource in eine Benachrichtigung aufgenommen werden soll. Dieses Feld hat keine Auswirkungen auf Benachrichtigungen, die gesendet werden, wenn FHIR-Ressourcen erstellt, aktualisiert oder gepatcht werden. | true |
Benachrichtigungsformat und -inhalt
Jede Pub/Sub-Benachrichtigung enthält ein message
Objekt enthalten, das
Informationen zum klinischen Ereignis. Das Objekt message
sieht aus,
etwa so:
{ "message": { "attributes": { "action": "ACTION", "lastUpdatedTime": "RFC_1123_FORMAT_DATETIME", "payloadType": "PAYLOAD_TYPE", "resourceType": "FHIR_RESOURCE_TYPE", "storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "versionId": "VERSION_ID" }, "data": "BASE_64_ENCODED_DATA", "messageId": "MESSAGE_ID", "publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ" } }
Informationen zu zusätzlichen Feldern in den einzelnen Pub/Sub-Nachrichten finden Sie hier:
Siehe ReceivedMessage
und PubsubMessage
.
In der folgenden Tabelle werden die einzelnen Felder im attributes
-Objekt beschrieben:
Attribut | Beschreibung | Beispiel |
---|---|---|
action |
Die Aktion, die für eine FHIR-Ressource aufgetreten ist. Zulässige Werte:
|
CreateResource |
resourceType |
Der Typ der geänderten FHIR-Ressource. Mögliche Werte sind alle unterstützten FHIR-Ressourcentypen in der Cloud Healthcare API. | Patient |
payloadType |
Der Nutzlasttyp der Nachricht, entweder NameOnly oder FullResource . |
FullResource |
storeName |
Der vollständige Ressourcenname des FHIR-Speichers, in dem die Aktion aufgetreten ist. | projects/my-project/locations/us/datasets/my-dataset/fhirStores/my-fhir-store |
lastUpdatedTime |
Ein Zeitstempel der letzten Änderung der FHIR-Ressource. Der Zeitstempel hat das RFC 1123-Format. | Mon, 01 Jan 2020 00:00:00 UTC |
versionId |
Die ID der neuesten Version der FHIR-Ressource, in der die Aktion aufgetreten ist. Weitere Informationen zu Versions-IDs finden Sie unter FHIR-Ressourcenversionen auflisten. | MTY4MzA2MDQzOTI5NjIxMDAwMA |
In der folgenden Tabelle werden die verbleibenden Felder im message
-Objekt beschrieben:
Feld | Beschreibung | Beispiel |
---|---|---|
data |
Ein Basis-64-codierter String des FHIR-Ressourcennamens oder des FHIR-Ressourceninhalts, abhängig von den in FhirNotificationConfig angegebenen Werten. |
|
messageId |
Eine Kennung für die Pub/Sub-Nachricht. | |
publishTime |
Der Zeitpunkt, zu dem der Pub/Sub-Server die Nachricht veröffentlicht hat. |
Informationen angeben, die in Benachrichtigungen enthalten sein sollen
Pub/Sub-Benachrichtigungen, wie in Benachrichtigungsformat und -inhalt, einschließlich Standardsatz von Feldern. Sie können entweder die vollständige FHIR-Ressource oder nur in jeder Benachrichtigung. Der Ressourcenname enthält den vollständigen Pfad zur Ressource und die Ressourcen-ID im folgenden Format:
projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID
FHIR-Ressourceninformationen werden in data
gespeichert.
als Basis-64-codierten String.
Durch Einbeziehen des vollständigen Inhalts einer FHIR-Ressource müssen Sie nicht um Pub/Sub und die Cloud Healthcare API separat nach Ressourcen abzufragen Details.
FHIR-Ressourcennamen abrufen
Um nur den Namen einer FHIR-Ressource beim Erstellen, Aktualisieren oder
Patchen Sie die Ressource, legen Sie sendFullResource
auf false
fest.
Wenn Sie den Namen beim Löschen einer FHIR-Ressource nur einschließen möchten, legen Sie Folgendes fest:
sendPreviousResourceOnDelete
in false
.
Wenn Sie die Benachrichtigung ansehen, sieht das message
-Objekt in etwa so aus:
{ "message": { "attributes": { "action": "{CreateResource|PatchResource|UpdateResource|DeleteResource}", "lastUpdatedTime": "RFC_1123_FORMAT_DATETIME", "payloadType": "NameOnly", "resourceType": "FHIR_RESOURCE_TYPE", "storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "versionId": "VERSION_ID" }, "data": "BASE64_ENCODED_FHIR_RESOURCE_NAME", "messageId": "MESSAGE_ID", "publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ" } }
Beachten Sie in der Benachrichtigung Folgendes:
Das Feld
payloadType
ist aufNameOnly
gesetzt, um Folgendes anzugeben: der Anfrage:- Bei Erstellungs-, Aktualisierungs- und Patchvorgängen ist
sendFullResource
auffalse
gesetzt. - Bei Löschvorgängen ist
sendPreviousResourceOnDelete
auffalse
gesetzt.
- Bei Erstellungs-, Aktualisierungs- und Patchvorgängen ist
Nur der FHIR-Ressourcenname ist im Feld
data
enthalten. Der Name lautet als Basis-64-codierter String codiert.
Erstellte, aktualisierte oder gepatchte FHIR-Ressourceninhalte abrufen
Um den vollständigen Inhalt einer FHIR-Ressource beim Erstellen, Aktualisieren oder
Patchen Sie die Ressource, legen Sie sendFullResource
auf true
fest.
Dieses Verhalten gilt nicht, wenn Sie eine FHIR-Ressource löschen. Wenn Sie eine
FHIR-Ressource und sendFullResource
ist auf true
festgelegt, aber sendPreviousResourceOnDelete
auf false
festgelegt ist, wird die gleiche Benachrichtigung wie beim Abrufen des
FHIR-Ressourcenname. FHIR-Ressource einschließen
Informationen zum Löschen einer FHIR-Ressource finden Sie unter Gelöschte FHIR-Ressourceninhalte abrufen.
Wenn Sie die Benachrichtigung ansehen, sieht das message
-Objekt in etwa so aus:
{ "message": { "attributes": { "action": "{CreateResource|PatchResource|UpdateResource}", "lastUpdatedTime": "RFC_1123_FORMAT_DATETIME", "payloadType": "FullResource", "resourceType": "FHIR_RESOURCE_TYPE", "storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "versionId": "VERSION_ID" }, "data": "BASE64_ENCODED_FHIR_RESOURCE_CONTENTS", "messageId": "MESSAGE_ID", "publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ" } }
Beachten Sie in der Benachrichtigung Folgendes:
payloadType
ist aufFullResource
gesetzt, um anzugeben, dasssendFullResource
auftrue
festgelegt. Der vollständige Inhalt der FHIR-Ressource ist im Felddata
enthalten. als Base64-codierten String.- Das Feld
data
enthält den FHIR-Ressourceninhalt als Base64-codierten String.
Gelöschte FHIR-Ressourceninhalte abrufen
Um den vollständigen Inhalt einer FHIR-Ressource aufzunehmen, wenn Sie sie löschen,
Legen Sie sendPreviousResourceOnDelete
auf true
fest.
Wenn Sie die Benachrichtigung ansehen, sieht das message
-Objekt in etwa so aus:
{ "message": { "attributes": { "action": "DeleteResource", "lastUpdatedTime": "RFC_1123_FORMAT_DATETIME", "payloadType": "FullResource", "resourceType": "FHIR_RESOURCE_TYPE", "storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "versionId": "VERSION_ID" }, "data": "BASE64_ENCODED_FHIR_RESOURCE_CONTENTS", "messageId": "MESSAGE_ID", "publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ" } }
Beachten Sie die Werte in den folgenden Feldern:
payloadType
ist aufFullResource
gesetzt, auch wennsendFullResource
gleich auffalse
festgelegt.Der vollständige Inhalt der FHIR-Ressource ist im Feld
data
enthalten. als Base64-codierten String.Das Feld
data
enthält den Inhalt der FHIR-Ressource als Base64-codierten String bevor die Ressource gelöscht wurde.
FHIR-Benachrichtigungen konfigurieren und ansehen
Die folgenden Beispiele zeigen, wie das generierte Pub/Sub-Element aufgerufen wird. Benachrichtigung, wenn eine FHIR-Ressource in einem FHIR-Speicher erstellt wird.
Hinweise
Schließen Sie die folgenden Schritte ab, bevor Sie Pub/Sub-Benachrichtigungen konfigurieren und verwenden folgenden Abschnitten:
Pub/Sub-Kontingent prüfen
Machen Sie sich mit den Pub/Sub-Kontingenten und -Limits vertraut. 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
Aktivieren Sie in der Google Cloud Console die Pub/Sub API:
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
Informationen zum Erstellen eines Themas finden Sie unter Thema erstellen.
Einzelne Datenspeicher können ein eigenes Pub/Sub-Thema haben oder mehrere Datenspeicher können dasselbe Thema gemeinsam nutzen.
Verwenden Sie das folgende Format, wenn Sie das Pub/Sub-Thema angeben:
projects/PROJECT_ID/topics/TOPIC_NAME
PROJECT_ID
ist Ihre Google Cloud-Projekt-ID und
TOPIC_NAME
ist der Name des Pub/Sub-Themas.
Pub/Sub-Abo erstellen
Um Nachrichten zu einem Thema zu erhalten, müssen Sie ein Pub/Sub-Abo erstellen. Jeden Pub/Sub-Thema benötigt mindestens ein Pub/Sub Abo. Durch das Abo wird das Thema mit einer Abonnentenanwendung verbunden, die Nachrichten empfängt und verarbeitet, die für das Thema veröffentlicht wurden.
Informationen zum Erstellen eines Abos und zum Anhängen an ein Pub/Sub-Thema findest du unter Abos erstellen
FHIR-Speicher erstellen oder bearbeiten
Erstellen oder
bearbeiten
Einen FHIR-Speicher mit einem konfigurierten FhirNotificationConfig
-Objekt
In den folgenden Beispielen wird gezeigt, wie Sie einen vorhandenen FHIR-Speicher bearbeiten.
Die Felder sendFullResource
und sendPreviousResourceOnDelete
sind festgelegt
auf true
, was bedeutet, dass Benachrichtigungen den vollständigen FHIR-Ressourceninhalt enthalten
Eine Ressource wird erstellt, aktualisiert, gepatcht oder gelöscht.
REST
Verwenden Sie zum Bearbeiten des FHIR-Speichers die Methode projects.locations.datasets.fhirStores.patch
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- LOCATION ist der Standort des Datasets
- DATASET_ID: das übergeordnete Dataset des FHIR-Speichers
- FHIR_STORE_ID: die FHIR-Speicher-ID
- PUBSUB_TOPIC_ID: die ID des Pub/Sub-Themas
JSON-Text der Anfrage:
{ "notificationConfigs": [ { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID", "sendFullResource": true, "sendPreviousResourceOnDelete": true } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "notificationConfigs": [ { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID", "sendFullResource": true, "sendPreviousResourceOnDelete": true } ] } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=notificationConfigs"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "notificationConfigs": [ { "pubsubTopic": "projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID", "sendFullResource": true, "sendPreviousResourceOnDelete": true } ] } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=notificationConfigs" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
FHIR-Ressource erstellen
Erstellen Sie eine FHIR-Ressource im FHIR-Speicher. Die Anfrage veranlasst die Cloud Healthcare API, eine an das konfigurierte Pub/Sub-Thema gesendet.
Pub/Sub-Benachrichtigung ansehen
Rufen Sie die im Pub/Sub-Thema veröffentlichte Nachricht auf. Die folgende Nachricht wurde generiert, als eine Patientenressource in einem FHIR-Speicher erstellt wurde.
In der Beispielausgabe ist der Inhalt der FHIR-Ressource in einem base64-codierten
String im Feld data
. Sie müssen den base64-codierten Wert decodieren, um
und den Inhalt.
Die meisten Plattformen und Betriebssysteme haben Tools zum Decodieren von Base64-Text.
REST
Um die im Pub/Sub-Thema veröffentlichte Nachricht anzuzeigen, verwenden Sie den
projects.subscriptions.pull
. Im folgenden Beispiel wird der Abfrageparameter ?maxMessages=10
verwendet, um
Geben Sie die maximale Anzahl von Nachrichten an, die in der Anfrage zurückgegeben werden sollen. Sie können den Wert an Ihre Bedürfnisse anpassen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- PUBSUB_SUBSCRIPTION_ID: die ID des Abos, das an das im FHIR-Speicher konfigurierte Pub/Sub-Thema angehängt ist
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID:pull?maxMessages=10"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID:pull?maxMessages=10" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
gcloud
Führen Sie den Befehl
gcloud pubsub subscriptions pull
.
Im Beispiel werden die folgenden Google Cloud CLI-Flags verwendet:
--format=json
: Rendert die Ausgabe im JSON-Format.--auto-ack
: Jede abgerufene Nachricht wird automatisch bestätigt.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- PROJECT_ID ist die ID Ihres Google Cloud-Projekts
- PUBSUB_SUBSCRIPTION_ID: die ID des Abos, das an das im FHIR-Speicher konfigurierte Pub/Sub-Thema angehängt ist
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud pubsub subscriptions pull \ projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID \ --auto-ack \ --format=json
Windows (PowerShell)
gcloud pubsub subscriptions pull ` projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID ` --auto-ack ` --format=json
Windows (cmd.exe)
gcloud pubsub subscriptions pull ^ projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION_ID ^ --auto-ack ^ --format=json
Sie sollten eine Antwort ähnlich der folgenden erhalten:
[ { "ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUaAggUBXx9cEFLdVhUcGhRDRlyfWB9bQ5GAgpGWixfURsHaE5tdR", "ackStatus": "SUCCESS", "message": { "attributes": { "action": "CreateResource", "lastUpdatedTime": "Mon, 01 Jan 2020 00:00:00 UTC", "payloadType": "FullResource", "resourceType": "Patient", "storeName": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID", "versionId": "MTY4MzA2MDQzOTI5NjIxMDAwMA" }, "data": "wogICJiaXJ0aERhdGUiOiAiMTk3MC0wMS0wMSIsCiAgImdlbmRlciI6ICJmZW1hbGUiLAogICJpZCI6ICIyYmMwODg4Yi00MGRmLTQwYzctOWRhYi0wMzc4YTFiZWE0MGIiLAogICJtZXRhIjogewogICAgImxhc3RVcGRhdGVkIjogIjIwMjMtMDUtMDJUMjA6NDc6MTkuMjk2MjEwKzAwOjAwIiwKICAgICJ2ZXJzaW9uSWQiOiAiTVRZNE16QTJNRFF6T1RJNU5qSXhNREF3TUEiCiAgfSwKICAibmFtZSI6IFsKICAgIHsKICAgICAgImZhbWlseSI6ICJTbWl0aCIsCiAgICAgICJnaXZlbiI6IFsKICAgICAgICAiRGFyY3kiCiAgICAgIF0sCiAgICAgICJ1c2UiOiAib2ZmaWNpYWwiCiAgICB9CiAgXSwKICAicmVzb3VyY2VUeXBlIjogIlBhdGllbnQiCn0=", "messageId": "7586159156345265", "publishTime": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ" } } ]
Verhalten, wenn eine FHIR-Ressource zu groß oder der Traffic hoch ist
Wenn die Größe einer FHIR-Ressource oder der Cloud Healthcare API zu groß ist
Server stark frequentiert, kann das Feld attributes
enthalten nur den Ressourcennamen anstelle des vollständigen Ressourceninhalts.
Dieses Verhalten tritt auch dann auf, wenn sendFullResource
und
sendPreviousResourceOnDelete
sind auf true
gesetzt.
Um zu prüfen, ob eine Pub/Sub-Benachrichtigung die vollständige FHIR-Ressource enthält, aktivieren Sie das Kästchen neben
das Feld payloadType
in der Antwort nach dem Anzeigen der Benachrichtigung.
Wenn payloadType
auf nameOnly
gesetzt ist, dann gilt der
Das Feld attributes
hat die FHIR-Ressourcendaten nicht vollständig ausgefüllt. Anschließend müssen Sie
den Inhalt der FHIR-Ressource stattdessen manuell aus dem FHIR-Speicher abrufen
aus der Pub/Sub-Nachricht.
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 Speicherrichtlinie für Nachrichten explizit in Pub/Sub festlegen
für den Datenspeicher konfiguriert, um sicherzustellen, dass die Daten im selben
Region 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 einen Grenzwert überschreitet, sind Fehler, die diesen Grenzwert überschreiten, Fehler. nicht an Cloud Logging gesendet.
FHIR-Benachrichtigungen mithilfe der NotificationConfig
-Konfiguration ansehen (eingestellt)
Die Ressource FhirStore
enthält ein NotificationConfig
-Objekt, in dem Sie ein Pub/Sub-Thema angeben können.
Änderungen an FHIR-Ressourcen enthalten immer die folgende Kennung im
data
der Pub/Sub-Nachricht:
projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/RESOURCE_TYPE/RESOURCE_ID
Die folgenden Schlüssel/Wert-Paare sind immer im Feld attributes
der Nachricht enthalten:
Attributname | Mögliche Werte | Beispiel | Beschreibung |
---|---|---|---|
action |
|
CreateResource |
Der Ereignistyp, der gerade aufgetreten ist |
resourceType |
Jeder FHIR-Ressourcentyp | Patient |
Der Ressourcentyp, der geändert wurde |
Nächste Schritte
- Verwenden Sie die Ablaufsteuerung, um vorübergehende Trafficspitzen von Pub/Sub-Nachrichten zu verarbeiten.
- Behandeln Sie Nachrichtenfehler.
- Nachrichten wiedergeben und dauerhaft löschen:
- Sehen Sie sich den Überblick über die Pub/Sub-Architektur an.