검색어와 일치하는 FHIR 리소스를 삭제합니다.
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
Go
import (
"context"
"fmt"
"io"
"time"
healthcare "google.golang.org/api/healthcare/v1beta1"
)
// queryParamOpt is a googleapi.Option (https://godoc.org/google.golang.org/api/googleapi#CallOption)
// that adds query parameters to an API call.
type queryParamOpt struct {
key, value string
}
func (qp queryParamOpt) Get() (string, string) { return qp.key, qp.value }
// ConditionalDeleteFHIRResource conditionally deletes an FHIR resource.
func ConditionalDeleteFHIRResource(w io.Writer, projectID, location, datasetID, fhirStoreID, resourceType string) error {
// projectID := "my-project"
// location := "us-central1"
// datasetID := "my-dataset"
// fhirStoreID := "my-fhir-store"
// resourceType := "Patient"
ctx := context.Background()
healthcareService, err := healthcare.NewService(ctx)
if err != nil {
return fmt.Errorf("healthcare.NewService: %v", err)
}
fhirService := healthcareService.Projects.Locations.Datasets.FhirStores.Fhir
parent := fmt.Sprintf("projects/%s/locations/%s/datasets/%s/fhirStores/%s", projectID, location, datasetID, fhirStoreID)
call := fhirService.ConditionalDelete(parent, resourceType)
// Refine your search by appending tags to the request in the form of query
// parameters. This searches for resources updated in the last 48 hours.
twoDaysAgo := time.Now().Add(-48 * time.Hour).Format("2006-01-02")
lastUpdated := queryParamOpt{key: "_lastUpdated", value: "gt" + twoDaysAgo}
if _, err := call.Do(lastUpdated); err != nil {
return fmt.Errorf("ConditionalDelete: %v", err)
}
fmt.Fprintf(w, "Deleted %q", parent)
return nil
}
Python
def conditional_delete_resource(
service_account_json, base_url, project_id, cloud_region, dataset_id, fhir_store_id
):
"""Deletes FHIR resources that match a search query."""
url = "{}/projects/{}/locations/{}".format(base_url, project_id, cloud_region)
# The search query in this request deletes all Observations
# with a status of 'cancelled'.
resource_path = "{}/datasets/{}/fhirStores/{}/fhir/Observation".format(
url, dataset_id, fhir_store_id
)
# The search query is passed in as a query string parameter.
params = {"status": "cancelled"}
# Make an authenticated API request
session = get_session(service_account_json)
response = session.delete(resource_path, params=params)
print(response.url)
if response.status_code != 404: # Don't consider missing to be error
response.raise_for_status()
print("Conditionally deleted all Observations with status='cancelled'.")
return response
다음 단계
다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.