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\HealthcareEmpty;
21use Google\Service\CloudHealthcare\HttpBody;
22
23/**
24 * The "instances" collection of methods.
25 * Typical usage is:
26 *  <code>
27 *   $healthcareService = new Google\Service\CloudHealthcare(...);
28 *   $instances = $healthcareService->instances;
29 *  </code>
30 */
31class ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstances extends \Google\Service\Resource
32{
33  /**
34   * DeleteInstance deletes an instance associated with the given study, series,
35   * and SOP Instance UID. Delete requests are equivalent to the GET requests
36   * specified in the Retrieve transaction. Study and series search results can
37   * take a few seconds to be updated after an instance is deleted using
38   * DeleteInstance. For samples that show how to call DeleteInstance, see
39   * [Deleting a study, series, or
40   * instance](https://cloud.google.com/healthcare/docs/how-
41   * tos/dicomweb#deleting_a_study_series_or_instance). (instances.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 DeleteInstance request. For
47   * example, `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.
48   * @param array $optParams Optional parameters.
49   * @return HealthcareEmpty
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], HealthcareEmpty::class);
56  }
57  /**
58   * RetrieveInstance returns instance associated with the given study, series,
59   * and SOP Instance UID. See [RetrieveTransaction] (http://dicom.nema.org/medica
60   * l/dicom/current/output/html/part18.html#sect_10.4). For details on the
61   * implementation of RetrieveInstance, see [DICOM study/series/instances](https:
62   * //cloud.google.com/healthcare/docs/dicom#dicom_studyseriesinstances) and
63   * [DICOM
64   * instances](https://cloud.google.com/healthcare/docs/dicom#dicom_instances) in
65   * the Cloud Healthcare API conformance statement. For samples that show how to
66   * call RetrieveInstance, see [Retrieving an
67   * instance](https://cloud.google.com/healthcare/docs/how-
68   * tos/dicomweb#retrieving_an_instance). (instances.retrieveInstance)
69   *
70   * @param string $parent The name of the DICOM store that is being accessed. For
71   * example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
72   * /dicomStores/{dicom_store_id}`.
73   * @param string $dicomWebPath The path of the RetrieveInstance DICOMweb
74   * request. For example,
75   * `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}`.
76   * @param array $optParams Optional parameters.
77   * @return HttpBody
78   */
79  public function retrieveInstance($parent, $dicomWebPath, $optParams = [])
80  {
81    $params = ['parent' => $parent, 'dicomWebPath' => $dicomWebPath];
82    $params = array_merge($params, $optParams);
83    return $this->call('retrieveInstance', [$params], HttpBody::class);
84  }
85  /**
86   * RetrieveInstanceMetadata returns instance associated with the given study,
87   * series, and SOP Instance UID presented as metadata with the bulk data
88   * removed. See [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/curre
89   * nt/output/html/part18.html#sect_10.4). For details on the implementation of
90   * RetrieveInstanceMetadata, see [Metadata
91   * resources](https://cloud.google.com/healthcare/docs/dicom#metadata_resources)
92   * in the Cloud Healthcare API conformance statement. For samples that show how
93   * to call RetrieveInstanceMetadata, see [Retrieving
94   * metadata](https://cloud.google.com/healthcare/docs/how-
95   * tos/dicomweb#retrieving_metadata). (instances.retrieveMetadata)
96   *
97   * @param string $parent The name of the DICOM store that is being accessed. For
98   * example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
99   * /dicomStores/{dicom_store_id}`.
100   * @param string $dicomWebPath The path of the RetrieveInstanceMetadata DICOMweb
101   * request. For example,
102   * `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/metadata`.
103   * @param array $optParams Optional parameters.
104   * @return HttpBody
105   */
106  public function retrieveMetadata($parent, $dicomWebPath, $optParams = [])
107  {
108    $params = ['parent' => $parent, 'dicomWebPath' => $dicomWebPath];
109    $params = array_merge($params, $optParams);
110    return $this->call('retrieveMetadata', [$params], HttpBody::class);
111  }
112  /**
113   * RetrieveRenderedInstance returns instance associated with the given study,
114   * series, and SOP Instance UID in an acceptable Rendered Media Type. See
115   * [RetrieveTransaction] (http://dicom.nema.org/medical/dicom/current/output/htm
116   * l/part18.html#sect_10.4). For details on the implementation of
117   * RetrieveRenderedInstance, see [Rendered
118   * resources](https://cloud.google.com/healthcare/docs/dicom#rendered_resources)
119   * in the Cloud Healthcare API conformance statement. For samples that show how
120   * to call RetrieveRenderedInstance, see [Retrieving consumer image
121   * formats](https://cloud.google.com/healthcare/docs/how-
122   * tos/dicomweb#retrieving_consumer_image_formats). (instances.retrieveRendered)
123   *
124   * @param string $parent The name of the DICOM store that is being accessed. For
125   * example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}
126   * /dicomStores/{dicom_store_id}`.
127   * @param string $dicomWebPath The path of the RetrieveRenderedInstance DICOMweb
128   * request. For example,
129   * `studies/{study_uid}/series/{series_uid}/instances/{instance_uid}/rendered`.
130   * @param array $optParams Optional parameters.
131   * @return HttpBody
132   */
133  public function retrieveRendered($parent, $dicomWebPath, $optParams = [])
134  {
135    $params = ['parent' => $parent, 'dicomWebPath' => $dicomWebPath];
136    $params = array_merge($params, $optParams);
137    return $this->call('retrieveRendered', [$params], HttpBody::class);
138  }
139}
140
141// Adding a class alias for backwards compatibility with the previous class name.
142class_alias(ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstances::class, 'Google_Service_CloudHealthcare_Resource_ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstances');
143