Skip to content

Commit cf65170

Browse files
committed
wip: remove old QueryFilterByConceptIdsHelper
1 parent 7e4c2fb commit cf65170

File tree

4 files changed

+5
-21
lines changed

4 files changed

+5
-21
lines changed

models/cohortdata.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func (h CohortData) RetrieveHistogramDataBySourceIdAndCohortIdAndConceptIdsAndCo
101101
Where("observation.observation_concept_id = ?", histogramConceptId).
102102
Where("observation.value_as_number is not null")
103103

104-
query = QueryFilterByConceptIdsHelper2(query, sourceId, filterConceptIds, omopDataSource, resultsDataSource.Schema, "unionAndIntersect.subject_id")
104+
query = QueryFilterByConceptIdsHelper(query, sourceId, filterConceptIds, omopDataSource, resultsDataSource.Schema, "unionAndIntersect.subject_id")
105105

106106
query, cancel := utils.AddTimeoutToQuery(query)
107107
defer cancel()
@@ -123,7 +123,7 @@ func (h CohortData) RetrieveCohortOverlapStats(sourceId int, caseCohortId int, c
123123
Joins("INNER JOIN " + resultsDataSource.Schema + ".cohort as control_cohort ON control_cohort.subject_id = case_cohort_unionedAndIntersectedWithFilters.subject_id") // this one allows for the intersection between case and control and the assessment of the overlap
124124

125125
if len(filterConceptIds) > 0 {
126-
query = QueryFilterByConceptIdsHelper2(query, sourceId, filterConceptIds, omopDataSource, resultsDataSource.Schema, "control_cohort.subject_id")
126+
query = QueryFilterByConceptIdsHelper(query, sourceId, filterConceptIds, omopDataSource, resultsDataSource.Schema, "control_cohort.subject_id")
127127
}
128128
query = query.Where("control_cohort.cohort_definition_id = ?", controlCohortId)
129129
query, cancel := utils.AddTimeoutToQuery(query)

models/concept.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ func (h Concept) RetrieveBreakdownStatsBySourceIdAndCohortIdAndConceptIdsAndCoho
151151
Where("observation.observation_concept_id = ?", breakdownConceptId).
152152
Where(GetConceptValueNotNullCheckBasedOnConceptType("observation", sourceId, breakdownConceptId))
153153

154-
query = QueryFilterByConceptIdsHelper2(query, sourceId, filterConceptIds, omopDataSource, resultsDataSource.Schema, "unionAndIntersect.subject_id")
154+
query = QueryFilterByConceptIdsHelper(query, sourceId, filterConceptIds, omopDataSource, resultsDataSource.Schema, "unionAndIntersect.subject_id")
155155

156156
query, cancel := utils.AddTimeoutToQuery(query)
157157
defer cancel()

models/helper.go

-16
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,7 @@ import (
1111
// Helper function that adds extra filter clauses to the query, joining on the right set of tables.
1212
// * It was added here to make it reusable, given these filters need to be added to many of the queries that take in
1313
// a list of filters in the form of concept ids.
14-
// DEPRECATED in favor of QueryFilterByConceptIdsHelper2 below...
1514
func QueryFilterByConceptIdsHelper(query *gorm.DB, sourceId int, filterConceptIds []int64,
16-
omopDataSource *utils.DbAndSchema, resultSchemaName string, mainObservationTableAlias string) *gorm.DB {
17-
// iterate over the filterConceptIds, adding a new INNER JOIN and filters for each, so that the resulting set is the
18-
// set of persons that have a non-null value for each and every one of the concepts:
19-
for i, filterConceptId := range filterConceptIds {
20-
observationTableAlias := fmt.Sprintf("observation_filter_%d", i)
21-
log.Printf("Adding extra INNER JOIN with alias %s", observationTableAlias)
22-
query = query.Joins("INNER JOIN "+omopDataSource.Schema+".observation_continuous as "+observationTableAlias+omopDataSource.GetViewDirective()+" ON "+observationTableAlias+".person_id = "+mainObservationTableAlias+".person_id").
23-
Where(observationTableAlias+".observation_concept_id = ?", filterConceptId).
24-
Where(GetConceptValueNotNullCheckBasedOnConceptType(observationTableAlias, sourceId, filterConceptId))
25-
}
26-
return query
27-
}
28-
29-
//
30-
func QueryFilterByConceptIdsHelper2(query *gorm.DB, sourceId int, filterConceptIds []int64,
3115
omopDataSource *utils.DbAndSchema, resultSchemaName string, personIdFieldForObservationJoin string) *gorm.DB {
3216
// iterate over the filterConceptIds, adding a new INNER JOIN and filters for each, so that the resulting set is the
3317
// set of persons that have a non-null value for each and every one of the concepts:

tests/models_tests/models_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -766,15 +766,15 @@ func TestQueryFilterByConceptIdsHelper(t *testing.T) {
766766
// Subtest1: correct alias "observation":
767767
query := omopDataSource.Db.Table(omopDataSource.Schema + ".observation_continuous as observation" + omopDataSource.GetViewDirective()).
768768
Select("observation.person_id")
769-
query = models.QueryFilterByConceptIdsHelper2(query, testSourceId, filterConceptIds, omopDataSource, "", "observation.person_id")
769+
query = models.QueryFilterByConceptIdsHelper(query, testSourceId, filterConceptIds, omopDataSource, "", "observation.person_id")
770770
meta_result := query.Scan(&personIds)
771771
if meta_result.Error != nil {
772772
t.Errorf("Did NOT expect an error")
773773
}
774774
// Subtest2: incorrect alias "observation"...should fail:
775775
query = omopDataSource.Db.Table(omopDataSource.Schema + ".observation_continuous as observationWRONG").
776776
Select("*")
777-
query = models.QueryFilterByConceptIdsHelper2(query, testSourceId, filterConceptIds, omopDataSource, "", "observation.person_id")
777+
query = models.QueryFilterByConceptIdsHelper(query, testSourceId, filterConceptIds, omopDataSource, "", "observation.person_id")
778778
meta_result = query.Scan(&personIds)
779779
if meta_result.Error == nil {
780780
t.Errorf("Expected an error")

0 commit comments

Comments
 (0)