his_emr_api_lab 2.0.6.streaming → 2.0.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: f4e7ef5e4b0c960f0213fcc2cb87d967aa696b364888a2c35c730d7e7a1d4fa8
4
- data.tar.gz: '095b3aecd2d8a99cde126fd4fc4f801cb37f76c35f5d6072d412eb30e12e56bf'
3
+ metadata.gz: d2a6e8280e6eac391356ac14aefb48110a2369a28872dff5acf5225b606a5100
4
+ data.tar.gz: 894f470e28d993c16471a9e7e4f99fe07bc5abcf4398c18900f3d60c3a5bbaf5
5
5
  SHA512:
6
- metadata.gz: 355b00bdb8ef1a5f22257f6d8ce5c4f5c8be109e7e82abddc3b0141ea4e6de0d4ecc06cdb36889c9c2adbb4b2bf2903fa4a26991c3fe84a7295d18d1330bb290
7
- data.tar.gz: 451de99d1dc41290d0d6b0ffc33d028e64aa473bdd21054bf412c17127c184b2e739b35fa8ab547e340f2d973a95ca12cbcfee9e65bf935db8fb26f28bdcc798
6
+ metadata.gz: 47df6c42c183d6a10f44d8a21ccef7a42f2c90defe0472ff8a1c349c34ab9e9c56f805e9ad6eb4802837827d07fd287f6767fde6ef51a4874c42c334d284a36d
7
+ data.tar.gz: a83c709e55c32129bf6a2ee452b75f71f350b32e9b82668adf4f10299fd61945a4b72aeb9b86fbf71867a9eb2ac0d736707c3182e967c07b991f5a909157f06f
@@ -56,6 +56,15 @@ module Lab
56
56
  render json: { message: 'Results processed successfully' }, status: :ok
57
57
  end
58
58
 
59
+ def summary
60
+ start_date = params[:start_date].present? ? params[:start_date] : 24.hours.ago.beginning_of_day
61
+ end_date = params[:end_date].present? ? params[:end_date].to_date.end_of_day : 24.hours.ago.end_of_day
62
+ concept_id = params[:concept_id]
63
+ include_data = params[:include_data]
64
+ orders = OrdersService.lab_orders(start_date, end_date, concept_id, include_data: include_data)
65
+ render json: orders, status: :ok
66
+ end
67
+
59
68
  private
60
69
 
61
70
  def authenticate_request
@@ -4,7 +4,7 @@ module Lab
4
4
  # This class is used to encode and decode the JWT token
5
5
  module JsonWebTokenService
6
6
  class << self
7
- SECRET_KEY = Rails.application.credentials[:secret_key_base].to_s
7
+ SECRET_KEY = Rails.application.secrets.secret_key_base.to_s
8
8
 
9
9
  def encode(payload, request_ip, exp = 18.hours.from_now)
10
10
  payload[:exp] = exp.to_i
@@ -136,6 +136,24 @@ module Lab
136
136
  Lab::Lims::PullWorker.new(nil).process_order(order_dto)
137
137
  end
138
138
 
139
+ def lab_orders(start_date, end_date, concept_id = nil, include_data: false)
140
+ tests = Lab::LabTest.where('date_created >= ? AND date_created <= ?', start_date, end_date)
141
+ tests = tests.where(value_coded: concept_id) if concept_id
142
+ orders = Lab::LabOrder.where(order_id: tests.pluck(:order_id))
143
+ data = {
144
+ count: orders.count,
145
+ lab_orders: []
146
+ }
147
+ data[:lab_orders] = orders.map do |order|
148
+ Lab::LabOrderSerializer.serialize_order(
149
+ order, requesting_clinician: order.requesting_clinician,
150
+ reason_for_test: order.reason_for_test,
151
+ target_lab: order.target_lab
152
+ )
153
+ end if include_data
154
+ data
155
+ end
156
+
139
157
  private
140
158
 
141
159
  def create_rejection_notification(order_params)
data/config/routes.rb CHANGED
@@ -5,6 +5,7 @@ Lab::Engine.routes.draw do
5
5
  collection do
6
6
  post :order_status
7
7
  post :order_result
8
+ get :summary
8
9
  end
9
10
  end
10
11
  resources :tests, path: 'api/v1/lab/tests', except: %i[update] do # ?pending=true to select tests without results?
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.6.streaming'
4
+ VERSION = '2.0.6'
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.6.streaming
4
+ version: 2.0.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: 2025-06-11 00:00:00.000000000 Z
11
+ date: 2025-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: couchrest
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 8.0.0
47
+ version: 7.0.6
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 8.0.0
54
+ version: 7.0.6
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: socket.io-client-simple
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -332,9 +332,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
332
332
  version: '0'
333
333
  required_rubygems_version: !ruby/object:Gem::Requirement
334
334
  requirements:
335
- - - ">"
335
+ - - ">="
336
336
  - !ruby/object:Gem::Version
337
- version: 1.3.1
337
+ version: '0'
338
338
  requirements: []
339
339
  rubygems_version: 3.4.1
340
340
  signing_key: