1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\CloudHealthcare\Resource;
19
20use Google\Service\CloudHealthcare\HttpBody;
21use Google\Service\CloudHealthcare\Operation;
22
23/**
24 * The "series" collection of methods.
25 * Typical usage is:
26 *  <code>
27 *   $healthcareService = new Google\Service\CloudHealthcare(...);
28 *   $series = $healthcareService->series;
29 *  </code>
30 */
31class ProjectsLocationsDatasetsDicomStoresStudiesSeries extends \Google\Service\Resource
32{
33  /**
34   * DeleteSeries deletes all instances within the given study and series. Delete
35   * requests are equivalent to the GET requests specified in the Retrieve
36   * transaction. The method returns an Operation which will be marked successful
37   * when the deletion is complete. Warning: Instances cannot be inserted into a
38   * series that is being deleted by an operation until the operation completes.
39   * For samples that show how to call DeleteSeries, see [Deleting a study,
40   * series, or instance](https://cloud.google.com/healthcare/docs/how-
41   * tos/dicomweb#deleting_a_study_series_or_instance). (series.delete)
42   *
43   * @param string $parent The name of the DICOM store that is being accessed. For
44   * example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
45   * /dicomStores/{dicom_store_id}`.
46   * @param string $dicomWebPath The path of the DeleteSeries request. For
47   * example, `studies/{study_uid}/series/{series_uid}`.
48   * @param array $optParams Optional parameters.
49   * @return Operation
50   */
51  public function delete($parent, $dicomWebPath, $optParams = [])
52  {
53    $params = ['parent' => $parent, 'dicomWebPath' => $dicomWebPath];
54    $params = array_merge($params, $optParams);
55    return $this->call('delete', [$params], Operation::class);
56  }
57  /**
58   * RetrieveSeriesMetadata returns instance associated with the given study and
59   * series, presented as metadata with the bulk data removed. See
60   * [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/htm
61   * l/part18.html#sect_10.4). For details on the implementation of
62   * RetrieveSeriesMetadata, see [Metadata
63   * resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
64   * in the Cloud Healthcare API conformance statement. For samples that show how
65   * to call RetrieveSeriesMetadata, see [Retrieving
66   * metadata](https://cloud.google.com/healthcare/docs/how-
67   * tos/dicomweb#retrieving_metadata). (series.retrieveMetadata)
68   *
69   * @param string $parent The name of the DICOM store that is being accessed. For
70   * example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
71   * /dicomStores/{dicom_store_id}`.
72   * @param string $dicomWebPath The path of the RetrieveSeriesMetadata DICOMweb
73   * request. For example, `studies/{study_uid}/series/{series_uid}/metadata`.
74   * @param array $optParams Optional parameters.
75   * @return HttpBody
76   */
77  public function retrieveMetadata($parent, $dicomWebPath, $optParams = [])
78  {
79    $params = ['parent' => $parent, 'dicomWebPath' => $dicomWebPath];
80    $params = array_merge($params, $optParams);
81    return $this->call('retrieveMetadata', [$params], HttpBody::class);
82  }
83  /**
84   * RetrieveSeries returns all instances within the given study and series. See
85   * [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/htm
86   * l/part18.html#sect_10.4). For details on the implementation of
87   * RetrieveSeries, see [DICOM study/series/instances](https://cloud.google.com/h
88   * ealthcare/docs/dicom#dicom_studyseriesinstances) in the Cloud Healthcare API
89   * conformance statement. For samples that show how to call RetrieveSeries, see
90   * [Retrieving DICOM data](https://cloud.google.com/healthcare/docs/how-
91   * tos/dicomweb#retrieving_dicom_data). (series.retrieveSeries)
92   *
93   * @param string $parent The name of the DICOM store that is being accessed. For
94   * example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
95   * /dicomStores/{dicom_store_id}`.
96   * @param string $dicomWebPath The path of the RetrieveSeries DICOMweb request.
97   * For example, `studies/{study_uid}/series/{series_uid}`.
98   * @param array $optParams Optional parameters.
99   * @return HttpBody
100   */
101  public function retrieveSeries($parent, $dicomWebPath, $optParams = [])
102  {
103    $params = ['parent' => $parent, 'dicomWebPath' => $dicomWebPath];
104    $params = array_merge($params, $optParams);
105    return $this->call('retrieveSeries', [$params], HttpBody::class);
106  }
107  /**
108   * SearchForInstances returns a list of matching instances. See [Search
109   * Transaction] (http://dicom.nema.org/medical/dicom/current/output/html/part18.
110   * html#sect_10.6). For details on the implementation of SearchForInstances, see
111   * [Search transaction](https://cloud.google.com/healthcare/docs/dicom#search_tr
112   * ansaction) in the Cloud Healthcare API conformance statement. For samples
113   * that show how to call SearchForInstances, see [Searching for studies, series,
114   * instances, and frames](https://cloud.google.com/healthcare/docs/how-
115   * tos/dicomweb#searching_for_studies_series_instances_and_frames).
116   * (series.searchForInstances)
117   *
118   * @param string $parent The name of the DICOM store that is being accessed. For
119   * example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
120   * /dicomStores/{dicom_store_id}`.
121   * @param string $dicomWebPath The path of the SearchForInstancesRequest
122   * DICOMweb request. For example, `instances`, `series/{series_uid}/instances`,
123   * or `studies/{study_uid}/instances`.
124   * @param array $optParams Optional parameters.
125   * @return HttpBody
126   */
127  public function searchForInstances($parent, $dicomWebPath, $optParams = [])
128  {
129    $params = ['parent' => $parent, 'dicomWebPath' => $dicomWebPath];
130    $params = array_merge($params, $optParams);
131    return $this->call('searchForInstances', [$params], HttpBody::class);
132  }
133}
134
135// Adding a class alias for backwards compatibility with the previous class name.
136class_alias(ProjectsLocationsDatasetsDicomStoresStudiesSeries::class, 'Google_Service_CloudHealthcare_Resource_ProjectsLocationsDatasetsDicomStoresStudiesSeries');
137