Skip to content

googleHealthcareDicomStore

A DicomStore is a datastore inside a Healthcare dataset that conforms to the DICOM (https://www.dicomstandard.org/about/) standard for Healthcare information exchange

To get more information about DicomStore, see:

Example Usage - Healthcare Dicom Store Basic

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as google from "./.gen/providers/google";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: google.
For a more precise conversion please use the --provider flag in convert.*/
const googleHealthcareDatasetDataset =
  new google.healthcareDataset.HealthcareDataset(this, "dataset", {
    location: "us-central1",
    name: "example-dataset",
  });
const googlePubsubTopicTopic = new google.pubsubTopic.PubsubTopic(
  this,
  "topic",
  {
    name: "dicom-notifications",
  }
);
new google.healthcareDicomStore.HealthcareDicomStore(this, "default", {
  dataset: googleHealthcareDatasetDataset.id,
  labels: [
    {
      label1: "labelvalue1",
    },
  ],
  name: "example-dicom-store",
  notification_config: [
    {
      pubsub_topic: googlePubsubTopicTopic.id,
    },
  ],
});

Example Usage - Healthcare Dicom Store Bq Stream

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as google from "./.gen/providers/google";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: google.
For a more precise conversion please use the --provider flag in convert.*/
const googleBigqueryDatasetBqDataset =
  new google.bigqueryDataset.BigqueryDataset(this, "bq_dataset", {
    dataset_id: "dicom_bq_ds",
    delete_contents_on_destroy: true,
    description: "This is a test description",
    friendly_name: "test",
    location: "US",
    provider: "${google-beta}",
  });
const googleBigqueryTableBqTable = new google.bigqueryTable.BigqueryTable(
  this,
  "bq_table",
  {
    dataset_id: googleBigqueryDatasetBqDataset.datasetId,
    deletion_protection: false,
    provider: "${google-beta}",
    table_id: "dicom_bq_tb",
  }
);
const googleHealthcareDatasetDataset =
  new google.healthcareDataset.HealthcareDataset(this, "dataset", {
    location: "us-central1",
    name: "example-dataset",
    provider: "${google-beta}",
  });
const googlePubsubTopicTopic = new google.pubsubTopic.PubsubTopic(
  this,
  "topic",
  {
    name: "dicom-notifications",
    provider: "${google-beta}",
  }
);
new google.healthcareDicomStore.HealthcareDicomStore(this, "default", {
  dataset: googleHealthcareDatasetDataset.id,
  labels: [
    {
      label1: "labelvalue1",
    },
  ],
  name: "example-dicom-store",
  notification_config: [
    {
      pubsub_topic: googlePubsubTopicTopic.id,
    },
  ],
  provider: "${google-beta}",
  stream_configs: [
    {
      bigquery_destination: [
        {
          table_uri: `bq://\${${googleBigqueryDatasetBqDataset.project}}.\${${googleBigqueryDatasetBqDataset.datasetId}}.\${${googleBigqueryTableBqTable.tableId}}`,
        },
      ],
    },
  ],
});

Argument Reference

The following arguments are supported:

  • name - (Required) The resource name for the DicomStore. ** Changing this property may recreate the Dicom store (removing all data) **

  • dataset - (Required) Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'


  • labels - (Optional) User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}-]{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}-]{0,63} No more than 64 labels can be associated with a given store. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

  • notificationConfig - (Optional) A nested object resource Structure is documented below.

  • streamConfigs - (Optional, Beta) To enable streaming to BigQuery, configure the streamConfigs object in your DICOM store. streamConfigs is an array, so you can specify multiple BigQuery destinations. You can stream metadata from a single DICOM store to up to five BigQuery tables in a BigQuery dataset. Structure is documented below.

The notificationConfig block supports:

  • pubsubTopic - (Required) The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

The streamConfigs block supports:

  • bigqueryDestination - (Required) BigQueryDestination to include a fully qualified BigQuery table URI where DICOM instance metadata will be streamed. Structure is documented below.

The bigqueryDestination block supports:

  • tableUri - (Required) a fully qualified BigQuery table URI where DICOM instance metadata will be streamed.

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • id - an identifier for the resource with format {{dataset}}/dicomStores/{{name}}

  • selfLink - The fully qualified name of this dataset

Timeouts

This resource provides the following Timeouts configuration options:

  • create - Default is 20 minutes.
  • update - Default is 20 minutes.
  • delete - Default is 20 minutes.

Import

DicomStore can be imported using any of these accepted formats:

$ terraform import google_healthcare_dicom_store.default {{dataset}}/dicomStores/{{name}}
$ terraform import google_healthcare_dicom_store.default {{dataset}}/{{name}}