his_emr_api_lab 2.3.5 → 2.3.6
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0a4ea1a6183fe75cd7d56a11e934391903cab098f8892b91380d6f6e67b3b752
|
|
4
|
+
data.tar.gz: 4b9f2c6e7f8beabf94c5c474cd11a2cbafe833a4111d975786b9b65b85a093fd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b5562e97cd505fed7dc56e3529e7b5b38510cf3ec5d0a94dbd2fbff91a8286e7715a96bb77c6ff339cf7edf60d0eda539e57ec758109c32de26cd11892e387e7
|
|
7
|
+
data.tar.gz: '097f26ec972cd4f79e57f5719142c6224a975dad0b4c31de4e6063df96470f01885c000544b743f4d0470b09c2d63ab1180f97dad6eb585ab0d7ff6d01350e1b'
|
|
@@ -14,12 +14,11 @@ module Lab
|
|
|
14
14
|
date_received: params[:date_received])
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
def acknowledgements_pending_sync(batch_size, start_date: nil)
|
|
17
|
+
def acknowledgements_pending_sync(batch_size, start_date: nil, last_order_id: 0)
|
|
18
18
|
query = Lab::LabAcknowledgement.joins(:order).where(pushed: false)
|
|
19
|
-
|
|
19
|
+
.where('lims_acknowledgement_statuses.order_id > ?', last_order_id)
|
|
20
20
|
query = query.where('orders.date_created >= ?', start_date) if start_date
|
|
21
|
-
|
|
22
|
-
query.limit(batch_size)
|
|
21
|
+
query.order('lims_acknowledgement_statuses.order_id ASC').limit(batch_size)
|
|
23
22
|
end
|
|
24
23
|
|
|
25
24
|
def push_acknowledgement(acknowledgement, lims_api)
|
|
@@ -16,19 +16,33 @@ module Lab
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def push_acknowledgement(batch_size: 1000, wait: false)
|
|
19
|
+
last_order_id = 0
|
|
19
20
|
loop do
|
|
20
21
|
logger.info('Looking for new acknowledgements to push to LIMS...')
|
|
21
22
|
acknowledgements = Lab::AcknowledgementService.acknowledgements_pending_sync(batch_size,
|
|
22
|
-
start_date: start_date
|
|
23
|
+
start_date: start_date,
|
|
24
|
+
last_order_id: last_order_id).all
|
|
23
25
|
|
|
24
26
|
logger.debug("Found #{acknowledgements.size} acknowledgements...")
|
|
25
27
|
acknowledgements.each do |acknowledgement|
|
|
26
28
|
Lab::AcknowledgementService.push_acknowledgement(acknowledgement, @lims_api)
|
|
29
|
+
last_order_id = acknowledgement.order_id
|
|
27
30
|
rescue StandardError => e
|
|
28
31
|
logger.error("Failed to push acknowledgement ##{acknowledgement.order_id}: #{e.class} - #{e.message}")
|
|
29
32
|
end
|
|
30
33
|
|
|
31
|
-
|
|
34
|
+
# If no records found or not waiting, check if we should continue
|
|
35
|
+
if acknowledgements.empty?
|
|
36
|
+
break unless wait
|
|
37
|
+
elsif !wait && acknowledgements.size < batch_size
|
|
38
|
+
# Processed final partial batch in one-shot mode
|
|
39
|
+
logger.info("Processed final batch of #{acknowledgements.size} acknowledgements")
|
|
40
|
+
break
|
|
41
|
+
elsif !wait
|
|
42
|
+
# More records likely exist, continue processing
|
|
43
|
+
logger.info('Batch complete, checking for more acknowledgements...')
|
|
44
|
+
next
|
|
45
|
+
end
|
|
32
46
|
|
|
33
47
|
logger.info('Waiting for acknowledgements...')
|
|
34
48
|
sleep(Lab::Lims::Config.updates_poll_frequency)
|
data/lib/lab/version.rb
CHANGED
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: 2.3.
|
|
4
|
+
version: 2.3.6
|
|
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: 2026-06-
|
|
11
|
+
date: 2026-06-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: couchrest
|