REST Resource: projects.locations.datasets.hl7V2Stores

Resource: Hl7V2Store

Represents an HL7v2 store.

JSON representation
  "name": string,
  "parserConfig": {
  "labels": {
    string: string,
  "notificationConfigs": [
  "rejectDuplicateMessage": boolean


Resource name of the HL7v2 store, of the form projects/{projectId}/datasets/{datasetId}/hl7V2Stores/{hl7v2_store_id}.



The configuration for the parser. It determines how the server parses the messages.


map (key: string, value: string)

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" }.



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.



Determines whether to reject duplicate messages. A duplicate message is a message with the same raw bytes as a message that has already been ingested/created in this HL7v2 store. The default value is false, meaning that the store accepts the duplicate messages and it also returns the same ACK message in the IngestMessageResponse as has been returned previously. Note that only one resource is created in the store. When this field is set to true, messages.create/messages.ingest requests with a duplicate message will be rejected by the store, and IngestMessageErrorDetail returns a NACK message upon rejection.


The configuration for the parser. It determines how the server parses the messages.

JSON representation
  "allowNullHeader": boolean,
  "segmentTerminator": string


Determines whether messages with no header are allowed.


string (bytes format)

Byte(s) to use as the segment terminator. If this is unset, '\r' is used as segment terminator.

A base64-encoded string.


Specifies where and whether to send notifications upon changes to a data store.

JSON representation
  "pubsubTopic": string,
  "filter": string


The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.

The notification is a PubsubMessage with the following fields:

  • PubsubMessage.Data contains the resource name.
  • PubsubMessage.MessageId is the ID of this notification. It's guaranteed to be unique within the topic.
  • PubsubMessage.PublishTime is the time when the message was published.

Note that notifications are only sent if the topic is non-empty. Topic names must be scoped to a project.

The Cloud Healthcare API service account,, must have publisher permissions on the given Pub/Sub topic. Not having adequate permissions causes the calls that send notifications to fail.

If a notification cannot be published to Cloud Pub/Sub, errors are logged to Cloud Logging. For more information, see Viewing error logs in Cloud Logging).



Restricts notifications sent for messages matching a filter. If this is empty, all messages are matched. Syntax:

The following fields and functions are available for filtering:

  • messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT".
  • send_date or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, send_date < "2017-01-02".
  • sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00".
  • sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC".
  • PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN").
  • labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.



Creates a new HL7v2 store within the parent dataset.


Deletes the specified HL7v2 store and removes all messages that it contains.


Gets the specified HL7v2 store.


Gets the access control policy for a resource.


Lists the HL7v2 stores in the given dataset.


Updates the HL7v2 store.


Sets the access control policy on the specified resource.


Returns permissions that a caller has on the specified resource.