inferno_core 0.4.17 → 0.4.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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