Show / Hide Table of Contents

Class ProjectsResource.LocationsResource.DatasetsResource.FhirStoresResource.ImportRequest

Imports resources to the FHIR store by loading data from the specified sources. This method is optimized to load large quantities of data using import semantics that ignore some FHIR store configuration options and are not suitable for all use cases. It is primarily intended to load data into an empty FHIR store that is not being used by other clients. In cases where this method is not appropriate, consider using ExecuteBundle to load data.

Every resource in the input must contain a client-supplied ID. Each resource is stored using the supplied ID regardless of the enable_update_create setting on the FHIR store.

The import process does not enforce referential integrity, regardless of the disable_referential_integrity setting on the FHIR store. This allows the import of resources with arbitrary interdependencies without considering grouping or ordering, but if the input data contains invalid references or if some resources fail to be imported, the FHIR store might be left in a state that violates referential integrity.

The import process does not trigger Pub/Sub notification or BigQuery streaming update, regardless of how those are configured on the FHIR store.

If a resource with the specified ID already exists, the most recent version of the resource is overwritten without creating a new historical version, regardless of the disable_resource_versioning setting on the FHIR store. If transient failures occur during the import, it's possible that successfully imported resources will be overwritten more than once.

The import operation is idempotent unless the input data contains multiple valid resources with the same ID but different contents. In that case, after the import completes, the store contains exactly one resource with that ID but there is no ordering guarantee on which version of the contents it will have. The operation result counters do not count duplicate IDs as an error and count one success for each resource in the input, which might result in a success count larger than the number of resources in the FHIR store. This often occurs when importing data organized in bundles produced by Patient-everything where each bundle contains its own copy of a resource such as Practitioner that might be referred to by many patients.

If some resources fail to import, for example due to parsing errors, successfully imported resources are not rolled back.

The location and format of the input data is specified by the parameters below. Note that if no format is specified, this method assumes the BUNDLE format. When using the BUNDLE format this method ignores the Bundle.type field, except that history bundles are rejected, and does not apply any of the bundle processing semantics for batch or transaction bundles. Unlike in ExecuteBundle, transaction bundles are not executed as a single transaction and bundle- internal references are not rewritten. The bundle is treated as a collection of resources to be written as provided in Bundle.entry.resource, ignoring Bundle.entry.request. As an example, this allows the import of searchset bundles produced by a FHIR search or Patient-everything operation.

This method returns an Operation that can be used to track the status of the import by calling GetOperation.

Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see Viewing logs). Otherwise, when the operation finishes, a detailed response of type ImportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.

Inheritance
System.Object
ClientServiceRequest
ClientServiceRequest<Operation>
CloudHealthcareBaseServiceRequest<Operation>
ProjectsResource.LocationsResource.DatasetsResource.FhirStoresResource.ImportRequest
Implements
IClientServiceRequest<Operation>
IClientServiceRequest
Inherited Members
CloudHealthcareBaseServiceRequest<Operation>.Xgafv
CloudHealthcareBaseServiceRequest<Operation>.AccessToken
CloudHealthcareBaseServiceRequest<Operation>.Alt
CloudHealthcareBaseServiceRequest<Operation>.Callback
CloudHealthcareBaseServiceRequest<Operation>.Fields
CloudHealthcareBaseServiceRequest<Operation>.Key
CloudHealthcareBaseServiceRequest<Operation>.OauthToken
CloudHealthcareBaseServiceRequest<Operation>.PrettyPrint
CloudHealthcareBaseServiceRequest<Operation>.QuotaUser
CloudHealthcareBaseServiceRequest<Operation>.UploadType
CloudHealthcareBaseServiceRequest<Operation>.UploadProtocol
ClientServiceRequest<Operation>.Execute()
ClientServiceRequest<Operation>.ExecuteAsStream()
ClientServiceRequest<Operation>.ExecuteAsync()
ClientServiceRequest<Operation>.ExecuteAsync(CancellationToken)
ClientServiceRequest<Operation>.ExecuteAsStreamAsync()
ClientServiceRequest<Operation>.ExecuteAsStreamAsync(CancellationToken)
ClientServiceRequest<Operation>.CreateRequest(Nullable<Boolean>)
ClientServiceRequest<Operation>.GenerateRequestUri()
ClientServiceRequest<Operation>.GetDefaultETagAction(String)
ClientServiceRequest<Operation>.ETagAction
ClientServiceRequest<Operation>.ModifyRequest
ClientServiceRequest<Operation>.RequestParameters
ClientServiceRequest<Operation>.Service
ClientServiceRequest._unsuccessfulResponseHandlers
ClientServiceRequest._exceptionHandlers
ClientServiceRequest._executeInterceptors
ClientServiceRequest.AddUnsuccessfulResponseHandler(IHttpUnsuccessfulResponseHandler)
ClientServiceRequest.AddExceptionHandler(IHttpExceptionHandler)
ClientServiceRequest.AddExecuteInterceptor(IHttpExecuteInterceptor)
ClientServiceRequest.Credential
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Google.Apis.CloudHealthcare.v1
Assembly: Google.Apis.CloudHealthcare.v1.dll
Syntax
public class ImportRequest : CloudHealthcareBaseServiceRequest<Operation>, IClientServiceRequest<Operation>, IClientServiceRequest

Constructors

ImportRequest(IClientService, ImportResourcesRequest, String)

Constructs a new Import request.

Declaration
public ImportRequest(IClientService service, ImportResourcesRequest body, string name)
Parameters
Type Name Description
IClientService service
ImportResourcesRequest body
System.String name

Properties

HttpMethod

Gets the HTTP method.

Declaration
public override string HttpMethod { get; }
Property Value
Type Description
System.String
Overrides
Google.Apis.Requests.ClientServiceRequest<Google.Apis.CloudHealthcare.v1.Data.Operation>.HttpMethod

MethodName

Gets the method name.

Declaration
public override string MethodName { get; }
Property Value
Type Description
System.String
Overrides
Google.Apis.Requests.ClientServiceRequest<Google.Apis.CloudHealthcare.v1.Data.Operation>.MethodName

Name

Declaration
[RequestParameter("name", RequestParameterType.Path)]
public virtual string Name { get; }
Property Value
Type Description
System.String

RestPath

Gets the REST path.

Declaration
public override string RestPath { get; }
Property Value
Type Description
System.String
Overrides
Google.Apis.Requests.ClientServiceRequest<Google.Apis.CloudHealthcare.v1.Data.Operation>.RestPath

Methods

GetBody()

Returns the body of the request.

Declaration
protected override object GetBody()
Returns
Type Description
System.Object
Overrides
Google.Apis.Requests.ClientServiceRequest<Google.Apis.CloudHealthcare.v1.Data.Operation>.GetBody()

InitParameters()

Initializes Import parameter list.

Declaration
protected override void InitParameters()
Overrides
Google.Apis.CloudHealthcare.v1.CloudHealthcareBaseServiceRequest<Google.Apis.CloudHealthcare.v1.Data.Operation>.InitParameters()

Implements

IClientServiceRequest<TResponse>
IClientServiceRequest
Back to top