his_emr_api_lab 2.0.0 → 2.0.2
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/services/lab/lims/pull_worker.rb +4 -2
- data/app/services/lab/lims/push_worker.rb +9 -0
- data/app/services/lab/lims/utils.rb +8 -2
- data/lib/auto12epl.rb +8 -2
- data/lib/lab/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b33f866b86cd84bf4f88956e9358f00996f7f6ba7ac6c3878680f6db2281b493
|
4
|
+
data.tar.gz: e774a119159caf8c5a7f628606603f270b8746287afe5955fb4f722591239824
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7202aaaac5cc85be3d3f489e05f7d9aa537915b58e28f5961804a3cce07c3960a45373cabc8649d8b0fef7dd8333e27e4ed6434a7881022043b7f1c2a9ab058b
|
7
|
+
data.tar.gz: 787a155bfc9bf1af6dd202ba6ec18d07a5185f4dec661c2889968567f02d17529b536f30036c708cbaa316925e505818863596725b371219576a1082aae830c2
|
@@ -82,7 +82,9 @@ module Lab
|
|
82
82
|
|
83
83
|
protected
|
84
84
|
|
85
|
-
def order_saved(order_dto)
|
85
|
+
def order_saved(order_dto)
|
86
|
+
order_dto
|
87
|
+
end
|
86
88
|
|
87
89
|
def order_rejected(order_dto, message); end
|
88
90
|
|
@@ -230,7 +232,7 @@ module Lab
|
|
230
232
|
creator = format_result_entered_by(test_results['result_entered_by'])
|
231
233
|
|
232
234
|
ResultsService.create_results(test.id, { provider_id: User.current.person_id,
|
233
|
-
date: Utils.parse_date(test_results['
|
235
|
+
date: Utils.parse_date(test_results['result_date'] || result_date,
|
234
236
|
order[:order_date].to_s),
|
235
237
|
comments: "LIMS import: Entered by: #{creator}",
|
236
238
|
measures: })
|
@@ -80,6 +80,15 @@ module Lab
|
|
80
80
|
order_dto
|
81
81
|
end
|
82
82
|
|
83
|
+
def void_order_in_lims(order_id)
|
84
|
+
order = Lab::LabOrder.joins(order_type: { name: 'Lab' })
|
85
|
+
.unscoped
|
86
|
+
.find(order_id)
|
87
|
+
order_dto = Lab::Lims::OrderSerializer.serialize_order(order)
|
88
|
+
Rails.logger.info("Deleting order ##{order_dto[:accession_number]} from LIMS")
|
89
|
+
lims_api.delete_order('', order_dto)
|
90
|
+
end
|
91
|
+
|
83
92
|
private
|
84
93
|
|
85
94
|
def orders_pending_sync(batch_size)
|
@@ -24,6 +24,10 @@ module Lab
|
|
24
24
|
'indian ink' => 'India ink'
|
25
25
|
}.freeze
|
26
26
|
|
27
|
+
TEST_INDICATOR_MAPPINGS = {
|
28
|
+
'HCT' => 10_532
|
29
|
+
}.freeze
|
30
|
+
|
27
31
|
def self.translate_test_name(test_name)
|
28
32
|
TEST_NAME_MAPPINGS.fetch(test_name.downcase, test_name)
|
29
33
|
end
|
@@ -79,9 +83,11 @@ module Lab
|
|
79
83
|
end
|
80
84
|
|
81
85
|
def self.find_concept_by_name(name)
|
86
|
+
concept_id = TEST_INDICATOR_MAPPINGS[name.upcase]
|
87
|
+
query_condition = concept_id.nil? ? { name: CGI.unescapeHTML(name) } : { concept_id: }
|
82
88
|
ConceptName.joins(:concept)
|
83
|
-
.merge(Concept.all)
|
84
|
-
.where(
|
89
|
+
.merge(Concept.all)
|
90
|
+
.where(query_condition)
|
85
91
|
.first
|
86
92
|
end
|
87
93
|
end
|
data/lib/auto12epl.rb
CHANGED
@@ -133,9 +133,9 @@ class Auto12Epl
|
|
133
133
|
|
134
134
|
# combine EPL statements
|
135
135
|
if stat.nil?
|
136
|
-
"\nN\nR216,0\nZT\nS1\n#{name_element}\n#{pid_dob_age_gender_element}\n#{barcode_element}\n#{barcode_human_element}\n#{collector_element}\n#{tests_element}\
|
136
|
+
"\nN\nR216,0\nZT\nS1\n#{name_element}\n#{pid_dob_age_gender_element}\n#{barcode_element}\n#{barcode_human_element}\n#{collector_element}\n#{tests_element}\nP#{print_copies}\n"
|
137
137
|
else
|
138
|
-
"\nN\nR216,0\nZT\nS1\n#{name_element}\n#{pid_dob_age_gender_element}\n#{barcode_element}\n#{barcode_human_element}\n#{collector_element}\n#{tests_element}\n#{stat_element}\
|
138
|
+
"\nN\nR216,0\nZT\nS1\n#{name_element}\n#{pid_dob_age_gender_element}\n#{barcode_element}\n#{barcode_human_element}\n#{collector_element}\n#{tests_element}\n#{stat_element}\nP#{print_copies}\n"
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
@@ -176,6 +176,12 @@ class Auto12Epl
|
|
176
176
|
schema_track = schema_track.gsub('-', '').strip
|
177
177
|
"B#{x},#{y},#{BARCODE_ROTATION},#{BARCODE_TYPE},#{BARCODE_NARROW_WIDTH},#{BARCODE_WIDE_WIDTH},#{height},#{BARCODE_IS_HUMAN_READABLE},\"#{schema_track}\""
|
178
178
|
end
|
179
|
+
|
180
|
+
def print_copies
|
181
|
+
property = ::GlobalProperty.find_by(property: 'max.lab.order.print.copies')
|
182
|
+
value = property&.property_value&.strip
|
183
|
+
value || 3
|
184
|
+
end
|
179
185
|
end
|
180
186
|
|
181
187
|
if __FILE__ == $PROGRAM_NAME
|
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.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elizabeth Glaser Pediatric Foundation Malawi
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: couchrest
|
@@ -321,7 +321,7 @@ licenses:
|
|
321
321
|
metadata:
|
322
322
|
source_code_uri: https://github.com/EGPAFMalawiHIS/his_emr_api_lab
|
323
323
|
rubygems_mfa_required: 'true'
|
324
|
-
post_install_message:
|
324
|
+
post_install_message:
|
325
325
|
rdoc_options: []
|
326
326
|
require_paths:
|
327
327
|
- lib
|
@@ -336,8 +336,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
336
336
|
- !ruby/object:Gem::Version
|
337
337
|
version: '0'
|
338
338
|
requirements: []
|
339
|
-
rubygems_version: 3.
|
340
|
-
signing_key:
|
339
|
+
rubygems_version: 3.5.6
|
340
|
+
signing_key:
|
341
341
|
specification_version: 4
|
342
342
|
summary: Lab extension for the HIS-EMR-API
|
343
343
|
test_files: []
|