googleapis
Version:
Google APIs Client Library for Node.js
879 lines (878 loc) • 672 kB
TypeScript
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace healthcare_v1beta1 {
export interface Options extends GlobalOptions {
version: 'v1beta1';
}
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('v1beta1');
* ```
*/
export class Healthcare {
context: APIRequestContext;
projects: Resource$Projects;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Configures consent audit log config for FHIR create, read, update, and delete (CRUD) operations. Cloud audit log for healthcare API must be [enabled](https://cloud.google.com/logging/docs/audit/configure-data-access#config-console-enable). The consent-related logs are included as part of `protoPayload.metadata`.
*/
export interface Schema$AccessDeterminationLogConfig {
/**
* Optional. Controls the amount of detail to include as part of the audit logs.
*/
logLevel?: string | null;
}
/**
* Specifies a selection of tags and an `Action` to apply to each one.
*/
export interface Schema$Action {
/**
* Inspect image and transform sensitive burnt-in text. Doesn't apply to elements nested in a sequence, which revert to `Keep`. Supported [tags](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part06/chapter_6.html): PixelData
*/
cleanImageTag?: Schema$ImageConfig;
/**
* Inspect text and transform sensitive text. Configurable via TextConfig. Supported Value Representations: AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS
*/
cleanTextTag?: Schema$CleanTextTag;
/**
* Delete tag.
*/
deleteTag?: Schema$DeleteTag;
/**
* Keep tag unchanged.
*/
keepTag?: Schema$KeepTag;
/**
* Select all tags with the listed tag IDs, names, or Value Representations (VRs). Examples: ID: "00100010" Keyword: "PatientName" VR: "PN"
*/
queries?: string[] | null;
/**
* Recursively apply DICOM de-id to tags nested in a sequence. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): SQ
*/
recurseTag?: Schema$RecurseTag;
/**
* Replace UID with a new generated UID. Supported [Value Representation] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): UI
*/
regenUidTag?: Schema$RegenUidTag;
/**
* Replace with empty tag.
*/
removeTag?: Schema$RemoveTag;
/**
* Reset tag to a placeholder value.
*/
resetTag?: Schema$ResetTag;
}
/**
* 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;
}
/**
* List of admin Consent resources to be applied.
*/
export interface Schema$AdminConsents {
/**
* The versioned names of the admin Consent resource(s), in the format `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}/_history/{version_id\}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}`.
*/
names?: 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[];
}
/**
* An annotation record.
*/
export interface Schema$Annotation {
/**
* Required. Details of the source.
*/
annotationSource?: Schema$AnnotationSource;
/**
* Additional information for this annotation record, such as annotator and verifier information or study campaign.
*/
customData?: {
[key: string]: string;
} | null;
/**
* Annotations for images. For example, bounding polygons.
*/
imageAnnotation?: Schema$ImageAnnotation;
/**
* Identifier. Resource name of the Annotation, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/annotationStores/{annotation_store_id\}/annotations/{annotation_id\}`.
*/
name?: string | null;
/**
* Annotations for resource. For example, classification tags.
*/
resourceAnnotation?: Schema$ResourceAnnotation;
/**
* Annotations for sensitive texts. For example, a range that describes the location of sensitive text.
*/
textAnnotation?: Schema$SensitiveTextAnnotation;
}
/**
* Specifies how to store annotations during de-identification operation.
*/
export interface Schema$AnnotationConfig {
/**
* The name of the annotation store, in the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/annotationStores/{annotation_store_id\}`). * The destination annotation store must be in the same project as the source data. De-identifying data across multiple projects is not supported. * The destination annotation store must exist when using DeidentifyDicomStore or DeidentifyFhirStore. DeidentifyDataset automatically creates the destination annotation store.
*/
annotationStoreName?: string | null;
/**
* If set to true, the sensitive texts are included in SensitiveTextAnnotation of Annotation.
*/
storeQuote?: boolean | null;
}
/**
* AnnotationSource holds the source information of the annotation.
*/
export interface Schema$AnnotationSource {
/**
* Cloud Healthcare API resource.
*/
cloudHealthcareSource?: Schema$CloudHealthcareSource;
}
/**
* An Annotation store that can store annotation resources such as labels and tags for text, image and audio.
*/
export interface Schema$AnnotationStore {
/**
* Optional. User-supplied key-value pairs used to organize Annotation 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.
*/
labels?: {
[key: string]: string;
} | null;
/**
* Identifier. Resource name of the Annotation store, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/annotationStores/{annotation_store_id\}`.
*/
name?: string | null;
}
/**
* Contains the error details of the unsupported admin Consent resources for when the ApplyAdminConsents method fails to apply one or more Consent resources.
*/
export interface Schema$ApplyAdminConsentsErrorDetail {
/**
* The list of Consent resources that are unsupported or cannot be applied and the error associated with each of them.
*/
consentErrors?: Schema$ConsentErrors[];
/**
* The currently in progress non-validate-only ApplyAdminConsents operation ID if exist.
*/
existingOperationId?: string | null;
}
/**
* Request to apply the admin Consent resources for the specified FHIR store.
*/
export interface Schema$ApplyAdminConsentsRequest {
/**
* A new list of admin Consent resources to be applied. Any existing enforced Consents, which are specified in `consent_config.enforced_admin_consents` of the FhirStore, that are not part of this list will be disabled. An empty list is equivalent to clearing or disabling all Consents enforced on the FHIR store. When a FHIR store has `disable_resource_versioning=true` and this list contains a Consent resource that exists in `consent_config.enforced_admin_consents`, the method enforces any updates to the existing resource since the last enforcement. If the existing resource hasn't been updated since the last enforcement, the resource is unaffected. After the method finishes, the resulting consent enforcement model is determined by the contents of the Consent resource(s) when the method was called: * When `disable_resource_versioning=true`, the result is identical to the current resource(s) in the FHIR store. * When `disable_resource_versioning=false`, the result is based on the historical version(s) of the Consent resource(s) at the point in time when the method was called. At most 200 Consents can be specified.
*/
newConsentsList?: Schema$AdminConsents;
/**
* If true, the method only validates Consent resources to make sure they are supported. Otherwise, the method applies the aggregate consent information to update the enforcement model and reindex the FHIR resources. If all Consent resources can be applied successfully, the ApplyAdminConsentsResponse is returned containing the following fields: * `consent_apply_success` to indicate the number of Consent resources applied. * `affected_resources` to indicate the number of resources that might have had their consent access changed. If, however, one or more Consent resources are unsupported or cannot be applied, the method fails and ApplyAdminConsentsErrorDetail is is returned with details about the unsupported Consent resources.
*/
validateOnly?: boolean | null;
}
/**
* Response when all admin Consent resources in scope were processed and all affected resources were reindexed successfully. This structure will be included in the response when the operation finishes successfully.
*/
export interface Schema$ApplyAdminConsentsResponse {
/**
* The number of resources (including the Consent resources) that may have consent access change.
*/
affectedResources?: string | null;
/**
* If `validate_only=false` in ApplyAdminConsentsRequest, this counter contains the number of Consent resources that were successfully applied. Otherwise, it is the number of Consent resources that are supported.
*/
consentApplySuccess?: string | null;
/**
* The number of resources (including the Consent resources) that ApplyAdminConsents failed to re-index.
*/
failedResources?: string | null;
}
/**
* Request to apply the Consent resources for the specified FHIR store.
*/
export interface Schema$ApplyConsentsRequest {
/**
* Optional. Scope down to a list of patients.
*/
patientScope?: Schema$PatientScope;
/**
* Optional. Scope down to patients whose most recent consent changes are in the time range. Can only be used with a versioning store (i.e. when disable_resource_versioning is set to false).
*/
timeRange?: Schema$TimeRange;
/**
* Optional. If true, the method only validates Consent resources to make sure they are supported. When the operation completes, ApplyConsentsResponse is returned where `consent_apply_success` and `consent_apply_failure` indicate supported and unsupported (or invalid) Consent resources, respectively. Otherwise, the method propagates the aggregate consensual information to the patient's resources. Upon success, `affected_resources` in the ApplyConsentsResponse indicates the number of resources that may have consensual access changed.
*/
validateOnly?: boolean | null;
}
/**
* Response when all Consent resources in scope were processed and all affected resources were reindexed successfully. This structure is included in the response when the operation finishes successfully.
*/
export interface Schema$ApplyConsentsResponse {
/**
* The number of resources (including the Consent resources) that may have consensual access change.
*/
affectedResources?: string | null;
/**
* If `validate_only = false` in ApplyConsentsRequest, this counter is the number of Consent resources that were failed to apply. Otherwise, it is the number of Consent resources that are not supported or invalid.
*/
consentApplyFailure?: string | null;
/**
* If `validate_only = false` in ApplyConsentsRequest, this counter is the number of Consent resources that were successfully applied. Otherwise, it is the number of Consent resources that are supported.
*/
consentApplySuccess?: string | null;
/**
* The number of resources (including the Consent resources) that ApplyConsents failed to re-index.
*/
failedResources?: string | null;
}
/**
* 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;
/**
* 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;
/**
* Identifier. 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;
}
/**
* Gets multiple messages in a specified HL7v2 store.
*/
export interface Schema$BatchGetMessagesResponse {
/**
* The returned Messages. See `MessageView` for populated fields.
*/
messages?: Schema$Message[];
}
/**
* 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`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/group/{group_id\}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/x`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/group/{group_id\}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/x`: All identities in a workload identity pool. * `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. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
*/
members?: string[] | null;
/**
* Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
*/
role?: string | null;
}
/**
* BlobStorageInfo contains details about the data stored in Blob Storage for the referenced resource. Note: Storage class is only valid for DICOM and hence will only be populated for DICOM resources.
*/
export interface Schema$BlobStorageInfo {
/**
* Size in bytes of data stored in Blob Storage.
*/
sizeBytes?: string | null;
/**
* The storage class in which the Blob data is stored.
*/
storageClass?: string | null;
/**
* The time at which the storage class was updated. This is used to compute early deletion fees of the resource.
*/
storageClassUpdateTime?: string | null;
}
/**
* Settings for data stored in Blob storage.
*/
export interface Schema$BlobStorageSettings {
/**
* The Storage class in which the Blob data is stored.
*/
blobStorageClass?: string | null;
}
/**
* A bounding polygon for the detected image annotation.
*/
export interface Schema$BoundingPoly {
/**
* A description of this polygon.
*/
label?: string | null;
/**
* List of the vertices of this polygon.
*/
vertices?: Schema$Vertex[];
}
/**
* The configuration for exporting to Cloud Storage using the bulk export API.
*/
export interface Schema$BulkExportGcsDestination {
/**
* Optional. URI for a Cloud Storage directory where the server writes 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 | 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;
}
/**
* Replace field value with masking character. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.
*/
export interface Schema$CharacterMaskField {
}
/**
* 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;
}
/**
* This option is based on the DICOM Standard's [Clean Descriptors Option](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/sect_E.3.5.html), and the `CleanText` `Action` is applied to all the specified fields. When cleaning text, the process attempts to transform phrases matching any of the tags marked for removal (action codes D, Z, X, and U) in the [Basic Profile](http://dicom.nema.org/medical/dicom/2018e/output/chtml/part15/chapter_E.html). These contextual phrases are replaced with the token "[CTX]". This option uses an additional infoType during inspection.
*/
export interface Schema$CleanDescriptorsOption {
}
/**
* Inspect text and transform sensitive text. Configure using TextConfig. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.
*/
export interface Schema$CleanTextField {
}
/**
* Inspect text and transform sensitive text. Configurable using TextConfig. Supported [Value Representations] (http://dicom.nema.org/medical/dicom/2018e/output/chtml/part05/sect_6.2.html#table_6.2-1): AE, LO, LT, PN, SH, ST, UC, UT, DA, DT, AS
*/
export interface Schema$CleanTextTag {
}
/**
* Cloud Healthcare API resource.
*/
export interface Schema$CloudHealthcareSource {
/**
* Full path of a Cloud Healthcare API resource.
*/
name?: string | null;
}
/**
* Request to configure the search parameters for the specified FHIR store.
*/
export interface Schema$ConfigureSearchRequest {
/**
* The canonical URLs of the search parameters that are intended to be used for the FHIR store. See https://www.hl7.org/fhir/references.html#canonical for explanation on FHIR canonical urls
*/
canonicalUrls?: string[] | null;
/**
* If `validate_only` is set to true, the method will compile all the search parameters without actually setting the search config for the store and triggering the reindex.
*/
validateOnly?: 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;
/**
* Identifier. 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$GoogleCloudHealthcareV1beta1ConsentPolicy[];
/**
* 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;
}
/**
* The accessor scope that describes who can access, for what purpose, in which environment.
*/
export interface Schema$ConsentAccessorScope {
/**
* An individual, group, or access role that identifies the accessor or a characteristic of the accessor. This can be a resource ID (such as `{resourceType\}/{id\}`) or an external URI. This value must be present.
*/
actor?: string | null;
/**
* An abstract identifier that describes the environment or conditions under which the accessor is acting. If it's not specified, it applies to all environments.
*/
environment?: string | null;
/**
* The intent of data use. If it's not specified, it applies to all purposes.
*/
purpose?: 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;
/**
* Identifier. 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;
}
/**
* Configures whether to enforce consent for the FHIR store and which consent enforcement version is being used.
*/
export interface Schema$ConsentConfig {
/**
* Optional. Specifies how the server logs the consent-aware requests. If not specified, the `AccessDeterminationLogConfig.LogLevel.MINIMUM` option is used.
*/
accessDeterminationLogConfig?: Schema$AccessDeterminationLogConfig;
/**
* Optional. The default value is false. If set to true, when accessing FHIR resources, the consent headers will be verified against consents given by patients. See the ConsentEnforcementVersion for the supported consent headers.
*/
accessEnforced?: boolean | null;
/**
* Optional. Different options to configure the behaviour of the server when handling the `X-Consent-Scope` header.
*/
consentHeaderHandling?: Schema$ConsentHeaderHandling;
/**
* Output only. The versioned names of the enforced admin Consent resource(s), in the format `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}/_history/{version_id\}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}`. This field can only be updated using ApplyAdminConsents.
*/
enforcedAdminConsents?: string[] | null;
/**
* Required. Specifies which consent enforcement version is being used for this FHIR store. This field can only be set once by either CreateFhirStore or UpdateFhirStore. After that, you must call ApplyConsents to change the version.
*/
version?: string | null;
}
/**
* The Consent resource name and error.
*/
export interface Schema$ConsentErrors {
/**
* The error code and message.
*/
error?: Schema$Status;
/**
* The versioned name of the admin Consent resource, in the format `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}/_history/{version_id\}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}`.
*/
name?: string | null;
}
/**
* The detailed evaluation of a particular Consent.
*/
export interface Schema$ConsentEvaluation {
/**
* The evaluation result.
*/
evaluationResult?: string | null;
}
/**
* How the server handles the consent header.
*/
export interface Schema$ConsentHeaderHandling {
/**
* Optional. Specifies the default server behavior when the header is empty. If not specified, the `ScopeProfile.PERMIT_EMPTY_SCOPE` option is used.
*/
profile?: 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;
}
/**
* Fields that don't match a KeepField or CleanTextField `action` in the BASIC profile are collected into a contextual phrase list. For fields that match a CleanTextField `action` in FieldMetadata or ProfileType, the process attempts to transform phrases matching these contextual entries. These contextual phrases are replaced with the token "[CTX]". This feature uses an additional InfoType during inspection.
*/
export interface Schema$ContextualDeidConfig {
}
/**
* Creates a new message.
*/
export interface Schema$CreateMessageRequest {
/**
* Required. 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;
}
/**
* Replace field value with a hash of that value. Supported [types](https://www.hl7.org/fhir/datatypes.html): Code, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml.
*/
export interface Schema$CryptoHashField {
}
/**
* 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 {
/**
* Customer-managed encryption key spec for a Dataset. If set, this Dataset and all of its sub-resources will be secured by this key. If empty, the Dataset is secured by the default Google encryption key.
*/
encryptionSpec?: Schema$EncryptionSpec;
/**
* Identifier. Resource name of the dataset, of the form `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}`.
*/
name?: string | null;
/**
* Output only. Whether the dataset satisfies zone isolation.
*/
satisfiesPzi?: boolean | null;
/**
* Output only. Whether the dataset satisfies zone separation.
*/
satisfiesPzs?: boolean | 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;
}
/**
* Shift the date by a randomized number of days. See [date shifting](https://cloud.google.com/dlp/docs/concepts-date-shifting) for more information. Supported [types](https://www.hl7.org/fhir/datatypes.html): Date, DateTime.
*/
export interface Schema$DateShiftField {
}
/**
* 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 how annotations, meaning that the location and infoType of sensitive information findings, are created during de-identification. If unspecified, no annotations are created.
*/
annotation?: Schema$AnnotationConfig;
/**
* Configures de-id of application/DICOM content. Deprecated. Use `dicom_tag_config` instead.
*/
dicom?: Schema$DicomConfig;
/**
* Configures de-id of application/DICOM content.
*/
dicomTagConfig?: Schema$DicomTagConfig;
/**
* Configures de-id of application/FHIR content. Deprecated. Use `fhir_field_config` instead.