REST Resource: projects.locations.datasets.hl7V2Stores

Resource: Hl7V2Store

Represents an HL7v2 store.

JSON representation
{
  "name": string,
  "notificationConfig": {
    object(NotificationConfig)
  },
  "parserConfig": {
    object(ParserConfig)
  },
  "labels": {
    string: string,
    ...
  },
  "notificationConfigs": [
    {
      object(Hl7V2NotificationConfig)
    }
  ],
  "rejectDuplicateMessage": boolean
}
Fields
name

string

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

notificationConfig
(deprecated)

object(NotificationConfig)

The notification destination all messages (both Ingest & Create) are published on. Only the message name is sent as part of the notification. If this is unset, no notifications are sent. Supplied by the client.

parserConfig

object(ParserConfig)

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

labels

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

notificationConfigs[]

object(Hl7V2NotificationConfig)

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.

rejectDuplicateMessage

boolean

Determines whether duplicate messages should be rejected. 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.

ParserConfig

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

JSON representation
{
  "allowNullHeader": boolean,
  "segmentTerminator": string
}
Fields
allowNullHeader

boolean

Determines whether messages with no header are allowed.

segmentTerminator

string (bytes format)

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

A base64-encoded string.

Hl7V2NotificationConfig

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

JSON representation
{
  "pubsubTopic": string,
  "filter": string
}
Fields
pubsubTopic

string

The Cloud Pubsub 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 is guaranteed to be unique within the topic.
  • PubsubMessage.PublishTime is the time at which the message was published.

Note that notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. cloud-healthcare@system.gserviceaccount.com must have publisher permissions on the given Pubsub topic. Not having adequate permissions causes the calls that send notifications to fail.

If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver (see [Viewing logs](/healthcare/docs/how- tos/stackdriver-logging)).

filter

string

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:

  • 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":*.

Methods

create

Creates a new HL7v2 store within the parent dataset.

delete

Deletes the specified HL7v2 store and removes all messages that are contained within it.

get

Gets the specified HL7v2 store.

getIamPolicy

Gets the access control policy for a resource.

list

Lists the HL7v2 stores in the given dataset.

patch

Updates the HL7v2 store.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.