Configurazione delle notifiche Pub/Sub

Puoi utilizzare Pub/Sub per ricevere notifiche quando si verificano eventi clinici nei datastore dell'API Cloud Healthcare. Queste notifiche ti informano quando:

Quando si verifica uno di questi eventi, l'API Cloud Healthcare pubblica un messaggio in una risorsa Pub/Sub denominata argomento. Il messaggio può quindi essere ricevuto dalle applicazioni sottoscritte all'argomento.

Per DICOM e HL7v2, questi messaggi non contengono informazioni personali. Includono solo quanto segue:

  • Il progetto per cui viene generato il messaggio
  • L'ID del messaggio
  • Nei messaggi HL7v2, il tipo di messaggio HL7v2

I messaggi FHIR Pub/Sub possono contenere informazioni personali. Per ulteriori informazioni, consulta Notifiche FHIR contenenti dati delle risorse FHIR.

Per una panoramica sull'utilizzo delle notifiche Pub/Sub con l'API Cloud Healthcare, consulta Notifiche Pub/Sub.

Prima di iniziare

Rivedi quota Pub/Sub

Prima di configurare le notifiche Pub/Sub, consulta Quote e limiti di Pub/Sub. Per informazioni su come visualizzare e richiedere una quota maggiore e cosa succede se esaurisci la quota, consulta Utilizzo delle quote.

Abilita l'API Pub/Sub

Per abilitare l'API Pub/Sub, fai clic sul pulsante seguente:

Abilitare l'API

Configura le autorizzazioni Pub/Sub

Per consentire la pubblicazione dei messaggi in Pub/Sub dall'API Cloud Healthcare, devi aggiungere il ruolo pubsub.publisher all'account di servizio dell'agente di servizio Cloud Healthcare del progetto. Vedi Autorizzazioni Pub/Sub per archiviare DICOM, FHIR e HL7v2 per la procedura per aggiungere il ruolo richiesto.

crea un argomento Pub/Sub

Devi configurare un argomento Pub/Sub per ogni datastore per il quale vuoi ricevere le notifiche. I singoli datastore possono avere il proprio argomento Pub/Sub oppure più datastore possono condividere lo stesso argomento. Puoi creare un argomento utilizzando la console Google Cloud o Google Cloud CLI.

Quando crei un argomento o fai riferimento a un argomento nella configurazione di un datastore, devi utilizzare un URI qualificato nel seguente formato:

projects/PROJECT_ID/topics/TOPIC_NAME

dove PROJECT_ID è l'ID progetto Google Cloud e TOPIC_NAME è il nome dell'argomento.

Per creare un argomento:

Console

  1. Vai alla pagina Argomenti di Pub/Sub nella console Google Cloud.

    Vai alla pagina degli argomenti Pub/Sub

  2. Fai clic su Crea argomento.

  3. Inserisci un nome per l'argomento con il seguente URI:

    projects/PROJECT_ID/topics/TOPIC_NAME

    dove PROJECT_ID è l'ID progetto Google Cloud.

  4. Fai clic su Crea.

gcloud

Per creare un argomento, esegui il comando gcloud pubsub topics create:

gcloud pubsub topics create projects/PROJECT_ID/topics/TOPIC_NAME

Se la richiesta riesce, il comando restituisce il seguente output:

Created topic [projects/PROJECT_ID/topics/TOPIC_NAME].

Crea una sottoscrizione Pub/Sub

Per ricevere i messaggi pubblicati in un argomento, devi creare una sottoscrizione Pub/Sub. Ogni argomento Pub/Sub deve avere almeno una sottoscrizione Pub/Sub.

La sottoscrizione collega l'argomento a un'applicazione del sottoscrittore che riceve ed elabora i messaggi pubblicati nell'argomento.

Le sottoscrizioni possono essere configurate in modo da utilizzare un modello push o un modello pull.

Le sottoscrizioni possono essere configurate per filtrare i messaggi in base ai loro attributi; consulta le istruzioni su come filtrare i messaggi di una sottoscrizione.

Per creare un abbonamento:

Console

  1. Vai alla pagina Argomenti di Pub/Sub nella console Google Cloud.

    Vai alla pagina degli argomenti Pub/Sub

  2. Fai clic su un argomento del progetto.

  3. Fai clic su Crea sottoscrizione.

  4. Inserisci un nome per la sottoscrizione:

    projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME

    Lascia Tipo di consegna impostato su Pull.

  5. Fai clic su Crea.

gcloud

Per creare un argomento, esegui il comando gcloud pubsub subscriptions create:

gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME

Se la richiesta riesce, il comando restituisce il seguente output:

Created subscription [projects/PROJECT_ID/subscriptions/TOPIC_NAME].

Visualizza notifiche delle istanze DICOM archiviate

Per informazioni sull'utilizzo delle notifiche Pub/Sub con i dati DICOM, consulta Notifiche Pub/Sub DICOM.

Visualizza notifiche HL7v2

La risorsa Hl7V2Store contiene un array notificationConfigs in cui puoi specificare gli argomenti e i criteri di filtro Pub/Sub.

Quando un messaggio HL7v2 viene importato o creato in un archivio HL7v2, l'API Cloud Healthcare pubblica un messaggio negli argomenti Pub/Sub che dispongono di un filtro che corrisponde al messaggio HL7v2.

Per visualizzare una notifica per un messaggio HL7v2 importato, completa la seguente procedura:

  1. Crea o modifica un archivio HL7v2 e configuralo con un argomento Pub/Sub.
  2. Aggiungi il ruolo pubsub.publisher richiesto all'account di servizio del progetto.
  3. Importa un messaggio HL7v2 nell'archivio HL7v2. Questo attiva l'API Cloud Healthcare per pubblicare un messaggio nell'argomento Pub/Sub configurato.
  4. Per visualizzare il messaggio pubblicato nell'argomento Pub/Sub, esegui il comando gcloud pubsub subscriptions pull:

    gcloud pubsub subscriptions pull --auto-ack projects/PROJECT_ID/subscriptions/PUBSUB_SUBSCRIPTION
    

    Il comando restituisce il seguente output sul messaggio HL7v2 importato:

    ┌--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┐
    |                                                                 DATA                                               |    MESSAGE_ID   |   ATTRIBUTES  |
    ├--------------------------------------------------------------------------------------------------------------------|-----------------|---------------|
    | projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_MESSAGE_ID | 123456789012345 | msgType=TYPE  |
    └--------------------------------------------------------------------------------------------------------------------|-----------------|---------------┘
    

API Cloud Healthcare e criteri di archiviazione dei messaggi Pub/Sub

Per assicurarti che i dati dell'API Cloud Healthcare e i dati associati nei messaggi Pub/Sub risiedano nella stessa regione, devi impostare un criterio di archiviazione dei messaggi Pub/Sub.

Devi impostare esplicitamente i criteri di archiviazione dei messaggi nell'argomento Pub/Sub configurato nel datastore per assicurarti che i dati rimangano nella stessa regione. Ad esempio, se il set di dati dell'API Cloud Healthcare e l'archivio FHIR si trovano in us-central1, il criterio di archiviazione dei messaggi deve consentire solo la regione us-central1.

Per configurare i criteri di archiviazione dei messaggi, vedi Configurazione dei criteri dell'archivio messaggi.

Risolvere i problemi relativi ai messaggi Pub/Sub persi

Se non è possibile pubblicare una notifica in Pub/Sub, viene registrato un errore in Cloud Logging. Per maggiori informazioni, consulta Visualizzazione dei log degli errori in Cloud Logging.

Se la frequenza di generazione degli errori supera un limite, gli errori che superano il limite non vengono inviati a Cloud Logging.

Passaggi successivi

Scopri come configurare un argomento Pub/Sub in: