A Hl7V2Store is a datastore inside a Healthcare dataset that conforms to the FHIR (https://www.hl7.org/hl7V2/STU3/) standard for Healthcare information exchange
To get more information about Hl7V2Store, see:
resource "google_healthcare_hl7_v2_store" "store" {
name = "example-hl7-v2-store"
dataset = google_healthcare_dataset.dataset.id
reject_duplicate_message = true
notification_configs {
pubsub_topic = google_pubsub_topic.topic.id
}
labels = {
label1 = "labelvalue1"
}
}
resource "google_pubsub_topic" "topic" {
name = "hl7-v2-notifications"
}
resource "google_healthcare_dataset" "dataset" {
name = "example-dataset"
location = "us-central1"
}
resource "google_healthcare_hl7_v2_store" "store" {
provider = google-beta
name = "example-hl7-v2-store"
dataset = google_healthcare_dataset.dataset.id
parser_config {
allow_null_header = false
segment_terminator = "Jw=="
schema = <<EOF
{
"schemas": [{
"messageSchemaConfigs": {
"ADT_A01": {
"name": "ADT_A01",
"minOccurs": 1,
"maxOccurs": 1,
"members": [{
"segment": {
"type": "MSH",
"minOccurs": 1,
"maxOccurs": 1
}
},
{
"segment": {
"type": "EVN",
"minOccurs": 1,
"maxOccurs": 1
}
},
{
"segment": {
"type": "PID",
"minOccurs": 1,
"maxOccurs": 1
}
},
{
"segment": {
"type": "ZPD",
"minOccurs": 1,
"maxOccurs": 1
}
},
{
"segment": {
"type": "OBX"
}
},
{
"group": {
"name": "PROCEDURE",
"members": [{
"segment": {
"type": "PR1",
"minOccurs": 1,
"maxOccurs": 1
}
},
{
"segment": {
"type": "ROL"
}
}
]
}
},
{
"segment": {
"type": "PDA",
"maxOccurs": 1
}
}
]
}
}
}],
"types": [{
"type": [{
"name": "ZPD",
"primitive": "VARIES"
}
]
}],
"ignoreMinOccurs": true
}
EOF
}
}
resource "google_healthcare_dataset" "dataset" {
provider = google-beta
name = "example-dataset"
location = "us-central1"
}
resource "google_healthcare_hl7_v2_store" "store" {
provider = google-beta
name = "example-hl7-v2-store"
dataset = google_healthcare_dataset.dataset.id
parser_config {
allow_null_header = false
segment_terminator = "Jw=="
version = "V2"
}
}
resource "google_healthcare_dataset" "dataset" {
provider = google-beta
name = "example-dataset"
location = "us-central1"
}
The following arguments are supported:
name
-
(Required)
The resource name for the Hl7V2Store.
* Changing this property may recreate the Hl7v2 store (removing all data) *
dataset
-
(Required)
Identifies the dataset addressed by this request. Must be in the format
'projects/{project}/locations/{location}/datasets/{dataset}'
reject_duplicate_message
-
(Optional)
Determines whether duplicate messages are allowed.
parser_config
-
(Optional)
A nested object resource
Structure is documented below.
labels
-
(Optional)
User-supplied key-value pairs used to organize HL7v2 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" }.
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field effective_labels
for all of the labels present on the resource.
notification_configs
-
(Optional)
A list of notification configs. Each configuration uses a filter to determine whether to publish a
message (both Ingest & Create) on the corresponding notification destination. Only the message name
is sent as part of the notification. Supplied by the client.
Structure is documented below.
notification_config
-
(Optional, Deprecated)
A nested object resource
Structure is documented below.
~> Warning: notification_config
is deprecated and will be removed in a future major release. Use notification_configs
instead.
The parser_config
block supports:
allow_null_header
-
(Optional)
Determines whether messages with no header are allowed.
segment_terminator
-
(Optional)
Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator.
A base64-encoded string.
schema
-
(Optional)
JSON encoded string for schemas used to parse messages in this
store if schematized parsing is desired.
version
-
(Optional)
The version of the unschematized parser to be used when a custom schema
is not set.
Default value is V1
.
Possible values are: V1
, V2
, V3
.
The notification_configs
block supports:
pubsub_topic
-
(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.
If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver
filter
-
(Optional)
Restricts notifications sent for messages matching a filter. If this is empty, all messages
are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings
Fields/functions available for filtering are:
The notification_config
block supports:
pubsub_topic
-
(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.In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format {{dataset}}/hl7V2Stores/{{name}}
self_link
-
The fully qualified name of this dataset
terraform_labels
-
The combination of labels configured directly on the resource
and default labels configured on the provider.
effective_labels
-
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Terraform, other clients and services.
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Hl7V2Store can be imported using any of these accepted formats:
{{dataset}}/hl7V2Stores/{{name}}
{{dataset}}/{{name}}
In Terraform v1.5.0 and later, use an import
block to import Hl7V2Store using one of the formats above. For example:
import {
id = "{{dataset}}/hl7V2Stores/{{name}}"
to = google_healthcare_hl7_v2_store.default
}
When using the terraform import
command, Hl7V2Store can be imported using one of the formats above. For example:
$ terraform import google_healthcare_hl7_v2_store.default {{dataset}}/hl7V2Stores/{{name}}
$ terraform import google_healthcare_hl7_v2_store.default {{dataset}}/{{name}}