Skip to content

Commit

Permalink
Add more columns to lab-realted output, refs #284
Browse files Browse the repository at this point in the history
  • Loading branch information
aguynamedryan committed Nov 16, 2023
1 parent 5bea15e commit e0bc7cd
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 3 deletions.
4 changes: 3 additions & 1 deletion lib/conceptql/behaviors/labish.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ def self.included(base)
base.require_column :value_as_number
base.require_column :value_as_string
base.require_column :value_as_concept_id
base.require_column :unit_source_value
base.require_column :value_as_concept
base.require_column :unit_concept_id
base.require_column :unit_concept
base.require_column :range_low
base.require_column :range_high
end
Expand Down
9 changes: 7 additions & 2 deletions lib/conceptql/query_modifiers/gdm/lab_query_modifier.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ def self.provided_columns
:value_as_number,
:value_as_string,
:value_as_concept_id,
:unit_source_value,
:value_as_concept,
:unit_concept_id,
:unit_concept,
:range_low,
:range_high
]
Expand All @@ -28,11 +30,14 @@ def modified_query
query.from_self(alias: :cc)
.left_join(Sequel[:measurement_details].as(:md), Sequel[:cc][:measurement_detail_id] => Sequel[:md][:id])
.left_join(dm.concepts_table(query.db).as(:unit_con), Sequel[:md][:unit_concept_id] => Sequel[:unit_con][:id])
.left_join(dm.concepts_table(query.db).as(:concept_con), Sequel[:md][:result_as_concept_id] => Sequel[:concept_con][:id])
.select_all(:cc)
.select_append(Sequel[:md][:result_as_number].as(:value_as_number))
.select_append(Sequel[:md][:result_as_string].as(:value_as_string))
.select_append(Sequel[:md][:result_as_concept_id].as(:value_as_concept_id))
.select_append(Sequel[:unit_con][:concept_text].as(:unit_source_value))
.select_append(Sequel[:concept_con][:concept_code].as(:value_as_concept))
.select_append(Sequel[:md][:unit_concept_id].as(:unit_concept_id))
.select_append(Sequel[:unit_con][:concept_code].as(:unit_concept))
.select_append(Sequel[:md][:normal_range_low].as(:range_low))
.select_append(Sequel[:md][:normal_range_high].as(:range_high))
.from_self
Expand Down
59 changes: 59 additions & 0 deletions test/results/gdm/loinc/results_2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[
{
"person_id": 200,
"criterion_id": 100001,
"criterion_table": "clinical_codes",
"criterion_domain": "observation",
"start_date": "2009-03-03",
"end_date": "2009-03-03",
"source_value": "4548-4",
"source_vocabulary_id": "LOINC",
"label": null,
"value_as_number": 5.1,
"value_as_string": null,
"value_as_concept_id": null,
"value_as_concept": null,
"unit_concept_id": 8554,
"unit_concept": "%",
"range_low": 4.0,
"range_high": 5.6
},
{
"person_id": 200,
"criterion_id": 100002,
"criterion_table": "clinical_codes",
"criterion_domain": "observation",
"start_date": "2009-03-03",
"end_date": "2009-03-03",
"source_value": "72166-2",
"source_vocabulary_id": "LOINC",
"label": null,
"value_as_number": null,
"value_as_string": null,
"value_as_concept_id": 45881517,
"value_as_concept": "LA18976-3",
"unit_concept_id": null,
"unit_concept": null,
"range_low": null,
"range_high": null
},
{
"person_id": 200,
"criterion_id": 100003,
"criterion_table": "clinical_codes",
"criterion_domain": "observation",
"start_date": "2009-03-03",
"end_date": "2009-03-03",
"source_value": "64558-0",
"source_vocabulary_id": "LOINC",
"label": null,
"value_as_number": null,
"value_as_string": "On a dare",
"value_as_concept_id": null,
"value_as_concept": null,
"unit_concept_id": null,
"unit_concept": null,
"range_low": null,
"range_high": null
}
]
6 changes: 6 additions & 0 deletions test/statements/loinc/results_2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[
"loinc",
"4548-4",
"72166-2",
"64558-0"
]

0 comments on commit e0bc7cd

Please sign in to comment.