his_emr_api_lab 1.1.15 → 1.1.16

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: a0345aafa5a183730006a41e0451a129eea8b201622af42c9ae9b13fb23e410d
4
- data.tar.gz: d2003b6e1872c4d3c16b1bc80edea36d4ac353d62b37aad71932119085c5aecb
3
+ metadata.gz: 31eb65eeca1c291f733da313a36a6477143ed6119afa9858cd7afb6979ef75bd
4
+ data.tar.gz: 3f753f4313b69f613388c2517a8efe7936871baad6adb43dfc8475ecfe303688
5
5
  SHA512:
6
- metadata.gz: afb1c33968cb197c30b9f702b04188e93c886982a2304dc21aefcfd46add7aeb62df2307d53c6f2794dba8895a049f131b82835046280de920996d70eb6f1b84
7
- data.tar.gz: ad3514949b17d623983acd6c8f7c4af305da52e4eda81e2345d94d7390e2d35aa7796d91397d819f0f64efa73803a011b4e9bd46baa574b265b04346da30b1d2
6
+ metadata.gz: 94ba7f43627d0def3edb609439535f9a715b695afda5ba43a494b673f421b1878cda6386b2b58c9960990f58c5156f308d85a5909668aad7c1dba97ab4aae2a9
7
+ data.tar.gz: 2f2d3552dcbe2608623066a65bb4fff59932aea55b3ab4b8a24478cc773161b6b1149c4bba08175233e4c6a43d3ed247abd889fcf258528c31bb4c4e8c89c35e
@@ -8,14 +8,15 @@ module Lab
8
8
  OrdersService.order_test(order_params)
9
9
  end
10
10
 
11
+ orders.each { |order| Lab::PushOrderJob.perform_later(order.fetch(:order_id)) }
12
+
11
13
  render json: orders, status: :created
12
14
  end
13
15
 
14
16
  def update
15
17
  specimen = params.require(:specimen).permit(:concept_id)
16
-
17
- order = OrdersService.update_order(params[:id], specimen: specimen,
18
- force_update: params[:force_update])
18
+ order = OrdersService.update_order(params[:id], specimen: specimen, force_update: params[:force_update])
19
+ Lab::PushOrderJob.perform_later(order.fetch(:order_id))
19
20
 
20
21
  render json: order
21
22
  end
@@ -23,11 +24,13 @@ module Lab
23
24
  def index
24
25
  filters = params.permit(%i[patient_id accession_number date status])
25
26
 
27
+ Lab::UpdatePatientOrdersJob.perform_later(filters[:patient_id]) if filters[:patient_id]
26
28
  render json: OrdersSearchService.find_orders(filters)
27
29
  end
28
30
 
29
31
  def destroy
30
32
  OrdersService.void_order(params[:id], params[:reason])
33
+ Lab::VoidOrderJob.perform_later(params[:id])
31
34
 
32
35
  render status: :no_content
33
36
  end
@@ -14,7 +14,8 @@ class Lab::TestsController < ::ApplicationController
14
14
  order_id, test_concepts = test_params.require(%i[order_id tests])
15
15
  date = test_params[:date] || Date.today
16
16
 
17
- tests = service.create_tests(Order.find(order_id), date, test_concepts)
17
+ tests = service.create_tests(Lab::LabOrder.find(order_id), date, test_concepts)
18
+ Lab::PushOrderJob.perform_later(order_id)
18
19
 
19
20
  render json: tests, status: :created
20
21
  end
@@ -44,19 +44,11 @@ module Lab
44
44
  scope :drawn, -> { where.not(concept_id: ConceptName.where(name: 'Unknown').select(:concept_id)) }
45
45
  scope :not_drawn, -> { where(concept_id: ConceptName.where(name: 'Unknown').select(:concept_id)) }
46
46
 
47
- after_commit :queue_lims_push
48
-
49
47
  def self.prefetch_relationships
50
48
  includes(:reason_for_test,
51
49
  :requesting_clinician,
52
50
  :target_lab,
53
51
  tests: [:result])
54
52
  end
55
-
56
- private
57
-
58
- def queue_lims_push
59
- Lab::PushOrderJob.perform_later(order_id)
60
- end
61
53
  end
62
54
  end
@@ -5,14 +5,6 @@ module Lab
5
5
  module OrdersSearchService
6
6
  class << self
7
7
  def find_orders(filters)
8
- # A bit of hack-ish solution to have a patient's orders updated upon
9
- # scanning of a patient. Done in this way to deal with LIMS' lack of
10
- # a notification system for lab order updates. We are limited to polling
11
- # for updates on a per order basis.
12
- if filters[:patient_id]
13
- Lab::UpdatePatientOrdersJob.perform_later(filters[:patient_id])
14
- end
15
-
16
8
  extra_filters = pop_filters(filters, :date, :end_date, :status)
17
9
 
18
10
  orders = Lab::LabOrder.prefetch_relationships
@@ -39,13 +31,9 @@ module Lab
39
31
  date = date&.to_date
40
32
  end_date = end_date&.to_date
41
33
 
42
- if date && end_date
43
- return orders.where('start_date BETWEEN ? AND ?', date, end_date + 1.day)
44
- end
34
+ return orders.where('start_date BETWEEN ? AND ?', date, end_date + 1.day) if date && end_date
45
35
 
46
- if date
47
- return orders.where('start_date BETWEEN ? AND ?', date, date + 1.day)
48
- end
36
+ return orders.where('start_date BETWEEN ? AND ?', date, date + 1.day) if date
49
37
 
50
38
  return orders.where('start_date < ?', end_date + 1.day) if end_date
51
39
 
@@ -100,7 +100,6 @@ module Lab
100
100
 
101
101
  order.tests.each { |test| test.void(reason) }
102
102
  voided = order.void(reason)
103
- Lab::VoidOrderJob.perform_later(order_id)
104
103
 
105
104
  voided
106
105
  end
data/lib/lab/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lab
4
- VERSION = '1.1.15'
4
+ VERSION = '1.1.16'
5
5
  end
@@ -23,10 +23,16 @@ class LoggerMultiplexor
23
23
  end
24
24
 
25
25
  def method_missing(method_name, *args)
26
- @loggers.each { |logger| logger.method(method_name).call(*args) }
26
+ if respond_to_missing?(method_name)
27
+ @loggers.each { |logger| logger.send(method_name, *args) }
28
+ else
29
+ super
30
+ end
27
31
  end
28
32
 
29
33
  def respond_to_missing?(method_name)
30
- @loggers.all? { |logger| logger.respond_to_missing?(method_name) }
34
+ @loggers.all? do |logger|
35
+ logger.respond_to?(method_name)
36
+ end
31
37
  end
32
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: his_emr_api_lab
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.15
4
+ version: 1.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elizabeth Glaser Pediatric Foundation Malawi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-14 00:00:00.000000000 Z
11
+ date: 2021-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: couchrest
@@ -334,7 +334,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
334
334
  - !ruby/object:Gem::Version
335
335
  version: '0'
336
336
  requirements: []
337
- rubygems_version: 3.0.8
337
+ rubygems_version: 3.1.4
338
338
  signing_key:
339
339
  specification_version: 4
340
340
  summary: Lab extension for the HIS-EMR-API