his_emr_api_lab 1.1.22 → 1.1.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +20 -0
- data/README.md +71 -0
- data/Rakefile +32 -0
- data/app/controllers/lab/application_controller.rb +6 -0
- data/app/controllers/lab/labels_controller.rb +17 -0
- data/app/controllers/lab/orders_controller.rb +38 -0
- data/app/controllers/lab/reasons_for_test_controller.rb +9 -0
- data/app/controllers/lab/results_controller.rb +19 -0
- data/app/controllers/lab/specimen_types_controller.rb +15 -0
- data/app/controllers/lab/test_result_indicators_controller.rb +9 -0
- data/app/controllers/lab/test_types_controller.rb +15 -0
- data/app/controllers/lab/tests_controller.rb +26 -0
- data/app/jobs/lab/application_job.rb +4 -0
- data/app/jobs/lab/push_order_job.rb +12 -0
- data/app/jobs/lab/update_patient_orders_job.rb +32 -0
- data/app/jobs/lab/void_order_job.rb +17 -0
- data/app/mailers/lab/application_mailer.rb +6 -0
- data/app/models/lab/application_record.rb +5 -0
- data/app/models/lab/lab_accession_number_counter.rb +13 -0
- data/app/models/lab/lab_encounter.rb +7 -0
- data/app/models/lab/lab_order.rb +58 -0
- data/app/models/lab/lab_result.rb +31 -0
- data/app/models/lab/lab_test.rb +19 -0
- data/app/models/lab/lims_failed_import.rb +4 -0
- data/app/models/lab/lims_order_mapping.rb +10 -0
- data/app/serializers/lab/lab_order_serializer.rb +55 -0
- data/app/serializers/lab/result_serializer.rb +36 -0
- data/app/serializers/lab/test_serializer.rb +29 -0
- data/app/services/lab/accession_number_service.rb +77 -0
- data/app/services/lab/concepts_service.rb +82 -0
- data/app/services/lab/labelling_service/order_label.rb +106 -0
- data/app/services/lab/lims/api/blackhole_api.rb +21 -0
- data/app/services/lab/lims/api/couchdb_api.rb +53 -0
- data/app/services/lab/lims/api/mysql_api.rb +316 -0
- data/app/services/lab/lims/api/rest_api.rb +416 -0
- data/app/services/lab/lims/api/ws_api.rb +121 -0
- data/app/services/lab/lims/api_factory.rb +19 -0
- data/app/services/lab/lims/config.rb +100 -0
- data/app/services/lab/lims/exceptions.rb +11 -0
- data/app/services/lab/lims/migrator.rb +216 -0
- data/app/services/lab/lims/order_dto.rb +105 -0
- data/app/services/lab/lims/order_serializer.rb +244 -0
- data/app/services/lab/lims/pull_worker.rb +289 -0
- data/app/services/lab/lims/push_worker.rb +149 -0
- data/app/services/lab/lims/utils.rb +91 -0
- data/app/services/lab/lims/worker.rb +86 -0
- data/app/services/lab/metadata.rb +24 -0
- data/app/services/lab/orders_search_service.rb +66 -0
- data/app/services/lab/orders_service.rb +212 -0
- data/app/services/lab/results_service.rb +149 -0
- data/app/services/lab/tests_service.rb +93 -0
- data/config/routes.rb +17 -0
- data/db/migrate/20210126092910_create_lab_lab_accession_number_counters.rb +12 -0
- data/db/migrate/20210310115457_create_lab_lims_order_mappings.rb +15 -0
- data/db/migrate/20210323080140_change_lims_id_to_string_in_lims_order_mapping.rb +15 -0
- data/db/migrate/20210326195504_add_order_revision_to_lims_order_mapping.rb +5 -0
- data/db/migrate/20210407071728_create_lab_lims_failed_imports.rb +19 -0
- data/db/migrate/20210610095024_fix_numeric_results_value_type.rb +20 -0
- data/db/migrate/20210807111531_add_default_to_lims_order_mapping.rb +7 -0
- data/lib/auto12epl.rb +201 -0
- data/lib/couch_bum/couch_bum.rb +92 -0
- data/lib/generators/lab/install/USAGE +9 -0
- data/lib/generators/lab/install/install_generator.rb +19 -0
- data/lib/generators/lab/install/templates/rswag-ui-lab.rb +5 -0
- data/lib/generators/lab/install/templates/start_worker.rb +32 -0
- data/lib/generators/lab/install/templates/swagger.yaml +714 -0
- data/lib/his_emr_api_lab.rb +5 -0
- data/lib/lab/engine.rb +15 -0
- data/lib/lab/version.rb +5 -0
- data/lib/logger_multiplexor.rb +38 -0
- data/lib/tasks/lab_tasks.rake +25 -0
- data/lib/tasks/loaders/data/reasons-for-test.csv +7 -0
- data/lib/tasks/loaders/data/test-measures.csv +225 -0
- data/lib/tasks/loaders/data/tests.csv +161 -0
- data/lib/tasks/loaders/loader_mixin.rb +53 -0
- data/lib/tasks/loaders/metadata_loader.rb +26 -0
- data/lib/tasks/loaders/reasons_for_test_loader.rb +23 -0
- data/lib/tasks/loaders/specimens_loader.rb +65 -0
- data/lib/tasks/loaders/test_result_indicators_loader.rb +54 -0
- metadata +81 -2
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'csv'
|
4
|
+
require_relative './loader_mixin'
|
5
|
+
|
6
|
+
module Lab
|
7
|
+
module Loaders
|
8
|
+
##
|
9
|
+
# Load specimens and their tests into the database
|
10
|
+
module TestResultIndicatorsLoader
|
11
|
+
class << self
|
12
|
+
include LoaderMixin
|
13
|
+
|
14
|
+
def load
|
15
|
+
puts "------- Loading measures ------------"
|
16
|
+
CSV.open(data_path('test-measures.csv'), headers: :first_row) do |csv|
|
17
|
+
csv.each_with_object({}) do |row, test_measures|
|
18
|
+
test_name = row['test_name']
|
19
|
+
measure_name = row['measure_name']
|
20
|
+
|
21
|
+
ActiveRecord::Base.transaction do
|
22
|
+
measure_concept = find_or_create_concept(measure_name)
|
23
|
+
add_measure_to_test(test_name, measure_concept)
|
24
|
+
end
|
25
|
+
|
26
|
+
puts "Created measure #{test_name} <--< #{measure_name}"
|
27
|
+
rescue StandardError => e
|
28
|
+
puts "Error: #{measure_name}: #{e}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def create_test_type(name)
|
34
|
+
concept_id = find_or_create_concept(name, is_set: true).concept_id
|
35
|
+
|
36
|
+
create_concept_set(concept_set: test_type_concept_id, concept_id: concept_id)
|
37
|
+
rescue StandardError => e
|
38
|
+
raise "Failed to create test type `#{name}`: #{e}"
|
39
|
+
end
|
40
|
+
|
41
|
+
def add_measure_to_test(test_name, measure_concept)
|
42
|
+
[
|
43
|
+
add_concept_to_set(set_concept_id: find_or_create_concept(Lab::Metadata::TEST_RESULT_INDICATOR_CONCEPT_NAME).concept_id,
|
44
|
+
concept_id: measure_concept.concept_id),
|
45
|
+
add_concept_to_set(set_concept_id: measure_concept.concept_id,
|
46
|
+
concept_id: find_or_create_concept(test_name).concept_id)
|
47
|
+
]
|
48
|
+
rescue StandardError => e
|
49
|
+
raise "Failed to create measure for test `#{name}`: #{e}"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: his_emr_api_lab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elizabeth Glaser Pediatric Foundation Malawi
|
@@ -234,7 +234,86 @@ email:
|
|
234
234
|
executables: []
|
235
235
|
extensions: []
|
236
236
|
extra_rdoc_files: []
|
237
|
-
files:
|
237
|
+
files:
|
238
|
+
- MIT-LICENSE
|
239
|
+
- README.md
|
240
|
+
- Rakefile
|
241
|
+
- app/controllers/lab/application_controller.rb
|
242
|
+
- app/controllers/lab/labels_controller.rb
|
243
|
+
- app/controllers/lab/orders_controller.rb
|
244
|
+
- app/controllers/lab/reasons_for_test_controller.rb
|
245
|
+
- app/controllers/lab/results_controller.rb
|
246
|
+
- app/controllers/lab/specimen_types_controller.rb
|
247
|
+
- app/controllers/lab/test_result_indicators_controller.rb
|
248
|
+
- app/controllers/lab/test_types_controller.rb
|
249
|
+
- app/controllers/lab/tests_controller.rb
|
250
|
+
- app/jobs/lab/application_job.rb
|
251
|
+
- app/jobs/lab/push_order_job.rb
|
252
|
+
- app/jobs/lab/update_patient_orders_job.rb
|
253
|
+
- app/jobs/lab/void_order_job.rb
|
254
|
+
- app/mailers/lab/application_mailer.rb
|
255
|
+
- app/models/lab/application_record.rb
|
256
|
+
- app/models/lab/lab_accession_number_counter.rb
|
257
|
+
- app/models/lab/lab_encounter.rb
|
258
|
+
- app/models/lab/lab_order.rb
|
259
|
+
- app/models/lab/lab_result.rb
|
260
|
+
- app/models/lab/lab_test.rb
|
261
|
+
- app/models/lab/lims_failed_import.rb
|
262
|
+
- app/models/lab/lims_order_mapping.rb
|
263
|
+
- app/serializers/lab/lab_order_serializer.rb
|
264
|
+
- app/serializers/lab/result_serializer.rb
|
265
|
+
- app/serializers/lab/test_serializer.rb
|
266
|
+
- app/services/lab/accession_number_service.rb
|
267
|
+
- app/services/lab/concepts_service.rb
|
268
|
+
- app/services/lab/labelling_service/order_label.rb
|
269
|
+
- app/services/lab/lims/api/blackhole_api.rb
|
270
|
+
- app/services/lab/lims/api/couchdb_api.rb
|
271
|
+
- app/services/lab/lims/api/mysql_api.rb
|
272
|
+
- app/services/lab/lims/api/rest_api.rb
|
273
|
+
- app/services/lab/lims/api/ws_api.rb
|
274
|
+
- app/services/lab/lims/api_factory.rb
|
275
|
+
- app/services/lab/lims/config.rb
|
276
|
+
- app/services/lab/lims/exceptions.rb
|
277
|
+
- app/services/lab/lims/migrator.rb
|
278
|
+
- app/services/lab/lims/order_dto.rb
|
279
|
+
- app/services/lab/lims/order_serializer.rb
|
280
|
+
- app/services/lab/lims/pull_worker.rb
|
281
|
+
- app/services/lab/lims/push_worker.rb
|
282
|
+
- app/services/lab/lims/utils.rb
|
283
|
+
- app/services/lab/lims/worker.rb
|
284
|
+
- app/services/lab/metadata.rb
|
285
|
+
- app/services/lab/orders_search_service.rb
|
286
|
+
- app/services/lab/orders_service.rb
|
287
|
+
- app/services/lab/results_service.rb
|
288
|
+
- app/services/lab/tests_service.rb
|
289
|
+
- config/routes.rb
|
290
|
+
- db/migrate/20210126092910_create_lab_lab_accession_number_counters.rb
|
291
|
+
- db/migrate/20210310115457_create_lab_lims_order_mappings.rb
|
292
|
+
- db/migrate/20210323080140_change_lims_id_to_string_in_lims_order_mapping.rb
|
293
|
+
- db/migrate/20210326195504_add_order_revision_to_lims_order_mapping.rb
|
294
|
+
- db/migrate/20210407071728_create_lab_lims_failed_imports.rb
|
295
|
+
- db/migrate/20210610095024_fix_numeric_results_value_type.rb
|
296
|
+
- db/migrate/20210807111531_add_default_to_lims_order_mapping.rb
|
297
|
+
- lib/auto12epl.rb
|
298
|
+
- lib/couch_bum/couch_bum.rb
|
299
|
+
- lib/generators/lab/install/USAGE
|
300
|
+
- lib/generators/lab/install/install_generator.rb
|
301
|
+
- lib/generators/lab/install/templates/rswag-ui-lab.rb
|
302
|
+
- lib/generators/lab/install/templates/start_worker.rb
|
303
|
+
- lib/generators/lab/install/templates/swagger.yaml
|
304
|
+
- lib/his_emr_api_lab.rb
|
305
|
+
- lib/lab/engine.rb
|
306
|
+
- lib/lab/version.rb
|
307
|
+
- lib/logger_multiplexor.rb
|
308
|
+
- lib/tasks/lab_tasks.rake
|
309
|
+
- lib/tasks/loaders/data/reasons-for-test.csv
|
310
|
+
- lib/tasks/loaders/data/test-measures.csv
|
311
|
+
- lib/tasks/loaders/data/tests.csv
|
312
|
+
- lib/tasks/loaders/loader_mixin.rb
|
313
|
+
- lib/tasks/loaders/metadata_loader.rb
|
314
|
+
- lib/tasks/loaders/reasons_for_test_loader.rb
|
315
|
+
- lib/tasks/loaders/specimens_loader.rb
|
316
|
+
- lib/tasks/loaders/test_result_indicators_loader.rb
|
238
317
|
homepage: https://github.com/EGPAFMalawiHIS/his_emr_api_lab
|
239
318
|
licenses:
|
240
319
|
- MIT
|