UNPKG

googleapis

Version:
838 lines 443 kB
/// <reference types="node" /> import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common'; import { Readable } from 'stream'; export declare namespace healthcare_v1 { export interface Options extends GlobalOptions { version: 'v1'; } interface StandardParameters { /** * Auth client or API Key for the request */ auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth; /** * V1 error format. */ '$.xgafv'?: string; /** * OAuth access token. */ access_token?: string; /** * Data format for response. */ alt?: string; /** * JSONP */ callback?: string; /** * Selector specifying which fields to include in a partial response. */ fields?: string; /** * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ key?: string; /** * OAuth 2.0 token for the current user. */ oauth_token?: string; /** * Returns response with indentations and line breaks. */ prettyPrint?: boolean; /** * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ quotaUser?: string; /** * Legacy upload protocol for media (e.g. "media", "multipart"). */ uploadType?: string; /** * Upload protocol for media (e.g. "raw", "multipart"). */ upload_protocol?: string; } /** * Cloud Healthcare API * * Manage, store, and access healthcare data in Google Cloud Platform. * * @example * ```js * const {google} = require('googleapis'); * const healthcare = google.healthcare('v1'); * ``` */ export class Healthcare { context: APIRequestContext; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable); } /** * Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the given Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in the `REJECTED` or `REVOKED` state. */ export interface Schema$ActivateConsentRequest { /** * Required. The resource name of the Consent artifact that contains documentation of the user's consent, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/consentStores/{consent_store_id\}/consentArtifacts/{consent_artifact_id\}`. If the draft Consent had a Consent artifact, this Consent artifact overwrites it. */ consentArtifact?: string | null; /** * Timestamp in UTC of when this Consent is considered expired. */ expireTime?: string | null; /** * The time to live for this Consent from when it is marked as active. */ ttl?: string | null; } /** * The request to analyze healthcare entities in a document. */ export interface Schema$AnalyzeEntitiesRequest { /** * Optional. Alternative output format to be generated based on the results of analysis. */ alternativeOutputFormat?: string | null; /** * document_content is a document to be annotated. */ documentContent?: string | null; /** * A list of licensed vocabularies to use in the request, in addition to the default unlicensed vocabularies. */ licensedVocabularies?: string[] | null; } /** * Includes recognized entity mentions and relationships between them. */ export interface Schema$AnalyzeEntitiesResponse { /** * The union of all the candidate entities that the entity_mentions in this response could link to. These are UMLS concepts or normalized mention content. */ entities?: Schema$Entity[]; /** * The `entity_mentions` field contains all the annotated medical entities that were mentioned in the provided document. */ entityMentions?: Schema$EntityMention[]; /** * The FHIR bundle ([`R4`](http://hl7.org/fhir/R4/bundle.html)) that includes all the entities, the entity mentions, and the relationships in JSON format. */ fhirBundle?: string | null; /** * relationships contains all the binary relationships that were identified between entity mentions within the provided document. */ relationships?: Schema$EntityMentionRelationship[]; } /** * Archives the specified User data mapping. */ export interface Schema$ArchiveUserDataMappingRequest { } /** * Archives the specified User data mapping. */ export interface Schema$ArchiveUserDataMappingResponse { } /** * An attribute value for a Consent or User data mapping. Each Attribute must have a corresponding AttributeDefinition in the consent store that defines the default and allowed values. */ export interface Schema$Attribute { /** * Indicates the name of an attribute defined in the consent store. */ attributeDefinitionId?: string | null; /** * Required. The value of the attribute. Must be an acceptable value as defined in the consent store. For example, if the consent store defines "data type" with acceptable values "questionnaire" and "step-count", when the attribute name is data type, this field must contain one of those values. */ values?: string[] | null; } /** * A client-defined consent attribute. */ export interface Schema$AttributeDefinition { /** * Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation. */ allowedValues?: string[] | null; /** * Required. The category of the attribute. The value of this field cannot be changed after creation. */ category?: string | null; /** * Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value. */ consentDefaultValues?: string[] | null; /** * Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`. */ dataMappingDefaultValue?: string | null; /** * Optional. A description of the attribute. */ description?: string | null; /** * Resource name of the Attribute definition, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/consentStores/{consent_store_id\}/attributeDefinitions/{attribute_definition_id\}`. Cannot be changed after creation. */ name?: string | null; } /** * 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. */ export interface Schema$AuditConfig { /** * The configuration for logging of each type of permission. */ auditLogConfigs?: Schema$AuditLogConfig[]; /** * 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 | null; } /** * 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. */ export interface Schema$AuditLogConfig { /** * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. */ exemptedMembers?: string[] | null; /** * The log type that this config enables. */ logType?: string | null; } /** * Associates `members`, or principals, with a `role`. */ export interface Schema$Binding { /** * 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 principals 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-policies). */ condition?: Schema$Expr; /** * Specifies the principals requesting access for a Google Cloud 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `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. */ members?: string[] | null; /** * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. */ role?: string | null; } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest { } /** * Mask a string by replacing its characters with a fixed character. */ export interface Schema$CharacterMaskConfig { /** * Character to mask the sensitive values. If not supplied, defaults to "*". */ maskingCharacter?: string | null; } /** * Checks if a particular data_id of a User data mapping in the given consent store is consented for a given use. */ export interface Schema$CheckDataAccessRequest { /** * Optional. Specific Consents to evaluate the access request against. These Consents must have the same `user_id` as the evaluated User data mapping, must exist in the current `consent_store`, and have a `state` of either `ACTIVE` or `DRAFT`. A maximum of 100 Consents can be provided here. If no selection is specified, the access request is evaluated against all `ACTIVE` unexpired Consents with the same `user_id` as the evaluated User data mapping. */ consentList?: Schema$ConsentList; /** * Required. The unique identifier of the resource to check access for. This identifier must correspond to a User data mapping in the given consent store. */ dataId?: string | null; /** * The values of request attributes associated with this access request. */ requestAttributes?: { [key: string]: string; } | null; /** * Optional. The view for CheckDataAccessResponse. If unspecified, defaults to `BASIC` and returns `consented` as `TRUE` or `FALSE`. */ responseView?: string | null; } /** * Checks if a particular data_id of a User data mapping in the given consent store is consented for a given use. */ export interface Schema$CheckDataAccessResponse { /** * The resource names of all evaluated Consents mapped to their evaluation. */ consentDetails?: { [key: string]: Schema$ConsentEvaluation; } | null; /** * Whether the requested resource is consented for the given use. */ consented?: boolean | null; } /** * Represents a user's consent. */ export interface Schema$Consent { /** * Required. The resource name of the Consent artifact that contains proof of the end user's consent, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/consentStores/{consent_store_id\}/consentArtifacts/{consent_artifact_id\}`. */ consentArtifact?: string | null; /** * Timestamp in UTC of when this Consent is considered expired. */ expireTime?: string | null; /** * Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent. */ metadata?: { [key: string]: string; } | null; /** * Resource name of the Consent, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/consentStores/{consent_store_id\}/consents/{consent_id\}`. Cannot be changed after creation. */ name?: string | null; /** * Optional. Represents a user's consent in terms of the resources that can be accessed and under what conditions. */ policies?: Schema$GoogleCloudHealthcareV1ConsentPolicy[]; /** * Output only. The timestamp that the revision was created. */ revisionCreateTime?: string | null; /** * Output only. The revision ID of the Consent. The format is an 8-character hexadecimal string. Refer to a specific revision of a Consent by appending `@{revision_id\}` to the Consent's resource name. */ revisionId?: string | null; /** * Required. Indicates the current state of this Consent. */ state?: string | null; /** * Input only. The time to live for this Consent from when it is created. */ ttl?: string | null; /** * Required. User's UUID provided by the client. */ userId?: string | null; } /** * Documentation of a user's consent. */ export interface Schema$ConsentArtifact { /** * Optional. Screenshots, PDFs, or other binary information documenting the user's consent. */ consentContentScreenshots?: Schema$Image[]; /** * Optional. An string indicating the version of the consent information shown to the user. */ consentContentVersion?: string | null; /** * Optional. A signature from a guardian. */ guardianSignature?: Schema$Signature; /** * Optional. Metadata associated with the Consent artifact. For example, the consent locale or user agent version. */ metadata?: { [key: string]: string; } | null; /** * Resource name of the Consent artifact, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/consentStores/{consent_store_id\}/consentArtifacts/{consent_artifact_id\}`. Cannot be changed after creation. */ name?: string | null; /** * Required. User's UUID provided by the client. */ userId?: string | null; /** * Optional. User's signature. */ userSignature?: Schema$Signature; /** * Optional. A signature from a witness. */ witnessSignature?: Schema$Signature; } /** * The detailed evaluation of a particular Consent. */ export interface Schema$ConsentEvaluation { /** * The evaluation result. */ evaluationResult?: string | null; } /** * List of resource names of Consent resources. */ export interface Schema$ConsentList { /** * The resource names of the Consents to evaluate against, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/consentStores/{consent_store_id\}/consents/{consent_id\}`. */ consents?: string[] | null; } /** * Represents a consent store. */ export interface Schema$ConsentStore { /** * Optional. Default time to live for Consents created in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents. */ defaultConsentTtl?: string | null; /** * Optional. If `true`, UpdateConsent creates the Consent if it does not already exist. If unspecified, defaults to `false`. */ enableConsentCreateOnUpdate?: boolean | null; /** * Optional. User-supplied key-value pairs used to organize consent 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 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. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources */ labels?: { [key: string]: string; } | null; /** * Resource name of the consent store, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/consentStores/{consent_store_id\}`. Cannot be changed after creation. */ name?: string | null; } /** * Creates a new message. */ export interface Schema$CreateMessageRequest { /** * HL7v2 message. */ message?: Schema$Message; } /** * Pseudonymization method that generates surrogates via cryptographic hashing. Uses SHA-256. Outputs a base64-encoded representation of the hashed output (for example, `L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=`). */ export interface Schema$CryptoHashConfig { /** * 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 when neither `crypto_key` nor `kms_wrapped` is specified. Must not be set if `kms_wrapped` is set. */ cryptoKey?: string | null; /** * KMS wrapped key. Must not be set if `crypto_key` is set. */ kmsWrapped?: Schema$KmsWrappedCryptoKey; } /** * 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. */ export interface Schema$Dataset { /** * Resource name of the dataset, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}`. */ name?: string | null; /** * 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 | null; } /** * Shift a date forward or backward in time by a random amount which is consistent for a given patient and crypto key combination. */ export interface Schema$DateShiftConfig { /** * An AES 128/192/256 bit key. The date shift is computed based on this key and the patient ID. If the patient ID is empty for a DICOM resource, the date shift is computed based on this key and the study instance UID. If `crypto_key` is not set, then `kms_wrapped` is used to calculate the date shift. If neither is set, a default key is generated for each de-identify operation. Must not be set if `kms_wrapped` is set. */ cryptoKey?: string | null; /** * KMS wrapped key. If `kms_wrapped` is not set, then `crypto_key` is used to calculate the date shift. If neither is set, a default key is generated for each de-identify operation. Must not be set if `crypto_key` is set. */ kmsWrapped?: Schema$KmsWrappedCryptoKey; } /** * Contains configuration for streaming de-identified FHIR export. */ export interface Schema$DeidentifiedStoreDestination { /** * The configuration to use when de-identifying resources that are added to this store. */ config?: Schema$DeidentifyConfig; /** * The full resource name of a Cloud Healthcare FHIR store, for example, `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}`. */ store?: string | null; } /** * 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. */ export interface Schema$DeidentifyConfig { /** * Configures de-id of application/DICOM content. */ dicom?: Schema$DicomConfig; /** * Configures de-id of application/FHIR content. */ fhir?: Schema$FhirConfig; /** * Configures de-identification of image pixels wherever they are found in the source_dataset. */ image?: Schema$ImageConfig; /** * Configures de-identification of text wherever it is found in the source_dataset. */ text?: Schema$TextConfig; /** * Ensures in-flight data remains in the region of origin during de-identification. Using this option results in a significant reduction of throughput, and is not compatible with `LOCATION` or `ORGANIZATION_NAME` infoTypes. `LOCATION` must be excluded within `TextConfig`, and must also be excluded within `ImageConfig` if image redaction is required. */ useRegionalDataProcessing?: boolean | null; } /** * Redacts identifying information from the specified dataset. */ export interface Schema$DeidentifyDatasetRequest { /** * Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified. */ config?: Schema$DeidentifyConfig; /** * 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 location as the source dataset. De-identifying data across multiple locations is not supported. */ destinationDataset?: string | null; /** * Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id\}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified. */ gcsConfigUri?: string | null; } /** * Creates a new DICOM store with sensitive information de-identified. */ export interface Schema$DeidentifyDicomStoreRequest { /** * Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified. */ config?: Schema$DeidentifyConfig; /** * 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\}/dicomStores/{dicom_store_id\}`. * The destination dataset must exist. * The source dataset and destination dataset must both reside in the same location. De-identifying data across multiple locations 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 | null; /** * Filter configuration. */ filterConfig?: Schema$DicomFilterConfig; /** * Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id\}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified. */ gcsConfigUri?: string | null; } /** * Creates a new FHIR store with sensitive information de-identified. */ export interface Schema$DeidentifyFhirStoreRequest { /** * Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified. */ config?: Schema$DeidentifyConfig; /** * 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\}/fhirStores/{fhir_store_id\}`. * The destination dataset must exist. * The source dataset and destination dataset must both reside in the same location. De-identifying data across multiple locations 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 | null; /** * Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id\}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified. */ gcsConfigUri?: string | null; /** * A filter specifying the resources to include in the output. If not specified, all resources are included in the output. */ resourceFilter?: Schema$FhirFilter; /** * If true, skips resources that are created or modified after the de-identify operation is created. */ skipModifiedResources?: boolean | null; } /** * Contains a summary of the Deidentify operation. */ export interface Schema$DeidentifySummary { } /** * Specifies the parameters needed for de-identification of DICOM stores. */ export interface Schema$DicomConfig { /** * Tag filtering profile that determines which tags to keep/remove. */ filterProfile?: string | null; /** * List of tags to keep. Remove all other tags. */ keepList?: Schema$TagFilterList; /** * List of tags to remove. Keep all other tags. */ removeList?: Schema$TagFilterList; /** * 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?: boolean | null; } /** * Specifies the filter configuration for DICOM resources. */ export interface Schema$DicomFilterConfig { /** * 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 | null; } /** * Represents a DICOM store. */ export interface Schema$DicomStore { /** * 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?: { [key: string]: string; } | null; /** * Resource name of the DICOM store, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/dicomStores/{dicom_store_id\}`. */ name?: string | null; /** * Notification destination for new DICOM instances. Supplied by the client. */ notificationConfig?: Schema$NotificationConfig; /** * Optional. A list of streaming configs used to configure the destination of streaming exports for every DICOM instance insertion in this DICOM store. After a new config is added to `stream_configs`, DICOM instance insertions are streamed to the new destination. When a config is removed from `stream_configs`, the server stops streaming to that destination. Each config must contain a unique destination. */ streamConfigs?: Schema$GoogleCloudHealthcareV1DicomStreamConfig[]; } /** * 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); \} */ export interface Schema$Empty { } /** * The candidate entities that an entity mention could link to. */ export interface Schema$Entity { /** * entity_id is a first class field entity_id uniquely identifies this concept and its meta-vocabulary. For example, "UMLS/C0000970". */ entityId?: string | null; /** * preferred_term is the preferred term for this concept. For example, "Acetaminophen". For ad hoc entities formed by normalization, this is the most popular unnormalized string. */ preferredTerm?: string | null; /** * Vocabulary codes are first-class fields and differentiated from the concept unique identifier (entity_id). vocabulary_codes contains the representation of this concept in particular vocabularies, such as ICD-10, SNOMED-CT and RxNORM. These are prefixed by the name of the vocabulary, followed by the unique code within that vocabulary. For example, "RXNORM/A10334543". */ vocabularyCodes?: string[] | null; } /** * An entity mention in the document. */ export interface Schema$EntityMention { /** * The certainty assessment of the entity mention. Its value is one of: LIKELY, SOMEWHAT_LIKELY, UNCERTAIN, SOMEWHAT_UNLIKELY, UNLIKELY, CONDITIONAL */ certaintyAssessment?: Schema$Feature; /** * The model's confidence in this entity mention annotation. A number between 0 and 1. */ confidence?: number | null; /** * linked_entities are candidate ontological concepts that this entity mention may refer to. They are sorted by decreasing confidence. */ linkedEntities?: Schema$LinkedEntity[]; /** * mention_id uniquely identifies each entity mention in a single response. */ mentionId?: string | null; /** * The subject this entity mention relates to. Its value is one of: PATIENT, FAMILY_MEMBER, OTHER */ subject?: Schema$Feature; /** * How this entity mention relates to the subject temporally. Its value is one of: CURRENT, CLINICAL_HISTORY, FAMILY_HISTORY, UPCOMING, ALLERGY */ temporalAssessment?: Schema$Feature; /** * text is the location of the entity mention in the document. */ text?: Schema$TextSpan; /** * The semantic type of the entity: UNKNOWN_ENTITY_TYPE, ALONE, ANATOMICAL_STRUCTURE, ASSISTED_LIVING, BF_RESULT, BM_RESULT, BM_UNIT, BM_VALUE, BODY_FUNCTION, BODY_MEASUREMENT, COMPLIANT, DOESNOT_FOLLOWUP, FAMILY, FOLLOWSUP, LABORATORY_DATA, LAB_RESULT, LAB_UNIT, LAB_VALUE, MEDICAL_DEVICE, MEDICINE, MED_DOSE, MED_DURATION, MED_FORM, MED_FREQUENCY, MED_ROUTE, MED_STATUS, MED_STRENGTH, MED_TOTALDOSE, MED_UNIT, NON_COMPLIANT, OTHER_LIVINGSTATUS, PROBLEM, PROCEDURE, PROCEDURE_RESULT, PROC_METHOD, REASON_FOR_NONCOMPLIANCE, SEVERITY, SUBSTANCE_ABUSE, UNCLEAR_FOLLOWUP. */ type?: string | null; } /** * Defines directed relationship from one entity mention to another. */ export interface Schema$EntityMentionRelationship { /** * The model's confidence in this annotation. A number between 0 and 1. */ confidence?: number | null; /** * object_id is the id of the object entity mention. */ objectId?: string | null; /** * subject_id is the id of the subject entity mention. */ subjectId?: string | null; } /** * Evaluate a user's Consents for all matching User data mappings. Note: User data mappings are indexed asynchronously, causing slight delays between the time mappings are created or updated and when they are included in EvaluateUserConsents results. */ export interface Schema$EvaluateUserConsentsRequest { /** * Optional. Specific Consents to evaluate the access request against. These Consents must have the same `user_id` as the User data mappings being evalauted, must exist in the current `consent_store`, and must have a `state` of either `ACTIVE` or `DRAFT`. A maximum of 100 Consents can be provided here. If unspecified, all `ACTIVE` unexpired Consents in the current `consent_store` will be evaluated. */ consentList?: Schema$ConsentList; /** * Optional. Limit on the number of User data mappings to return in a single response. If not specified, 100 is used. May not be larger than 1000. */ pageSize?: number | null; /** * Optional. Token to retrieve the next page of results, or empty to get the first page. */ pageToken?: string | null; /** * Required. The values of request attributes associated with this access request. */ requestAttributes?: { [key: string]: string; } | null; /** * Optional. The values of resource attributes associated with the resources being requested. If no values are specified, then all resources are queried. */ resourceAttributes?: { [key: string]: string; } | null; /** * Optional. The view for EvaluateUserConsentsResponse. If unspecified, defaults to `BASIC` and returns `consented` as `TRUE` or `FALSE`. */ responseView?: string | null; /** * Required. User ID to evaluate consents for. */ userId?: string | null; } export interface Schema$EvaluateUserConsentsResponse { /** * Token to retrieve the next page of results, or empty if there are no more results in the list. This token is valid for 72 hours after it is created. */ nextPageToken?: string | null; /** * The consent evaluation result for each `data_id`. */ results?: Schema$Result[]; } /** * 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. */ export interface Schema$ExportDicomDataRequest { /** * 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 Cloud Healthcare Service Agent requires two IAM roles on the BigQuery location: `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`. */ bigqueryDestination?: Schema$GoogleCloudHealthcareV1DicomBigQueryDestination; /** * The Cloud Storage output destination. The Cloud Healthcare Service Agent requires the `roles/storage.objectAdmin` Cloud IAM roles on the Cloud Storage location. */ gcsDestination?: Schema$GoogleCloudHealthcareV1DicomGcsDestination; } /** * Returns additional information in regards to a completed DICOM store export. */ export interface Schema$ExportDicomDataResponse { } /** * Request to schedule an export. */ export interface Schema$ExportMessagesRequest { /** * The end of the range in `send_time` (MSH.7, https://www.hl7.org/documentcenter/public_temp_2E58C1F9-1C23-BA17-0C6126475344DA9D/wg/conf/HL7MSH.htm) to process. If not specified, the time when the export is scheduled is used. This value has to come after the `start_time` defined below. Only messages whose `send_time` lies in the range `start_time` (inclusive) to `end_time` (exclusive) are exported. */ endTime?: string | null; /** * Restricts messages exported to those matching a filter, only applicable to PubsubDestination and GcsDestination. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `"query text"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `"Comment = great"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `\>`, `\>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in the `yyyy-mm-dd` format. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `\>`, `\>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, and is just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. 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"`. * `create_time`, the timestamp when the message was created in the HL7v2 store. Use the RFC3339 time format for comparisons. For example, `create_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"`. Note: The filter will be applied to every message in the HL7v2 store whose `send_time` lies in the range defined by the `start_time` and the `end_time`. Even if the filter only matches a small set of messages, the export operation can still take a long time to finish when a lot of messages are between the specified `start_time` and `end_time` range. */ filter?: string | null; /** * Export to a Cloud Storage destination. */ gcsDestination?: Schema$GcsDestination; /** * Export messages to a Pub/Sub topic. */ pubsubDestination?: Schema$PubsubDestination; /** * The start of the range in `send_time` (MSH.7, https://www.hl7.org/documentcenter/public_temp_2E58C1F9-1C23-BA17-0C6126475344DA9D/wg/conf/HL7MSH.htm) to process. If not specified, the UNIX epoch (1970-01-01T00:00:00Z) is used. This value has to come before the `end_time` defined below. Only messages whose `send_time` lies in the range `start_time` (inclusive) to `end_time` (exclusive) are exported. */ startTime?: string | null; } /** * Final response for the export operation. This structure is included in the response to describe the detailed outcome. */ export interface Schema$ExportMessagesResponse { } /** * Request to export resources. */ export interface Schema$ExportResourcesRequest { /** * The BigQuery output destination. The Cloud Healthcare Service Agent requires two IAM roles on the BigQuery location: `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`. The output is one BigQuery table per resource type. Unlike when setting `BigQueryDestination` for `StreamConfig`, `ExportResources` does not create BigQuery views. */ bigqueryDestination?: Schema$GoogleCloudHealthcareV1FhirBigQueryDestination; /** * 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?: Schema$GoogleCloudHealthcareV1FhirGcsDestination; /** * If provided, only resources updated after this time are exported. The time uses the format YYYY-MM-DDThh:mm:ss.sss+zz:zz. For example, `2015-02-07T13:28:17.239+02:00` or `2017-01-01T00:00:00Z`. The time must be specified to the second and include a time zone. */ _since?: string | null; /** * String of comma-delimited FHIR resource types. If provided, only resources of the specified resource type(s) are exported. */ _type?: string | null; } /** * Response when all resources export successfully. This structure is included in the response to describe the detailed outcome after the operation finishes successfully. */ export interface Schema$ExportResourcesResponse { } /** * 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. */ export interface Schema$Expr { /** * 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 | null; /** * Textual representation of an expression in Common Expression Language syntax. */ expression?: string | null; /** * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. */ location?: string | null; /** * 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 | null; } /** * A feature of an entity mention. */ export interface Schema$Feature { /** * The model's confidence in this feature annotation. A number between 0 and 1. */ confidence?: number | null; /** * The value of this feature annotation. Its range depends on the type of the feature. */