blob: 09c4c9ed5eb4923d648ad3cbe2deb38c546120ab [file] [log] [blame]
// Copyright 2020 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package healthcare provides access to the Cloud Healthcare API.
//
// For product documentation, see: https://cloud.google.com/healthcare
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/healthcare/v1"
// ...
// ctx := context.Background()
// healthcareService, err := healthcare.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// healthcareService, err := healthcare.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// healthcareService, err := healthcare.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package healthcare // import "google.golang.org/api/healthcare/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
var _ = internaloption.WithDefaultEndpoint
const apiId = "healthcare:v1"
const apiName = "healthcare"
const apiVersion = "v1"
const basePath = "https://healthcare.googleapis.com/"
const mtlsBasePath = "https://healthcare.mtls.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/cloud-platform",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Projects = NewProjectsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Locations = NewProjectsLocationsService(s)
return rs
}
type ProjectsService struct {
s *Service
Locations *ProjectsLocationsService
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.Datasets = NewProjectsLocationsDatasetsService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
Datasets *ProjectsLocationsDatasetsService
}
func NewProjectsLocationsDatasetsService(s *Service) *ProjectsLocationsDatasetsService {
rs := &ProjectsLocationsDatasetsService{s: s}
rs.DicomStores = NewProjectsLocationsDatasetsDicomStoresService(s)
rs.FhirStores = NewProjectsLocationsDatasetsFhirStoresService(s)
rs.Hl7V2Stores = NewProjectsLocationsDatasetsHl7V2StoresService(s)
rs.Operations = NewProjectsLocationsDatasetsOperationsService(s)
return rs
}
type ProjectsLocationsDatasetsService struct {
s *Service
DicomStores *ProjectsLocationsDatasetsDicomStoresService
FhirStores *ProjectsLocationsDatasetsFhirStoresService
Hl7V2Stores *ProjectsLocationsDatasetsHl7V2StoresService
Operations *ProjectsLocationsDatasetsOperationsService
}
func NewProjectsLocationsDatasetsDicomStoresService(s *Service) *ProjectsLocationsDatasetsDicomStoresService {
rs := &ProjectsLocationsDatasetsDicomStoresService{s: s}
rs.Studies = NewProjectsLocationsDatasetsDicomStoresStudiesService(s)
return rs
}
type ProjectsLocationsDatasetsDicomStoresService struct {
s *Service
Studies *ProjectsLocationsDatasetsDicomStoresStudiesService
}
func NewProjectsLocationsDatasetsDicomStoresStudiesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesService {
rs := &ProjectsLocationsDatasetsDicomStoresStudiesService{s: s}
rs.Series = NewProjectsLocationsDatasetsDicomStoresStudiesSeriesService(s)
return rs
}
type ProjectsLocationsDatasetsDicomStoresStudiesService struct {
s *Service
Series *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService
}
func NewProjectsLocationsDatasetsDicomStoresStudiesSeriesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesService {
rs := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesService{s: s}
rs.Instances = NewProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService(s)
return rs
}
type ProjectsLocationsDatasetsDicomStoresStudiesSeriesService struct {
s *Service
Instances *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService
}
func NewProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService {
rs := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService{s: s}
rs.Frames = NewProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService(s)
return rs
}
type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesService struct {
s *Service
Frames *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService
}
func NewProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService(s *Service) *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService {
rs := &ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService{s: s}
return rs
}
type ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesService struct {
s *Service
}
func NewProjectsLocationsDatasetsFhirStoresService(s *Service) *ProjectsLocationsDatasetsFhirStoresService {
rs := &ProjectsLocationsDatasetsFhirStoresService{s: s}
rs.Fhir = NewProjectsLocationsDatasetsFhirStoresFhirService(s)
return rs
}
type ProjectsLocationsDatasetsFhirStoresService struct {
s *Service
Fhir *ProjectsLocationsDatasetsFhirStoresFhirService
}
func NewProjectsLocationsDatasetsFhirStoresFhirService(s *Service) *ProjectsLocationsDatasetsFhirStoresFhirService {
rs := &ProjectsLocationsDatasetsFhirStoresFhirService{s: s}
return rs
}
type ProjectsLocationsDatasetsFhirStoresFhirService struct {
s *Service
}
func NewProjectsLocationsDatasetsHl7V2StoresService(s *Service) *ProjectsLocationsDatasetsHl7V2StoresService {
rs := &ProjectsLocationsDatasetsHl7V2StoresService{s: s}
rs.Messages = NewProjectsLocationsDatasetsHl7V2StoresMessagesService(s)
return rs
}
type ProjectsLocationsDatasetsHl7V2StoresService struct {
s *Service
Messages *ProjectsLocationsDatasetsHl7V2StoresMessagesService
}
func NewProjectsLocationsDatasetsHl7V2StoresMessagesService(s *Service) *ProjectsLocationsDatasetsHl7V2StoresMessagesService {
rs := &ProjectsLocationsDatasetsHl7V2StoresMessagesService{s: s}
return rs
}
type ProjectsLocationsDatasetsHl7V2StoresMessagesService struct {
s *Service
}
func NewProjectsLocationsDatasetsOperationsService(s *Service) *ProjectsLocationsDatasetsOperationsService {
rs := &ProjectsLocationsDatasetsOperationsService{s: s}
return rs
}
type ProjectsLocationsDatasetsOperationsService struct {
s *Service
}
// AuditConfig: Specifies the audit configuration for a service. The
// configuration determines which permission types are logged, and what
// identities, if any, are exempted from logging. An AuditConfig must
// have one or more AuditLogConfigs. If there are AuditConfigs for both
// `allServices` and a specific service, the union of the two
// AuditConfigs is used for that service: the log_types specified in
// each AuditConfig are enabled, and the exempted_members in each
// AuditLogConfig are exempted. Example Policy with multiple
// AuditConfigs: { "audit_configs": [ { "service": "allServices",
// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
// "log_type": "ADMIN_READ" } ] }, { "service":
// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
// jose@example.com from DATA_READ logging, and aliya@example.com from
// DATA_WRITE logging.
type AuditConfig struct {
// AuditLogConfigs: The configuration for logging of each type of
// permission.
AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
// Service: Specifies a service that will be enabled for audit logging.
// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
// `allServices` is a special value that covers all services.
Service string `json:"service,omitempty"`
// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AuditLogConfigs") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AuditConfig) MarshalJSON() ([]byte, error) {
type NoMethod AuditConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuditLogConfig: Provides the configuration for logging a type of
// permissions. Example: { "audit_log_configs": [ { "log_type":
// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
// logging.
type AuditLogConfig struct {
// ExemptedMembers: Specifies the identities that do not cause logging
// for this type of permission. Follows the same format of
// Binding.members.
ExemptedMembers []string `json:"exemptedMembers,omitempty"`
// LogType: The log type that this config enables.
//
// Possible values:
// "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
// "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
// "DATA_WRITE" - Data writes. Example: CloudSQL Users create
// "DATA_READ" - Data reads. Example: CloudSQL Users list
LogType string `json:"logType,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExemptedMembers") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
type NoMethod AuditLogConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Binding: Associates `members` with a `role`.
type Binding struct {
// Condition: The condition that is associated with this binding. If the
// condition evaluates to `true`, then this binding applies to the
// current request. If the condition evaluates to `false`, then this
// binding does not apply to the current request. However, a different
// role binding might grant the same role to one or more of the members
// in this binding. To learn which resources support conditions in their
// IAM policies, see the [IAM
// documentation](https://cloud.google.com/iam/help/conditions/resource-p
// olicies).
Condition *Expr `json:"condition,omitempty"`
// Members: Specifies the identities requesting access for a Cloud
// Platform resource. `members` can have the following values: *
// `allUsers`: A special identifier that represents anyone who is on the
// internet; with or without a Google account. *
// `allAuthenticatedUsers`: A special identifier that represents anyone
// who is authenticated with a Google account or a service account. *
// `user:{emailid}`: An email address that represents a specific Google
// account. For example, `alice@example.com` . *
// `serviceAccount:{emailid}`: An email address that represents a
// service account. For example,
// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
// email address that represents a Google group. For example,
// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
// email address (plus unique identifier) representing a user that has
// been recently deleted. For example,
// `alice@example.com?uid=123456789012345678901`. If the user is
// recovered, this value reverts to `user:{emailid}` and the recovered
// user retains the role in the binding. *
// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
// (plus unique identifier) representing a service account that has been
// recently deleted. For example,
// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
// If the service account is undeleted, this value reverts to
// `serviceAccount:{emailid}` and the undeleted service account retains
// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
// An email address (plus unique identifier) representing a Google group
// that has been recently deleted. For example,
// `admins@example.com?uid=123456789012345678901`. If the group is
// recovered, this value reverts to `group:{emailid}` and the recovered
// group retains the role in the binding. * `domain:{domain}`: The G
// Suite domain (primary) that represents all the users of that domain.
// For example, `google.com` or `example.com`.
Members []string `json:"members,omitempty"`
// Role: Role that is assigned to `members`. For example,
// `roles/viewer`, `roles/editor`, or `roles/owner`.
Role string `json:"role,omitempty"`
// ForceSendFields is a list of field names (e.g. "Condition") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Condition") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Binding) MarshalJSON() ([]byte, error) {
type NoMethod Binding
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CancelOperationRequest: The request message for
// Operations.CancelOperation.
type CancelOperationRequest struct {
}
// CharacterMaskConfig: Mask a string by replacing its characters with a
// fixed character.
type CharacterMaskConfig struct {
// MaskingCharacter: Character to mask the sensitive values. If not
// supplied, defaults to "*".
MaskingCharacter string `json:"maskingCharacter,omitempty"`
// ForceSendFields is a list of field names (e.g. "MaskingCharacter") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MaskingCharacter") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CharacterMaskConfig) MarshalJSON() ([]byte, error) {
type NoMethod CharacterMaskConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CreateMessageRequest: Creates a new message.
type CreateMessageRequest struct {
// Message: HL7v2 message.
Message *Message `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Message") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Message") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CreateMessageRequest) MarshalJSON() ([]byte, error) {
type NoMethod CreateMessageRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CryptoHashConfig: Pseudonymization method that generates surrogates
// via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded
// representation of the hashed output (for example,
// `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`).
type CryptoHashConfig struct {
// CryptoKey: An AES 128/192/256 bit key. Causes the hash to be computed
// based on this key. A default key is generated for each Deidentify
// operation and is used wherever crypto_key is not specified.
CryptoKey string `json:"cryptoKey,omitempty"`
// ForceSendFields is a list of field names (e.g. "CryptoKey") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CryptoKey") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CryptoHashConfig) MarshalJSON() ([]byte, error) {
type NoMethod CryptoHashConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Dataset: A message representing a health dataset. A health dataset
// represents a collection of healthcare data pertaining to one or more
// patients. This may include multiple modalities of healthcare data,
// such as electronic medical records or medical imaging data.
type Dataset struct {
// Name: Resource name of the dataset, of the form
// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`.
Name string `json:"name,omitempty"`
// TimeZone: The default timezone used by this dataset. Must be a either
// a valid IANA time zone name such as "America/New_York" or empty,
// which defaults to UTC. This is used for parsing times in resources,
// such as HL7 messages, where no explicit timezone is specified.
TimeZone string `json:"timeZone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Dataset) MarshalJSON() ([]byte, error) {
type NoMethod Dataset
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DateShiftConfig: Shift a date forward or backward in time by a random
// amount which is consistent for a given patient and crypto key
// combination.
type DateShiftConfig struct {
// CryptoKey: An AES 128/192/256 bit key. Causes the shift to be
// computed based on this key and the patient ID. A default key is
// generated for each Deidentify operation and is used wherever
// crypto_key is not specified.
CryptoKey string `json:"cryptoKey,omitempty"`
// ForceSendFields is a list of field names (e.g. "CryptoKey") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CryptoKey") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DateShiftConfig) MarshalJSON() ([]byte, error) {
type NoMethod DateShiftConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeidentifyConfig: Configures de-id options specific to different
// types of content. Each submessage customizes the handling of an
// https://tools.ietf.org/html/rfc6838 media type or subtype. Configs
// are applied in a nested manner at runtime.
type DeidentifyConfig struct {
// Dicom: Configures de-id of application/DICOM content.
Dicom *DicomConfig `json:"dicom,omitempty"`
// Fhir: Configures de-id of application/FHIR content.
Fhir *FhirConfig `json:"fhir,omitempty"`
// Image: Configures de-identification of image pixels wherever they are
// found in the source_dataset.
Image *ImageConfig `json:"image,omitempty"`
// Text: Configures de-identification of text wherever it is found in
// the source_dataset.
Text *TextConfig `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "Dicom") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Dicom") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeidentifyConfig) MarshalJSON() ([]byte, error) {
type NoMethod DeidentifyConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeidentifyDatasetRequest: Redacts identifying information from the
// specified dataset.
type DeidentifyDatasetRequest struct {
// Config: Deidentify configuration.
Config *DeidentifyConfig `json:"config,omitempty"`
// DestinationDataset: The name of the dataset resource to create and
// write the redacted data to. * The destination dataset must not exist.
// * The destination dataset must be in the same project and location as
// the source dataset. De-identifying data across multiple projects or
// locations is not supported.
DestinationDataset string `json:"destinationDataset,omitempty"`
// ForceSendFields is a list of field names (e.g. "Config") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Config") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeidentifyDatasetRequest) MarshalJSON() ([]byte, error) {
type NoMethod DeidentifyDatasetRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeidentifyDicomStoreRequest: Creates a new DICOM store with sensitive
// information de-identified.
type DeidentifyDicomStoreRequest struct {
// Config: De-identify configuration.
Config *DeidentifyConfig `json:"config,omitempty"`
// DestinationStore: The name of the DICOM store to create and write the
// redacted data to. For example,
// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/d
// icomStores/{dicom_store_id}`. * The destination dataset must exist. *
// The source dataset and destination dataset must both reside in the
// same project. De-identifying data across multiple projects is not
// supported. * The destination DICOM store must not exist. * The caller
// must have the necessary permissions to create the destination DICOM
// store.
DestinationStore string `json:"destinationStore,omitempty"`
// FilterConfig: Filter configuration.
FilterConfig *DicomFilterConfig `json:"filterConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "Config") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Config") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeidentifyDicomStoreRequest) MarshalJSON() ([]byte, error) {
type NoMethod DeidentifyDicomStoreRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeidentifyFhirStoreRequest: Creates a new FHIR store with sensitive
// information de-identified.
type DeidentifyFhirStoreRequest struct {
// Config: Deidentify configuration.
Config *DeidentifyConfig `json:"config,omitempty"`
// DestinationStore: The name of the FHIR store to create and write the
// redacted data to. For example,
// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/f
// hirStores/{fhir_store_id}`. * The destination dataset must exist. *
// The source dataset and destination dataset must both reside in the
// same project. De-identifying data across multiple projects is not
// supported. * The destination FHIR store must exist. * The caller must
// have the healthcare.fhirResources.update permission to write to the
// destination FHIR store.
DestinationStore string `json:"destinationStore,omitempty"`
// ResourceFilter: A filter specifying the resources to include in the
// output. If not specified, all resources are included in the output.
ResourceFilter *FhirFilter `json:"resourceFilter,omitempty"`
// ForceSendFields is a list of field names (e.g. "Config") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Config") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeidentifyFhirStoreRequest) MarshalJSON() ([]byte, error) {
type NoMethod DeidentifyFhirStoreRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeidentifySummary: Contains a summary of the Deidentify operation.
type DeidentifySummary struct {
}
// DicomConfig: Specifies the parameters needed for de-identification of
// DICOM stores.
type DicomConfig struct {
// FilterProfile: Tag filtering profile that determines which tags to
// keep/remove.
//
// Possible values:
// "TAG_FILTER_PROFILE_UNSPECIFIED" - No tag filtration profile
// provided. Same as KEEP_ALL_PROFILE.
// "MINIMAL_KEEP_LIST_PROFILE" - Keep only tags required to produce
// valid DICOM.
// "ATTRIBUTE_CONFIDENTIALITY_BASIC_PROFILE" - Remove tags based on
// DICOM Standard's Attribute Confidentiality Basic Profile (DICOM
// Standard Edition 2018e)
// http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html.
// "KEEP_ALL_PROFILE" - Keep all tags.
// "DEIDENTIFY_TAG_CONTENTS" - Inspects within tag contents and
// replaces sensitive text. The process can be configured using the
// TextConfig. Applies to all tags with the following Value
// Representation names: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS
FilterProfile string `json:"filterProfile,omitempty"`
// KeepList: List of tags to keep. Remove all other tags.
KeepList *TagFilterList `json:"keepList,omitempty"`
// RemoveList: List of tags to remove. Keep all other tags.
RemoveList *TagFilterList `json:"removeList,omitempty"`
// SkipIdRedaction: If true, skip replacing StudyInstanceUID,
// SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and
// leave them untouched. The Cloud Healthcare API regenerates these UIDs
// by default based on the DICOM Standard's reasoning: "Whilst these
// UIDs cannot be mapped directly to an individual out of context, given
// access to the original images, or to a database of the original
// images containing the UIDs, it would be possible to recover the
// individual's identity."
// http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html
SkipIdRedaction bool `json:"skipIdRedaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "FilterProfile") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FilterProfile") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DicomConfig) MarshalJSON() ([]byte, error) {
type NoMethod DicomConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DicomFilterConfig: Specifies the filter configuration for DICOM
// resources.
type DicomFilterConfig struct {
// ResourcePathsGcsUri: The Cloud Storage location of the filter
// configuration file. The `gcs_uri` must be in the format
// `gs://bucket/path/to/object`. The filter configuration file must
// contain a list of resource paths separated by newline characters (\n
// or \r\n). Each resource path must be in the format
// "/studies/{studyUID}[/series/{seriesUID}[/instances/{instanceUID}]]"
// The Cloud Healthcare API service account must have the
// `roles/storage.objectViewer` Cloud IAM role for this Cloud Storage
// location.
ResourcePathsGcsUri string `json:"resourcePathsGcsUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourcePathsGcsUri")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourcePathsGcsUri") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *DicomFilterConfig) MarshalJSON() ([]byte, error) {
type NoMethod DicomFilterConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DicomStore: Represents a DICOM store.
type DicomStore struct {
// Labels: 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}{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.
Labels map[string]string `json:"labels,omitempty"`
// Name: Resource name of the DICOM store, of the form
// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/d
// icomStores/{dicom_store_id}`.
Name string `json:"name,omitempty"`
// NotificationConfig: Notification destination for new DICOM instances.
// Supplied by the client.
NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Labels") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Labels") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DicomStore) MarshalJSON() ([]byte, error) {
type NoMethod DicomStore
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated empty messages in your APIs. A typical example is to use
// it as the request or the response type of an API method. For
// instance: service Foo { rpc Bar(google.protobuf.Empty) returns
// (google.protobuf.Empty); } The JSON representation for `Empty` is
// empty JSON object `{}`.
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
}
// ExportDicomDataRequest: Exports data from the specified DICOM store.
// If a given resource, such as a DICOM object with the same SOPInstance
// UID, already exists in the output, it is overwritten with the version
// in the source dataset. Exported DICOM data persists when the DICOM
// store from which it was exported is deleted.
type ExportDicomDataRequest struct {
// BigqueryDestination: The BigQuery output destination. You can only
// export to a BigQuery dataset that's in the same project as the DICOM
// store you're exporting from. The BigQuery location requires two IAM
// roles: `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.
BigqueryDestination *GoogleCloudHealthcareV1DicomBigQueryDestination `json:"bigqueryDestination,omitempty"`
// GcsDestination: The Cloud Storage output destination. The Cloud
// Storage location requires the `roles/storage.objectAdmin` Cloud IAM
// role.
GcsDestination *GoogleCloudHealthcareV1DicomGcsDestination `json:"gcsDestination,omitempty"`
// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BigqueryDestination") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ExportDicomDataRequest) MarshalJSON() ([]byte, error) {
type NoMethod ExportDicomDataRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ExportDicomDataResponse: Returns additional information in regards to
// a completed DICOM store export.
type ExportDicomDataResponse struct {
}
// ExportResourcesRequest: Request to export resources.
type ExportResourcesRequest struct {
// BigqueryDestination: The BigQuery output destination. The BigQuery
// location requires two IAM roles: `roles/bigquery.dataEditor` and
// `roles/bigquery.jobUser`. The output is one BigQuery table per
// resource type.
BigqueryDestination *GoogleCloudHealthcareV1FhirBigQueryDestination `json:"bigqueryDestination,omitempty"`
// GcsDestination: The Cloud Storage output destination. The Healthcare
// Service Agent account requires the `roles/storage.objectAdmin` role
// on the Cloud Storage location. The exported outputs are organized by
// FHIR resource types. The server creates one object per resource type.
// Each object contains newline delimited JSON, and each line is a FHIR
// resource.
GcsDestination *GoogleCloudHealthcareV1FhirGcsDestination `json:"gcsDestination,omitempty"`
// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BigqueryDestination") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ExportResourcesRequest) MarshalJSON() ([]byte, error) {
type NoMethod ExportResourcesRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ExportResourcesResponse: Response when all resources export
// successfully. This structure is included in the response to describe
// the detailed outcome after the operation finishes successfully.
type ExportResourcesResponse struct {
}
// Expr: Represents a textual expression in the Common Expression
// Language (CEL) syntax. CEL is a C-like expression language. The
// syntax and semantics of CEL are documented at
// https://github.com/google/cel-spec. Example (Comparison): title:
// "Summary size limit" description: "Determines if a summary is less
// than 100 chars" expression: "document.summary.size() < 100" Example
// (Equality): title: "Requestor is owner" description: "Determines if
// requestor is the document owner" expression: "document.owner ==
// request.auth.claims.email" Example (Logic): title: "Public documents"
// description: "Determine whether the document should be publicly
// visible" expression: "document.type != 'private' && document.type !=
// 'internal'" Example (Data Manipulation): title: "Notification string"
// description: "Create a notification string with a timestamp."
// expression: "'New message received at ' +
// string(document.create_time)" The exact variables and functions that
// may be referenced within an expression are determined by the service
// that evaluates it. See the service documentation for additional
// information.
type Expr struct {
// Description: Optional. Description of the expression. This is a
// longer text which describes the expression, e.g. when hovered over it
// in a UI.
Description string `json:"description,omitempty"`
// Expression: Textual representation of an expression in Common
// Expression Language syntax.
Expression string `json:"expression,omitempty"`
// Location: Optional. String indicating the location of the expression
// for error reporting, e.g. a file name and a position in the file.
Location string `json:"location,omitempty"`
// Title: Optional. Title for the expression, i.e. a short string
// describing its purpose. This can be used e.g. in UIs which allow to
// enter the expression.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Expr) MarshalJSON() ([]byte, error) {
type NoMethod Expr
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FhirConfig: Specifies how to handle de-identification of a FHIR
// store.
type FhirConfig struct {
// FieldMetadataList: Specifies FHIR paths to match and how to transform
// them. Any field that is not matched by a FieldMetadata is passed
// through to the output dataset unmodified. All extensions are removed
// in the output.
FieldMetadataList []*FieldMetadata `json:"fieldMetadataList,omitempty"`
// ForceSendFields is a list of field names (e.g. "FieldMetadataList")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FieldMetadataList") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *FhirConfig) MarshalJSON() ([]byte, error) {
type NoMethod FhirConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FhirFilter: Filter configuration.
type FhirFilter struct {
// Resources: List of resources to include in the output. If this list
// is empty or not specified, all resources are included in the output.
Resources *Resources `json:"resources,omitempty"`
// ForceSendFields is a list of field names (e.g. "Resources") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Resources") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FhirFilter) MarshalJSON() ([]byte, error) {
type NoMethod FhirFilter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FhirStore: Represents a FHIR store.
type FhirStore struct {
// DisableReferentialIntegrity: Whether to disable referential integrity
// in this FHIR store. This field is immutable after FHIR store
// creation. The default value is false, meaning that the API enforces
// referential integrity and fails the requests that result in
// inconsistent state in the FHIR store. When this field is set to true,
// the API skips referential integrity checks. Consequently, operations
// that rely on references, such as GetPatientEverything, do not return
// all the results if broken references exist.
DisableReferentialIntegrity bool `json:"disableReferentialIntegrity,omitempty"`
// DisableResourceVersioning: Whether to disable resource versioning for
// this FHIR store. This field can not be changed after the creation of
// FHIR store. If set to false, which is the default behavior, all write
// operations cause historical versions to be recorded automatically.
// The historical versions can be fetched through the history APIs, but
// cannot be updated. If set to true, no historical versions are kept.
// The server sends errors for attempts to read the historical versions.
DisableResourceVersioning bool `json:"disableResourceVersioning,omitempty"`
// EnableUpdateCreate: Whether this FHIR store has the [updateCreate
// capability](https://www.hl7.org/fhir/capabilitystatement-definitions.h
// tml#CapabilityStatement.rest.resource.updateCreate). This determines
// if the client can use an Update operation to create a new resource
// with a client-specified ID. If false, all IDs are server-assigned
// through the Create operation and attempts to update a non-existent
// resource return errors. Please treat the audit logs with appropriate
// levels of care if client-specified resource IDs contain sensitive
// data such as patient identifiers, those IDs are part of the FHIR
// resource path recorded in Cloud audit logs and Cloud Pub/Sub
// notifications.
EnableUpdateCreate bool `json:"enableUpdateCreate,omitempty"`
// Labels: User-supplied key-value pairs used to organize FHIR 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}{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.
Labels map[string]string `json:"labels,omitempty"`
// Name: Output only. Resource name of the FHIR store, of the form
// `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id
// }`.
Name string `json:"name,omitempty"`
// NotificationConfig: If non-empty, publish all resource modifications
// of this FHIR store to this destination. The Cloud Pub/Sub message
// attributes contain a map with a string describing the action that has
// triggered the notification. For example, "action":"CreateResource".
NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
// StreamConfigs: A list of streaming configs that configure the
// destinations of streaming export for every resource mutation in this
// FHIR store. Each store is allowed to have up to 10 streaming configs.
// After a new config is added, the next resource mutation is streamed
// to the new location in addition to the existing ones. When a location
// is removed from the list, the server stops streaming to that
// location. Before adding a new config, you must add the required
// [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-
// control#bigquery.dataEditor) role to your project's **Cloud
// Healthcare Service Agent** [service
// account](https://cloud.google.com/iam/docs/service-accounts). Some
// lag (typically on the order of dozens of seconds) is expected before
// the results show up in the streaming destination.
StreamConfigs []*StreamConfig `json:"streamConfigs,omitempty"`
// Version: The FHIR specification version that this FHIR store supports
// natively. This field is immutable after store creation. Requests are
// rejected if they contain FHIR resources of a different version.
// Version is required for every FHIR store.
//
// Possible values:
// "VERSION_UNSPECIFIED" - Users must specify a version on store
// creation or an error is returned.
// "DSTU2" - Draft Standard for Trial Use, [Release
// 2](https://www.hl7.org/fhir/DSTU2)
// "STU3" - Standard for Trial Use, [Release
// 3](https://www.hl7.org/fhir/STU3)
// "R4" - [Release 4](https://www.hl7.org/fhir/R4)
Version string `json:"version,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "DisableReferentialIntegrity") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "DisableReferentialIntegrity") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FhirStore) MarshalJSON() ([]byte, error) {
type NoMethod FhirStore
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FieldMetadata: Specifies FHIR paths to match, and how to handle
// de-identification of matching fields.
type FieldMetadata struct {
// Action: Deidentify action for one field.
//
// Possible values:
// "ACTION_UNSPECIFIED" - No action specified.
// "TRANSFORM" - Transform the entire field.
// "INSPECT_AND_TRANSFORM" - Inspect and transform any found PHI.
// "DO_NOT_TRANSFORM" - Do not transform.
Action string `json:"action,omitempty"`
// Paths: List of paths to FHIR fields to be redacted. Each path is a
// period-separated list where each component is either a field name or
// FHIR type name, for example: Patient, HumanName. For "choice" types
// (those defined in the FHIR spec with the form: field[x]) we use two
// separate components. For example, "deceasedAge.unit" is matched by
// "Deceased.Age.unit". Supported types are: AdministrativeGenderCode,
// Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown,
// Oid, String, Uri, Uuid, Xhtml. Base64Binary is also supported, but
// may only be kept as-is or have all the content removed.
Paths []string `json:"paths,omitempty"`
// ForceSendFields is a list of field names (e.g. "Action") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Action") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FieldMetadata) MarshalJSON() ([]byte, error) {
type NoMethod FieldMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary:
// Contains a summary of the DeidentifyDicomStore operation.
type GoogleCloudHealthcareV1DeidentifyDeidentifyDicomStoreSummary struct {
}
// GoogleCloudHealthcareV1DeidentifyDeidentifyFhirStoreSummary: Contains
// a summary of the DeidentifyFhirStore operation.
type GoogleCloudHealthcareV1DeidentifyDeidentifyFhirStoreSummary struct {
}
// GoogleCloudHealthcareV1DicomBigQueryDestination: The BigQuery table
// where the server writes the output.
type GoogleCloudHealthcareV1DicomBigQueryDestination struct {
// Force: If the destination table already exists and this flag is
// `TRUE`, the table is overwritten by the contents of the DICOM store.
// If the flag is not set and the destination table already exists, the
// export call returns an error.
Force bool `json:"force,omitempty"`
// TableUri: BigQuery URI to a table, up to 2000 characters long, in the
// format `bq://projectId.bqDatasetId.tableId`
TableUri string `json:"tableUri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Force") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Force") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudHealthcareV1DicomBigQueryDestination) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudHealthcareV1DicomBigQueryDestination
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudHealthcareV1DicomGcsDestination: The Cloud Storage
// location where the server writes the output and the export
// configuration.
type GoogleCloudHealthcareV1DicomGcsDestination struct {
// MimeType: MIME types supported by DICOM spec. Each file is written in
// the following format:
// `.../{study_id}/{series_id}/{instance_id}[/{frame_number}].{extension}
// ` The frame_number component exists only for multi-frame instances.
// Supported MIME types are consistent with supported formats in
// DICOMweb:
// https://cloud.google.com/healthcare/docs/dicom#retrieve_transaction.
// Specifically, the following are supported: - application/dicom;
// transfer-syntax=1.2.840.10008.1.2.1 (uncompressed DICOM) -
// application/dicom; transfer-syntax=1.2.840.10008.1.2.4.50 (DICOM with
// embedded JPEG Baseline) - application/dicom;
// transfer-syntax=1.2.840.10008.1.2.4.90 (DICOM with embedded JPEG 2000
// Lossless Only) - application/dicom;
// transfer-syntax=1.2.840.10008.1.2.4.91 (DICOM with embedded JPEG
// 2000) - application/dicom; transfer-syntax=* (DICOM with no
// transcoding) - application/octet-stream;
// transfer-syntax=1.2.840.10008.1.2.1 (raw uncompressed PixelData) -
// application/octet-stream; transfer-syntax=* (raw PixelData in
// whatever format it was uploaded in) - image/jpeg;
// transfer-syntax=1.2.840.10008.1.2.4.50 (Consumer JPEG) - image/png
// The following extensions are used for output files: -
// application/dicom -> .dcm - image/jpeg -> .jpg - image/png -> .png -
// application/octet-stream -> no extension If unspecified, the
// instances are exported in the original DICOM format they were
// uploaded in.
MimeType string `json:"mimeType,omitempty"`
// UriPrefix: The Cloud Storage destination to export to. URI for a
// Cloud Storage directory where the server writes the result files, in
// the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is
// no trailing slash, the service appends one when composing the object
// path. The user is responsible for creating the Cloud Storage bucket
// referenced in `uri_prefix`.
UriPrefix string `json:"uriPrefix,omitempty"`
// ForceSendFields is a list of field names (e.g. "MimeType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MimeType") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudHealthcareV1DicomGcsDestination) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudHealthcareV1DicomGcsDestination
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudHealthcareV1DicomGcsSource: Specifies the configuration
// for importing data from Cloud Storage.
type GoogleCloudHealthcareV1DicomGcsSource struct {
// Uri: Points to a Cloud Storage URI containing file(s) with content
// only. The URI must be in the following format:
// `gs://{bucket_id}/{object_id}`. The URI can include wildcards in
// `object_id` and thus identify multiple files. Supported wildcards:
// '*' to match 0 or more non-separator characters '**' to match 0 or
// more characters (including separators). Must be used at the end of a
// path and with no other wildcards in the path. Can also be used with a
// file extension (such as .dcm), which imports all files with the
// extension in the specified directory and its sub-directories. For
// example, `gs://my-bucket/my-directory/**.dcm` imports all files with
// .dcm extensions in `my-directory/` and its sub-directories. '?' to
// match 1 character All other URI formats are invalid. Files matching
// the wildcard are expected to contain content only, no metadata.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Uri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Uri") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudHealthcareV1DicomGcsSource) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudHealthcareV1DicomGcsSource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudHealthcareV1FhirBigQueryDestination: The configuration for
// exporting to BigQuery.
type GoogleCloudHealthcareV1FhirBigQueryDestination struct {
// DatasetUri: BigQuery URI to an existing dataset, up to 2000
// characters long, in the format `bq://projectId.bqDatasetId`.
DatasetUri string `json:"datasetUri,omitempty"`
// Force: If this flag is `TRUE`, all tables are deleted from the
// dataset before the new exported tables are written. If the flag is
// not set and the destination dataset contains tables, the export call
// returns an error.
Force bool `json:"force,omitempty"`
// SchemaConfig: The configuration for the exported BigQuery schema.
SchemaConfig *SchemaConfig `json:"schemaConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "DatasetUri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DatasetUri") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudHealthcareV1FhirBigQueryDestination) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudHealthcareV1FhirBigQueryDestination
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudHealthcareV1FhirGcsDestination: The configuration for
// exporting to Cloud Storage.
type GoogleCloudHealthcareV1FhirGcsDestination struct {
// UriPrefix: URI for a Cloud Storage directory where result files
// should be written, in the format of
// `gs://{bucket-id}/{path/to/destination/dir}`. If there is no trailing
// slash, the service appends one when composing the object path. The
// user is responsible for creating the Cloud Storage bucket referenced
// in `uri_prefix`.
UriPrefix string `json:"uriPrefix,omitempty"`
// ForceSendFields is a list of field names (e.g. "UriPrefix") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "UriPrefix") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudHealthcareV1FhirGcsDestination) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudHealthcareV1FhirGcsDestination
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudHealthcareV1FhirGcsSource: Specifies the configuration for
// importing data from Cloud Storage.
type GoogleCloudHealthcareV1FhirGcsSource struct {
// Uri: Points to a Cloud Storage URI containing file(s) to import. The
// URI must be in the following format: `gs://{bucket_id}/{object_id}`.
// The URI can include wildcards in `object_id` and thus identify
// multiple files. Supported wildcards: * `*` to match 0 or more
// non-separator characters * `**` to match 0 or more characters
// (including separators). Must be used at the end of a path and with no
// other wildcards in the path. Can also be used with a file extension
// (such as .ndjson), which imports all files with the extension in the
// specified directory and its sub-directories. For example,
// `gs://my-bucket/my-directory/**.ndjson` imports all files with
// `.ndjson` extensions in `my-directory/` and its sub-directories. *
// `?` to match 1 character Files matching the wildcard are expected to
// contain content only, no metadata.
Uri string `json:"uri,omitempty"`
// ForceSendFields is a list of field names (e.g. "Uri") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Uri") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudHealthcareV1FhirGcsSource) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudHealthcareV1FhirGcsSource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Hl7V2NotificationConfig: Specifies where and whether to send
// notifications upon changes to a data store.
type Hl7V2NotificationConfig struct {
// Filter: 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 The following fields and functions are available for filtering: * `message_type`, from the MSH-9.1 field. For example, `NOT message_type = "ADT". * `send_date` or `sendDate`, the YYYY-MM-DD date the message was sent in the dataset's time_zone, from the MSH-7 segment. For example, `send_date < "2017-01-02". * `send_time`, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, `send_time < "2017-01-02T00:00:00-05:00". * `send_facility`, the care center that the message came from, from the MSH-4 segment. For example, `send_facility = "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":*`.
Filter string `json:"filter,omitempty"`
// PubsubTopic: The [Cloud
// Pub/Sub](https://cloud.google.com/pubsub/docs/) 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](https://cloud.google.com/pubsub/docs/overview#names) must be
// scoped to a project. The Cloud Healthcare API service account,
// service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com,
// 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](/healthcare/docs/how-tos/logging)).
PubsubTopic string `json:"pubsubTopic,omitempty"`
// ForceSendFields is a list of field names (e.g. "Filter") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Filter") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Hl7V2NotificationConfig) MarshalJSON() ([]byte, error) {
type NoMethod Hl7V2NotificationConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Hl7V2Store: Represents an HL7v2 store.
type Hl7V2Store struct {
// Labels: 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}{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.
Labels map[string]string `json:"labels,omitempty"`
// Name: Resource name of the HL7v2 store, of the form
// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_
// id}`.
Name string `json:"name,omitempty"`
// NotificationConfigs: 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.
NotificationConfigs []*Hl7V2NotificationConfig `json:"notificationConfigs,omitempty"`
// ParserConfig: The configuration for the parser. It determines how the
// server parses the messages.
ParserConfig *ParserConfig `json:"parserConfig,omitempty"`
// RejectDuplicateMessage: 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,
// CreateMessage/IngestMessage requests with a duplicate message will be
// rejected by the store, and IngestMessageErrorDetail returns a NACK
// message upon rejection.
RejectDuplicateMessage bool `json:"rejectDuplicateMessage,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Labels") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Labels") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Hl7V2Store) MarshalJSON() ([]byte, error) {
type NoMethod Hl7V2Store
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HttpBody: Message that represents an arbitrary HTTP body. It should
// only be used for payload formats that can't be represented as JSON,
// such as raw binary or an HTML page. This message can be used both in
// streaming and non-streaming API methods in the request as well as the
// response. It can be used as a top-level request field, which is
// convenient if one wants to extract parameters from either the URL or
// HTTP template into the request fields and also want access to the raw
// HTTP body. Example: message GetResourceRequest { // A unique request
// id. string request_id = 1; // The raw HTTP body is bound to this
// field. google.api.HttpBody http_body = 2; } service ResourceService {
// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
// rpc UpdateResource(google.api.HttpBody) returns
// (google.protobuf.Empty); } Example with streaming methods: service
// CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns
// (stream google.api.HttpBody); rpc UpdateCalendar(stream
// google.api.HttpBody) returns (stream google.api.HttpBody); } Use of
// this type only changes how the request and response bodies are
// handled, all other features will continue to work unchanged.
type HttpBody struct {
// ContentType: The HTTP Content-Type header value specifying the
// content type of the body.
ContentType string `json:"contentType,omitempty"`
// Data: The HTTP request/response body as raw binary.
Data string `json:"data,omitempty"`
// Extensions: Application specific response metadata. Must be set in
// the first response for streaming APIs.
Extensions []googleapi.RawMessage `json:"extensions,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ContentType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContentType") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HttpBody) MarshalJSON() ([]byte, error) {
type NoMethod HttpBody
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ImageConfig: Specifies how to handle de-identification of image
// pixels.
type ImageConfig struct {
// TextRedactionMode: Determines how to redact text from image.
//
// Possible values:
// "TEXT_REDACTION_MODE_UNSPECIFIED" - No text redaction specified.
// Same as REDACT_NO_TEXT.
// "REDACT_ALL_TEXT" - Redact all text.
// "REDACT_SENSITIVE_TEXT" - Redact sensitive text.
// "REDACT_NO_TEXT" - Do not redact text.
TextRedactionMode string `json:"textRedactionMode,omitempty"`
// ForceSendFields is a list of field names (e.g. "TextRedactionMode")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TextRedactionMode") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ImageConfig) MarshalJSON() ([]byte, error) {
type NoMethod ImageConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ImportDicomDataRequest: Imports data into the specified DICOM store.
// Returns an error if any of the files to import are not DICOM files.
// This API accepts duplicate DICOM instances by ignoring the
// newly-pushed instance. It does not overwrite.
type ImportDicomDataRequest struct {
// GcsSource: Cloud Storage source data location and import
// configuration. The Cloud Storage location requires the
// `roles/storage.objectViewer` Cloud IAM role.
GcsSource *GoogleCloudHealthcareV1DicomGcsSource `json:"gcsSource,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcsSource") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GcsSource") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ImportDicomDataRequest) MarshalJSON() ([]byte, error) {
type NoMethod ImportDicomDataRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ImportDicomDataResponse: Returns additional information in regards to
// a completed DICOM store import.
type ImportDicomDataResponse struct {
}
// ImportResourcesRequest: Request to import resources.
type ImportResourcesRequest struct {
// ContentStructure: The content structure in the source location. If
// not specified, the server treats the input source files as BUNDLE.
//
// Possible values:
// "CONTENT_STRUCTURE_UNSPECIFIED" - If the content structure is not
// specified, the default value `BUNDLE` is used.
// "BUNDLE" - The source file contains one or more lines of
// newline-delimited JSON (ndjson). Each line is a bundle that contains
// one or more resources. Set the bundle type to `history` to import
// resource versions.
// "RESOURCE" - The source file contains one or more lines of
// newline-delimited JSON (ndjson). Each line is a single resource.
// "BUNDLE_PRETTY" - The entire file is one JSON bundle. The JSON can
// span multiple lines.
// "RESOURCE_PRETTY" - The entire file is one JSON resource. The JSON
// can span multiple lines.
ContentStructure string `json:"contentStructure,omitempty"`
// GcsSource: Cloud Storage source data location and import
// configuration. The Healthcare Service Agent account requires the
// `roles/storage.objectAdmin` role on the Cloud Storage location. Each
// Cloud Storage object should be a text file that contains the format
// specified in ContentStructure.
GcsSource *GoogleCloudHealthcareV1FhirGcsSource `json:"gcsSource,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContentStructure") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContentStructure") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ImportResourcesRequest) MarshalJSON() ([]byte, error) {
type NoMethod ImportResourcesRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ImportResourcesResponse: Final response of importing resources. This
// structure is included in the response to describe the detailed
// outcome after the operation finishes successfully.
type ImportResourcesResponse struct {
}
// InfoTypeTransformation: A transformation to apply to text that is
// identified as a specific info_type.
type InfoTypeTransformation struct {
// CharacterMaskConfig: Config for character mask.
CharacterMaskConfig *CharacterMaskConfig `json:"characterMaskConfig,omitempty"`
// CryptoHashConfig: Config for crypto hash.
CryptoHashConfig *CryptoHashConfig `json:"cryptoHashConfig,omitempty"`
// DateShiftConfig: Config for date shift.
DateShiftConfig *DateShiftConfig `json:"dateShiftConfig,omitempty"`
// InfoTypes: InfoTypes to apply this transformation to. If this is not
// specified, the transformation applies to any info_type.
InfoTypes []string `json:"infoTypes,omitempty"`
// RedactConfig: Config for text redaction.
RedactConfig *RedactConfig `json:"redactConfig,omitempty"`
// ReplaceWithInfoTypeConfig: Config for replace with InfoType.
ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `json:"replaceWithInfoTypeConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "CharacterMaskConfig")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CharacterMaskConfig") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *InfoTypeTransformation) MarshalJSON() ([]byte, error) {
type NoMethod InfoTypeTransformation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// IngestMessageRequest: Ingests a message into the specified HL7v2
// store.
type IngestMessageRequest struct {
// Message: HL7v2 message to ingest.
Message *Message `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Message") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Message") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *IngestMessageRequest) MarshalJSON() ([]byte, error) {
type NoMethod IngestMessageRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// IngestMessageResponse: Acknowledges that a message has been ingested
// into the specified HL7v2 store.
type IngestMessageResponse struct {
// Hl7Ack: HL7v2 ACK message.
Hl7Ack string `json:"hl7Ack,omitempty"`
// Message: Created message resource.
Message *Message `json:"message,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Hl7Ack") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Hl7Ack") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *IngestMessageResponse) MarshalJSON() ([]byte, error) {
type NoMethod IngestMessageResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListDatasetsResponse: Lists the available datasets.
type ListDatasetsResponse struct {
// Datasets: The first page of datasets.
Datasets []*Dataset `json:"datasets,omitempty"`
// NextPageToken: Token to retrieve the next page of results, or empty
// if there are no more results in the list.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Datasets") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Datasets") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListDatasetsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListDatasetsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListDicomStoresResponse: Lists the DICOM stores in the given dataset.
type ListDicomStoresResponse struct {
// DicomStores: The returned DICOM stores. Won't be more DICOM stores
// than the value of page_size in the request.
DicomStores []*DicomStore `json:"dicomStores,omitempty"`
// NextPageToken: Token to retrieve the next page of results or empty if
// there are no more results in the list.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DicomStores") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DicomStores") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListDicomStoresResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListDicomStoresResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListFhirStoresResponse: Lists the FHIR stores in the given dataset.
type ListFhirStoresResponse struct {
// FhirStores: The returned FHIR stores. Won't be more FHIR stores than
// the value of page_size in the request.
FhirStores []*FhirStore `json:"fhirStores,omitempty"`
// NextPageToken: Token to retrieve the next page of results or empty if
// there are no more results in the list.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "FhirStores") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FhirStores") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListFhirStoresResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListFhirStoresResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListHl7V2StoresResponse: Lists the HL7v2 stores in the given dataset.
type ListHl7V2StoresResponse struct {
// Hl7V2Stores: The returned HL7v2 stores. Won't be more HL7v2 stores
// than the value of page_size in the request.
Hl7V2Stores []*Hl7V2Store `json:"hl7V2Stores,omitempty"`
// NextPageToken: Token to retrieve the next page of results or empty if
// there are no more results in the list.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Hl7V2Stores") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Hl7V2Stores") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListHl7V2StoresResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListHl7V2StoresResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListLocationsResponse: The response message for
// Locations.ListLocations.
type ListLocationsResponse struct {
// Locations: A list of locations that matches the specified filter in
// the request.
Locations []*Location `json:"locations,omitempty"`
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Locations") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Locations") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListLocationsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListMessagesResponse: Lists the messages in the specified HL7v2
// store.
type ListMessagesResponse struct {
// Hl7V2Messages: The returned Messages. Won't be more Messages than the
// value of page_size in the request. See view for populated fields.
Hl7V2Messages []*Message `json:"hl7V2Messages,omitempty"`
// NextPageToken: Token to retrieve the next page of results or empty if
// there are no more results in the list.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Hl7V2Messages") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Hl7V2Messages") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListMessagesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListMessagesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListOperationsResponse: The response message for
// Operations.ListOperations.
type ListOperationsResponse struct {
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// Operations: A list of operations that matches the specified filter in
// the request.
Operations []*Operation `json:"operations,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListOperationsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Location: A resource that represents Google Cloud Platform location.
type Location struct {
// DisplayName: The friendly name for this location, typically a nearby
// city name. For example, "Tokyo".
DisplayName string `json:"displayName,omitempty"`
// Labels: Cross-service attributes for the location. For example
// {"cloud.googleapis.com/region": "us-east1"}
Labels map[string]string `json:"labels,omitempty"`
// LocationId: The canonical id for this location. For example:
// "us-east1".
LocationId string `json:"locationId,omitempty"`
// Metadata: Service-specific metadata. For example the available
// capacity at the given location.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: Resource name for the location, which may vary between
// implementations. For example:
// "projects/example-project/locations/us-east1"
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Message: A complete HL7v2 message. See [Introduction to HL7
// Standards]
// (https://www.hl7.org/implement/standards/index.cfm?ref=common) for
// details on the standard.
type Message struct {
// CreateTime: Output only. The datetime when the message was created.
// Set by the server.
CreateTime string `json:"createTime,omitempty"`
// Data: Raw message bytes.
Data string `json:"data,omitempty"`
// Labels: 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}{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.
Labels map[string]string `json:"labels,omitempty"`
// MessageType: The message type for this message. MSH-9.1.
MessageType string `json:"messageType,omitempty"`
// Name: Resource name of the Message, of the form
// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store
// _id}/messages/{message_id}`. Assigned by the server.
Name string `json:"name,omitempty"`
// ParsedData: Output only. The parsed version of the raw message data.
ParsedData *ParsedData `json:"parsedData,omitempty"`
// PatientIds: All patient IDs listed in the PID-2, PID-3, and PID-4
// segments of this message.
PatientIds []*PatientId `json:"patientIds,omitempty"`
// SendFacility: The hospital that this message came from. MSH-4.
SendFacility string `json:"sendFacility,omitempty"`
// SendTime: The datetime the sending application sent this message.
// MSH-7.
SendTime string `json:"sendTime,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Message) MarshalJSON() ([]byte, error) {
type NoMethod Message
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NotificationConfig: Specifies where to send notifications upon
// changes to a data store.
type NotificationConfig struct {
// PubsubTopic: The [Cloud
// Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
// notifications of changes are published on. Supplied by the client.
// PubsubMessage.Data contains 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](https://cloud.google.com/pubsub/docs/overview#names) must be
// scoped to a project. Cloud Healthcare API service account must have
// publisher permissions on the given Cloud Pub/Sub topic. Not having
// adequate permissions causes the calls that send notifications to
// fail. If a notification can't be published to Cloud Pub/Sub, errors
// are logged to Cloud Logging (see [Viewing
// logs](/healthcare/docs/how-tos/logging)). If the number of errors
// exceeds a certain rate, some aren't submitted. Note that not all
// operations trigger notifications, see [Configuring Pub/Sub
// notifications](https://cloud.google.com/healthcare/docs/how-tos/pubsub
// ) for specific details.
PubsubTopic string `json:"pubsubTopic,omitempty"`
// ForceSendFields is a list of field names (e.g. "PubsubTopic") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PubsubTopic") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NotificationConfig) MarshalJSON() ([]byte, error) {
type NoMethod NotificationConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Operation: This resource represents a long-running operation that is
// the result of a network API call.
type Operation struct {
// Done: If the value is `false`, it means the operation is still in
// progress. If `true`, the operation is completed, and either `error`
// or `response` is available.
Done bool `json:"done,omitempty"`
// Error: The error result of the operation in case of failure or
// cancellation.
Error *Status `json:"error,omitempty"`
// Metadata: Service-specific metadata associated with the operation. It
// typically contains progress information and common metadata such as
// create time. Some services might not provide such metadata. Any
// method that returns a long-running operation should document the
// metadata type, if any.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: The server-assigned name, which is only unique within the same
// service that originally returns it. If you use the default HTTP
// mapping, the `name` should be a resource name ending with
// `operations/{unique_id}`.
Name string `json:"name,omitempty"`
// Response: The normal response of the operation in case of success. If
// the original method returns no data on success, such as `Delete`, the
// response is `google.protobuf.Empty`. If the original method is
// standard `Get`/`Create`/`Update`, the response should be the
// resource. For other methods, the response should have the type
// `XxxResponse`, where `Xxx` is the original method name. For example,
// if the original method name is `TakeSnapshot()`, the inferred
// response type is `TakeSnapshotResponse`.
Response googleapi.RawMessage `json:"response,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Done") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Done") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Operation) MarshalJSON() ([]byte, error) {
type NoMethod Operation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OperationMetadata: OperationMetadata provides information about the
// operation execution. Returned in the long-running operation's
// metadata field.
type OperationMetadata struct {
// ApiMethodName: The name of the API method that initiated the
// operation.
ApiMethodName string `json:"apiMethodName,omitempty"`
// CancelRequested: Specifies if cancellation was requested for the
// operation.
CancelRequested bool `json:"cancelRequested,omitempty"`
Counter *ProgressCounter `json:"counter,omitempty"`
// CreateTime: The time at which the operation was created by the API.
CreateTime string `json:"createTime,omitempty"`
// EndTime: The time at which execution was completed.
EndTime string `json:"endTime,omitempty"`
// LogsUrl: A link to audit and error logs in the log viewer. Error logs
// are generated only by some operations, listed at [Viewing
// logs](/healthcare/docs/how-tos/logging).
LogsUrl string `json:"logsUrl,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApiMethodName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiMethodName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *OperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod OperationMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ParsedData: The content of a HL7v2 message in a structured format.
type ParsedData struct {
Segments []*Segment `json:"segments,omitempty"`
// ForceSendFields is a list of field names (e.g. "Segments") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Segments") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ParsedData) MarshalJSON() ([]byte, error) {
type NoMethod ParsedData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ParserConfig: The configuration for the parser. It determines how the
// server parses the messages.
type ParserConfig struct {
// AllowNullHeader: Determines whether messages with no header are
// allowed.
AllowNullHeader bool `json:"allowNullHeader,omitempty"`
// SegmentTerminator: Byte(s) to use as the segment terminator. If this
// is unset, '\r' is used as segment terminator.
SegmentTerminator string `json:"segmentTerminator,omitempty"`
// ForceSendFields is a list of field names (e.g. "AllowNullHeader") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllowNullHeader") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ParserConfig) MarshalJSON() ([]byte, error) {
type NoMethod ParserConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PatientId: A patient identifier and associated type.
type PatientId struct {
// Type: ID type. For example, MRN or NHS.
Type string `json:"type,omitempty"`
// Value: The patient's unique identifier.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Type") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Type") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PatientId) MarshalJSON() ([]byte, error) {
type NoMethod PatientId
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Policy: An Identity and Access Management (IAM) policy, which
// specifies access controls for Google Cloud resources. A `Policy` is a
// collection of `bindings`. A `binding` binds one or more `members` to
// a single `role`. Members can be user accounts, service accounts,
// Google groups, and domains (such as G Suite). A `role` is a named
// list of permissions; each `role` can be an IAM predefined role or a
// user-created custom role. For some types of Google Cloud resources, a
// `binding` can also specify a `condition`, which is a logical
// expression that allows access to a resource only if the expression
// evaluates to `true`. A condition can add constraints based on
// attributes of the request, the resource, or both. To learn which
// resources support conditions in their IAM policies, see the [IAM
// documentation](https://cloud.google.com/iam/help/conditions/resource-p
// olicies). **JSON example:** { "bindings": [ { "role":
// "roles/resourcemanager.organizationAdmin", "members": [
// "user:mike@example.com", "group:admins@example.com",
// "domain:google.com",
// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
// "role": "roles/resourcemanager.organizationViewer", "members": [
// "user:eve@example.com" ], "condition": { "title": "expirable access",
// "description": "Does not grant access after Sep 2020", "expression":
// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
// members: - user:mike@example.com - group:admins@example.com -
// domain:google.com -
// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
// roles/resourcemanager.organizationAdmin - members: -
// user:eve@example.com role: roles/resourcemanager.organizationViewer
// condition: title: expirable access description: Does not grant access
// after Sep 2020 expression: request.time <
// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
// 3 For a description of IAM and its features, see the [IAM
// documentation](https://cloud.google.com/iam/docs/).
type Policy struct {
// AuditConfigs: Specifies cloud audit logging configuration for this
// policy.
AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
// Bindings: Associates a list of `members` to a `role`. Optionally, may
// specify a `condition` that determines how and when the `bindings` are
// applied. Each of the `bindings` must contain at least one member.
Bindings []*Binding `json:"bindings,omitempty"`
// Etag: `etag` is used for optimistic concurrency control as a way to
// help prevent simultaneous updates of a policy from overwriting each
// other. It is strongly suggested that systems make use of the `etag`
// in the read-modify-write cycle to perform policy updates in order to
// avoid race conditions: An `etag` is returned in the response to
// `getIamPolicy`, and systems are expected to put that etag in the
// request to `setIamPolicy` to ensure that their change will be applied
// to the same version of the policy. **Important:** If you use IAM
// Conditions, you must include the `etag` field whenever you call
// `setIamPolicy`. If you omit this field, then IAM allows you to
// overwrite a version `3` policy with a version `1` policy, and all of
// the conditions in the version `3` policy are lost.
Etag string `json:"etag,omitempty"`
// Version: Specifies the format of the policy. Valid values are `0`,
// `1`, and `3`. Requests that specify an invalid value are rejected.
// Any operation that affects conditional role bindings must specify
// version `3`. This requirement applies to the following operations: *
// Getting a policy that includes a conditional role binding * Adding a
// conditional role binding to a policy * Changing a conditional role
// binding in a policy * Removing any role binding, with or without a
// condition, from a policy that includes conditions **Important:** If
// you use IAM Conditions, you must include the `etag` field whenever
// you call `setIamPolicy`. If you omit this field, then IAM allows you
// to overwrite a version `3` policy with a version `1` policy, and all
// of the conditions in the version `3` policy are lost. If a policy
// does not include any conditions, operations on that policy may
// specify any valid version or leave the field unset. To learn which
// resources support conditions in their IAM policies, see the [IAM
// documentation](https://cloud.google.com/iam/help/conditions/resource-p
// olicies).
Version int64 `json:"version,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AuditConfigs") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Policy) MarshalJSON() ([]byte, error) {
type NoMethod Policy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProgressCounter: ProgressCounter provides counters to describe an
// operation's progress.
type ProgressCounter struct {
// Failure: The number of units that failed in the operation.
Failure int64 `json:"failure,omitempty,string"`
// Pending: The number of units that are pending in the operation.
Pending int64 `json:"pending,omitempty,string"`
// Success: The number of units that succeeded in the operation.
Success int64 `json:"success,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Failure") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Failure") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProgressCounter) MarshalJSON() ([]byte, error) {
type NoMethod ProgressCounter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RedactConfig: Define how to redact sensitive values. Default
// behaviour is erase. For example, "My name is Jane." becomes "My name
// is ."
type RedactConfig struct {
}
// ReplaceWithInfoTypeConfig: When using the INSPECT_AND_TRANSFORM
// action, each match is replaced with the name of the info_type. For
// example, "My name is Jane" becomes "My name is [PERSON_NAME]." The
// TRANSFORM action is equivalent to redacting.
type ReplaceWithInfoTypeConfig struct {
}
// Resources: A list of FHIR resources.
type Resources struct {
// Resources: List of resources IDs. For example, "Patient/1234".
Resources []string `json:"resources,omitempty"`
// ForceSendFields is a list of field names (e.g. "Resources") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Resources") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Resources) MarshalJSON() ([]byte, error) {
type NoMethod Resources
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SchemaConfig: Configuration for the FHIR BigQuery schema. Determines
// how the server generates the schema.
type SchemaConfig struct {
// RecursiveStructureDepth: The depth for all recursive structures in
// the output analytics schema. For example, `concept` in the CodeSystem
// resource is a recursive structure; when the depth is 2, the
// CodeSystem table will have a column called `concept.concept` but not
// `concept.concept.concept`. If not specified or set to 0, the server
// will use the default value 2. The maximum depth allowed is 5.
RecursiveStructureDepth int64 `json:"recursiveStructureDepth,omitempty,string"`
// SchemaType: Specifies the output schema type. Schema type is
// required.
//
// Possible values:
// "SCHEMA_TYPE_UNSPECIFIED" - No schema type specified. This type is
// unsupported.
// "ANALYTICS" - Analytics schema defined by the FHIR community. See
// https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
// BigQuery only allows a maximum of 10,000 columns per table. Due to
// this limitation, the server will not generate schemas for fields of
// type `Resource`, which can hold any resource type. The affected
// fields are `Parameters.parameter.resource`, `Bundle.entry.resource`,
// and `Bundle.entry.response.outcome`.
SchemaType string `json:"schemaType,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "RecursiveStructureDepth") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "RecursiveStructureDepth")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *SchemaConfig) MarshalJSON() ([]byte, error) {
type NoMethod SchemaConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SearchResourcesRequest: Request to search the resources in the
// specified FHIR store.
type SearchResourcesRequest struct {
// ResourceType: The FHIR resource type to search, such as Patient or
// Observation. For a complete list, see the FHIR Resource Index
// ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/resourcelist.ht
// ml),
// [STU3](http://hl7.org/implement/standards/fhir/STU3/resourcelist.html)
// ,
// [R4](http://hl7.org/implement/standards/fhir/R4/resourcelist.html)).
ResourceType string `json:"resourceType,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResourceType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResourceType") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SearchResourcesRequest) MarshalJSON() ([]byte, error) {
type NoMethod SearchResourcesRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Segment: A segment in a structured format.
type Segment struct {
// Fields: A mapping from the positional location to the value. The key
// string uses zero-based indexes separated by dots to identify Fields,
// components and sub-components. A bracket notation is also used to
// identify different instances of a repeated field. Regex for key:
// (\d+)(\[\d+\])?(.\d+)?(.\d+)? Examples of (key, value) pairs: * (0.1,
// "hemoglobin") denotes that the first component of Field 0 has the
// value "hemoglobin". * (1.1.2, "CBC") denotes that the second
// sub-component of the first component of Field 1 has the value "CBC".
// * (1[0].1, "HbA1c") denotes that the first component of the first
// Instance of Field 1, which is repeated, has the value "HbA1c".
Fields map[string]string `json:"fields,omitempty"`
// SegmentId: A string that indicates the type of segment. For example,
// EVN or PID.
SegmentId string `json:"segmentId,omitempty"`
// SetId: Set ID for segments that can be in a set. This can be empty if
// it's missing or isn't applicable.
SetId string `json:"setId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Fields") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Fields") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Segment) MarshalJSON() ([]byte, error) {
type NoMethod Segment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SetIamPolicyRequest: Request message for `SetIamPolicy` method.
type SetIamPolicyRequest struct {
// Policy: REQUIRED: The complete policy to be applied to the
// `resource`. The size of the policy is limited to a few 10s of KB. An
// empty policy is a valid policy but certain Cloud Platform services
// (such as Projects) might reject them.
Policy *Policy `json:"policy,omitempty"`
// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
// policy to modify. Only the fields in the mask will be modified. If no
// mask is provided, the following default mask is used: `paths:
// "bindings, etag"
UpdateMask string `json:"updateMask,omitempty"`
// ForceSendFields is a list of field names (e.g. "Policy") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Policy") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
type NoMethod SetIamPolicyRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Status: The `Status` type defines a logical error model that is
// suitable for different programming environments, including REST APIs
// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
// `Status` message contains three pieces of data: error code, error
// message, and error details. You can find out more about this error
// model and how to work with it in the [API Design
// Guide](https://cloud.google.com/apis/design/errors).
type Status struct {
// Code: The status code, which should be an enum value of
// google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a
// common set of message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in
// English. Any user-facing error message should be localized and sent
// in the google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// StreamConfig: Contains configuration for streaming FHIR export.
type StreamConfig struct {
// BigqueryDestination: The destination BigQuery structure that contains
// both the dataset location and corresponding schema config. The output
// is organized in one table per resource type. The server reuses the
// existing tables (if any) that are named after the resource types. For
// example, "Patient", "Observation". When there is no existing table
// for a given resource type, the server attempts to create one. When a
// table schema doesn't align with the schema config, either because of
// existing incompatible schema or out of band incompatible
// modification, the server does not stream in new data. BigQuery
// imposes a 1 MB limit on streaming insert row size, therefore any
// resource mutation that generates more than 1 MB of BigQuery data is
// not streamed. One resolution in this case is to delete the
// incompatible table and let the server recreate one, though the newly
// created table only contains data after the table recreation. Results
// are appended to the corresponding BigQuery tables. Different versions
// of the same resource are distinguishable by the meta.versionId and
// meta.lastUpdated columns. The operation (CREATE/UPDATE/DELETE) that
// results in the new version is recorded in the meta.tag. The tables
// contain all historical resource versions since streaming was enabled.
// For query convenience, the server also creates one view per table of
// the same name containing only the current resource version. The
// streamed data in the BigQuery dataset is not guaranteed to be
// completely unique. The combination of the id and meta.versionId
// columns should ideally identify a single unique row. But in rare
// cases, duplicates may exist. At query time, users may use the SQL
// select statement to keep only one of the duplicate rows given an id
// and meta.versionId pair. Alternatively, the server created view
// mentioned above also filters out duplicates. If a resource mutation
// cannot be streamed to BigQuery, errors are logged to Cloud Logging.
// For more information, see [Viewing error logs in Cloud
// Logging](/healthcare/docs/how-tos/logging)).
BigqueryDestination *GoogleCloudHealthcareV1FhirBigQueryDestination `json:"bigqueryDestination,omitempty"`
// ResourceTypes: Supply a FHIR resource type (such as "Patient" or
// "Observation"). See
// https://www.hl7.org/fhir/valueset-resource-types.html for a list of
// all FHIR resource types. The server treats an empty list as an intent
// to stream all the supported resource types in this FHIR store.
ResourceTypes []string `json:"resourceTypes,omitempty"`
// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BigqueryDestination") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *StreamConfig) MarshalJSON() ([]byte, error) {
type NoMethod StreamConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TagFilterList: List of tags to be filtered.
type TagFilterList struct {
// Tags: Tags to be filtered. Tags must be DICOM Data Elements, File
// Meta Elements, or Directory Structuring Elements, as defined at:
// http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,. They may be provided by "Keyword" or "Tag". For example "PatientID",
// "00100010".
Tags []string `json:"tags,omitempty"`
// ForceSendFields is a list of field names (e.g. "Tags") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Tags") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TagFilterList) MarshalJSON() ([]byte, error) {
type NoMethod TagFilterList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestIamPermissionsRequest: Request message for `TestIamPermissions`
// method.
type TestIamPermissionsRequest struct {
// Permissions: The set of permissions to check for the `resource`.
// Permissions with wildcards (such as '*' or 'storage.*') are not
// allowed. For more information see [IAM
// Overview](https://cloud.google.com/iam/docs/overview#permissions).
Permissions []string `json:"permissions,omitempty"`
// ForceSendFields is a list of field names (e.g. "Permissions") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Permissions") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) {
type NoMethod TestIamPermissionsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TestIamPermissionsResponse: Response message for `TestIamPermissions`
// method.
type TestIamPermissionsResponse struct {
// Permissions: A subset of `TestPermissionsRequest.permissions` that
// the caller is allowed.
Permissions []string `json:"permissions,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Permissions") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Permissions") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod TestIamPermissionsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TextConfig struct {
// Transformations: The transformations to apply to the detected data.
Transformations []*InfoTypeTransformation `json:"transformations,omitempty"`
// ForceSendFields is a list of field names (e.g. "Transformations") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Transformations") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *TextConfig) MarshalJSON() ([]byte, error) {
type NoMethod TextConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "healthcare.projects.locations.get":
type ProjectsLocationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a location.
func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsLocationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200926")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "healthcare.projects.locations.get" call.
// Exactly one of *Location or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Location.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Location{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets information about a location.",
// "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
// "httpMethod": "GET",
// "id": "healthcare.projects.locations.get",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "name": {
// "description": "Resource name for the location.",
// "location": "path",
// "pattern": "^projects/[^/]+/locations/[^/]+$",
// "required": true,
// "type": "string"
// }
// },
// "path": "v1/{+name}",
// "response": {
// "$ref": "Location"
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform"
// ]
// }
}
// method id "healthcare.projects.locations.list":
type ProjectsLocationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists information about the supported locations for this
// service.
func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Filter sets the optional parameter "filter": The standard list
// filter.
func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The standard list
// page size.
func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": The standard list
// page token.
func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsLocationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200926")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "healthcare.projects.locations.list" call.
// Exactly one of *ListLocationsResponse or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *ListLocationsResponse.ServerResponse.Header or (if a response was
// returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &ListLocationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Lists information about the supported locations for this service.",
// "flatPath": "v1/projects/{projectsId}/locations",
// "httpMethod": "GET",
// "id": "healthcare.projects.locations.list",
// "parameterOrder": [
// "name"
// ],
// "parameters": {
// "filter": {
// "description": "The standard list filter.",
// "location": "query",
// "type": "string"
// },
// "name": {
// "description": "The resource that owns the locations collection, if applicable.",
// "location": "path",
// "pattern": "^projects/[^/]+$",
// "required": true,
// "type": "string"
// },
// "pageSize": {
// "description": "The standard list page size.",
// "format": "int32",
// "location": "query",
// "type": "integer"
// },
// "pageToken": {