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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 314873736cb992217b9c0bab3446d7aa62f94f4b08e7f10b749894573d74811f
4
- data.tar.gz: 163f43124d1952514ab77b7ef70b5d86b54c36d5daa8d41f4da0cdb7cf07ff38
3
+ metadata.gz: b33f866b86cd84bf4f88956e9358f00996f7f6ba7ac6c3878680f6db2281b493
4
+ data.tar.gz: e774a119159caf8c5a7f628606603f270b8746287afe5955fb4f722591239824
5
5
  SHA512:
6
- metadata.gz: dc26c5a5edecdadd4a108adc213c65d184d25bf114c6096f353accfcd00fcce16289695a7320f5119172c31857cbbc173140915be0a10619582a1db819015616
7
- data.tar.gz: 131d6ee486442f33d5b0c87de7ecd2c190897aa9f423f5ad0bb98e73711d77b93a9464d0309313fb2945f452d6ce006c0f6b8d62124931a2a200f4b966ba3bf6
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); end
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['date_result_entered'],
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) # Filter out voided
84
- .where(name: CGI.unescapeHTML(name))
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}\nP3\n"
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}\nP3\n"
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lab
4
- VERSION = '2.0.0'
4
+ VERSION = '2.0.2'
5
5
  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: 2.0.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-04-02 00:00:00.000000000 Z
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.4.15
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: []