inferno_core 0.4.17 → 0.4.18

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 77e9c5d39c29db85f07321f5456cebad0fb4e285f0143533984d36500248fbd7
4
- data.tar.gz: e22a7589dbb1bc4edd54ad3305526fdfeae4358fd992b2b23f5d69a8a8fa139c
3
+ metadata.gz: 9fc795a49145b262a250f35b8653e39c506313af4788f1b82ef274c4c4ea7960
4
+ data.tar.gz: 29214802809c59187e4923eaa9f8b1844ebab5f0dffa32738242721de55b4b85
5
5
  SHA512:
6
- metadata.gz: 642da73f8db4428c210e80919567a7fe5586a93fa4f485e6dfaff117c1d796936a263dcb82d8bb69c309266a0b150846e93a51825e4b8bab0eaffe237ec23f20
7
- data.tar.gz: 2f68462dee18ced89167e7327a3dd5fbb7d250adef866604e4590d5c891fcb695761127b46804125c9d165de859d0777dc74ccf4772ba5a1b9f2865f0dcda6f3
6
+ metadata.gz: 71c77cd25ddef3ea505359a81b1e979fdcf528e87587ad3b518e5389418a423bacd1965396d7a31f7b7ad3bef3b70465c63654dbb95bd7290e7e35d9f906f7dc
7
+ data.tar.gz: fc5abb31735fbc351084ee8ed8d385dbcfab4637bcea8338c58fa79bebcf5bb65314e33cc3e619b96b83b495aadd1225b4cf9f8267ff0c92b0394fad0f2cb57d
@@ -130,6 +130,78 @@ module Inferno
130
130
  end
131
131
  end
132
132
 
133
+ # Perform a FHIR vread interaction.
134
+ #
135
+ # @param resource_type [String, Symbol, Class]
136
+ # @param id [String]
137
+ # @param version_id [String]
138
+ # @param client [Symbol]
139
+ # @param name [Symbol] Name for this request to allow it to be used by
140
+ # other tests
141
+ # @return [Inferno::Entities::Request]
142
+ def fhir_vread(resource_type, id, version_id, client: :default, name: nil)
143
+ store_request_and_refresh_token(fhir_client(client), name) do
144
+ tcp_exception_handler do
145
+ fhir_client(client).vread(fhir_class_from_resource_type(resource_type), id, version_id)
146
+ end
147
+ end
148
+ end
149
+
150
+ # Perform a FHIR update interaction.
151
+ #
152
+ # @param resource [FHIR::Model]
153
+ # @param id [String]
154
+ # @param client [Symbol]
155
+ # @param name [Symbol] Name for this request to allow it to be used by
156
+ # other tests
157
+ # @return [Inferno::Entities::Request]
158
+ def fhir_update(resource, id, client: :default, name: nil)
159
+ store_request_and_refresh_token(fhir_client(client), name) do
160
+ tcp_exception_handler do
161
+ fhir_client(client).update(resource, id)
162
+ end
163
+ end
164
+ end
165
+
166
+ # Perform a FHIR patch interaction.
167
+ #
168
+ # @param resource_type [String, Symbol, Class]
169
+ # @param id [String]
170
+ # @param patchset [Array]
171
+ # @param client [Symbol]
172
+ # @param name [Symbol] Name for this request to allow it to be used by
173
+ # other tests
174
+ # @return [Inferno::Entities::Request]
175
+ def fhir_patch(resource_type, id, patchset, client: :default, name: nil)
176
+ store_request_and_refresh_token(fhir_client(client), name) do
177
+ tcp_exception_handler do
178
+ fhir_client(client).partial_update(fhir_class_from_resource_type(resource_type), id, patchset)
179
+ end
180
+ end
181
+ end
182
+
183
+ # Perform a FHIR history interaction.
184
+ #
185
+ # @param resource_type [String, Symbol, Class]
186
+ # @param id [String]
187
+ # @param client [Symbol]
188
+ # @param name [Symbol] Name for this request to allow it to be used by
189
+ # other tests
190
+ # @return [Inferno::Entities::Request]
191
+ def fhir_history(resource_type = nil, id = nil, client: :default, name: nil)
192
+ store_request_and_refresh_token(fhir_client(client), name) do
193
+ tcp_exception_handler do
194
+ if id
195
+ fhir_client(client).resource_instance_history(fhir_class_from_resource_type(resource_type), id)
196
+ elsif resource_type
197
+ fhir_client(client).resource_history(fhir_class_from_resource_type(resource_type))
198
+ else
199
+ fhir_client(client).all_history
200
+ end
201
+ end
202
+ end
203
+ end
204
+
133
205
  # Perform a FHIR search interaction.
134
206
  #
135
207
  # @param resource_type [String, Symbol, Class]
@@ -139,7 +211,7 @@ module Inferno
139
211
  # other tests
140
212
  # @param search_method [Symbol] Use `:post` to search via POST
141
213
  # @return [Inferno::Entities::Request]
142
- def fhir_search(resource_type, client: :default, params: {}, name: nil, search_method: :get)
214
+ def fhir_search(resource_type = nil, client: :default, params: {}, name: nil, search_method: :get)
143
215
  search =
144
216
  if search_method == :post
145
217
  { body: params }
@@ -149,8 +221,12 @@ module Inferno
149
221
 
150
222
  store_request_and_refresh_token(fhir_client(client), name) do
151
223
  tcp_exception_handler do
152
- fhir_client(client)
153
- .search(fhir_class_from_resource_type(resource_type), { search: })
224
+ if resource_type
225
+ fhir_client(client)
226
+ .search(fhir_class_from_resource_type(resource_type), { search: })
227
+ else
228
+ fhir_client(client).search_all({ search: })
229
+ end
154
230
  end
155
231
  end
156
232
  end