his_emr_api_lab 2.1.7.pre.beta.0 → 2.1.7.pre.beta.1
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 +4 -4
- data/app/jobs/lab/process_lab_result_job.rb +1 -1
- data/app/services/lab/orders_service.rb +20 -29
- data/lib/lab/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0d877b48426a5796cb14b763cb35844b3456c7682a45b42a5e23b0de5695da42
|
|
4
|
+
data.tar.gz: 96863f1a68b0b36f0e078294811886361ed1ed24780744e0976385814b029edf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3db7243ec7d3ebaa12a9202b8ecd07ac4198e52aa5bc120dc4c8dbcabaa385e458381240a89a458e6876ed932b66f43bedcd2c7ebf47abe02219581a2d601190
|
|
7
|
+
data.tar.gz: 67e61249cd7e3078f1ed00d7f94efa2ce31af43f23111a1c322e47a002cd7f9933bfae164ad573ea4d81aa537d2842755de2b5177f98fe0dbe2ea6bdfbbd5262
|
|
@@ -7,7 +7,7 @@ module Lab
|
|
|
7
7
|
queue_as :default
|
|
8
8
|
def perform(results_obs_id, serializer, result_enter_by)
|
|
9
9
|
Rails.logger.info("Lab::ProcessLabResultJob: Processing result completion for #{serializer}")
|
|
10
|
-
results_obs = Lab::LabResult.find(results_obs_id)
|
|
10
|
+
results_obs = Lab::LabResult.unscoped.find(results_obs_id)
|
|
11
11
|
Lab::ResultsService.process_result_completion(results_obs, serializer, result_enter_by)
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -102,16 +102,14 @@ module Lab
|
|
|
102
102
|
|
|
103
103
|
if reason_for_test
|
|
104
104
|
Rails.logger.debug("Updating reason for test on order ##{order.order_id}")
|
|
105
|
-
update_reason_for_test(order, Concept.find(reason_for_test)&.id,
|
|
106
|
-
force_update: params.fetch('force_update', false))
|
|
105
|
+
update_reason_for_test(order, Concept.find(reason_for_test)&.id, force_update: params.fetch('force_update', false))
|
|
107
106
|
end
|
|
108
107
|
|
|
109
108
|
Lab::LabOrderSerializer.serialize_order(order)
|
|
110
109
|
end
|
|
111
110
|
|
|
112
111
|
def void_order(order_id, reason)
|
|
113
|
-
order = Lab::LabOrder.includes(%i[requesting_clinician reason_for_test target_lab comment_to_fulfiller],
|
|
114
|
-
tests: [:result])
|
|
112
|
+
order = Lab::LabOrder.includes(%i[requesting_clinician reason_for_test target_lab comment_to_fulfiller], tests: [:result])
|
|
115
113
|
.find(order_id)
|
|
116
114
|
|
|
117
115
|
order.requesting_clinician&.void(reason)
|
|
@@ -162,15 +160,13 @@ module Lab
|
|
|
162
160
|
last_order_date: Lab::LabOrder.last&.start_date&.to_date,
|
|
163
161
|
lab_orders: []
|
|
164
162
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
end
|
|
173
|
-
end
|
|
163
|
+
data[:lab_orders] = orders.map do |order|
|
|
164
|
+
Lab::LabOrderSerializer.serialize_order(
|
|
165
|
+
order, requesting_clinician: order.requesting_clinician,
|
|
166
|
+
reason_for_test: order.reason_for_test,
|
|
167
|
+
target_lab: order.target_lab
|
|
168
|
+
)
|
|
169
|
+
end if include_data
|
|
174
170
|
data
|
|
175
171
|
end
|
|
176
172
|
|
|
@@ -178,14 +174,14 @@ module Lab
|
|
|
178
174
|
|
|
179
175
|
def create_rejection_notification(order_params)
|
|
180
176
|
order = find_order order_params['tracking_number']
|
|
181
|
-
data = { type: 'LIMS',
|
|
182
|
-
specimen: ConceptName.find_by(concept_id: order.concept_id)&.name,
|
|
183
|
-
accession_number: order&.accession_number,
|
|
184
|
-
order_date: order&.start_date,
|
|
185
|
-
arv_number: find_arv_number(order.patient_id),
|
|
186
|
-
patient_id: result.person_id,
|
|
187
|
-
ordered_by: order&.provider&.person&.name,
|
|
188
|
-
rejection_reason: order_params['comments'] }.as_json
|
|
177
|
+
data = { 'type': 'LIMS',
|
|
178
|
+
'specimen': ConceptName.find_by(concept_id: order.concept_id)&.name,
|
|
179
|
+
'accession_number': order&.accession_number,
|
|
180
|
+
'order_date': order&.start_date,
|
|
181
|
+
'arv_number': find_arv_number(order.patient_id),
|
|
182
|
+
'patient_id': result.person_id,
|
|
183
|
+
'ordered_by': order&.provider&.person&.name,
|
|
184
|
+
'rejection_reason': order_params['comments'] }.as_json
|
|
189
185
|
NotificationService.new.create_notification('LIMS', data)
|
|
190
186
|
end
|
|
191
187
|
|
|
@@ -239,9 +235,7 @@ module Lab
|
|
|
239
235
|
encounter.encounter_datetime = order_params[:date] || Date.today
|
|
240
236
|
encounter.visit = Visit.find_by_uuid(visit) if Encounter.column_names.include?('visit_id')
|
|
241
237
|
encounter.provider_id = User.current&.person&.id if Encounter.column_names.include?('provider_id')
|
|
242
|
-
if Encounter.column_names.include?('program_id') && order_params[:program_id].present?
|
|
243
|
-
encounter.program_id = order_params[:program_id]
|
|
244
|
-
end
|
|
238
|
+
encounter.program_id = order_params[:program_id] if Encounter.column_names.include?('program_id') && order_params[:program_id].present?
|
|
245
239
|
encounter.save!
|
|
246
240
|
encounter.reload
|
|
247
241
|
end
|
|
@@ -265,7 +259,7 @@ module Lab
|
|
|
265
259
|
order.date_created = params[:date]&.to_date || Date.today if order.respond_to?(:date_created)
|
|
266
260
|
order.start_date = params[:date]&.to_date || Date.today if order.respond_to?(:start_date)
|
|
267
261
|
order.auto_expire_date = params[:end_date]
|
|
268
|
-
#
|
|
262
|
+
# Note: comment_to_fulfiller is a has_one association, not a field
|
|
269
263
|
# It will be created via add_comment_to_fulfiller method
|
|
270
264
|
order.accession_number = access_number
|
|
271
265
|
order.orderer = User.current&.user_id
|
|
@@ -362,10 +356,7 @@ module Lab
|
|
|
362
356
|
|
|
363
357
|
return if order.reason_for_test&.value_coded == concept_id
|
|
364
358
|
|
|
365
|
-
if order.reason_for_test&.value_coded && !force_update
|
|
366
|
-
raise InvalidParameterError,
|
|
367
|
-
"Can't change reason for test once set"
|
|
368
|
-
end
|
|
359
|
+
raise InvalidParameterError, "Can't change reason for test once set" if order.reason_for_test&.value_coded && !force_update
|
|
369
360
|
|
|
370
361
|
order.reason_for_test&.delete
|
|
371
362
|
date = order.start_date if order.respond_to?(:start_date)
|
data/lib/lab/version.rb
CHANGED