conceptql 0.2.0 → 0.4.0
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 +5 -5
- data/CHANGELOG.md +226 -117
- data/LICENSE +21 -0
- data/README.md +35 -83
- data/bin/conceptql +2 -1
- data/bin/conceptql_utils +6 -0
- data/config/multiple_vocabularies.csv +4 -0
- data/config/provenance.yml +489 -0
- data/config/race.yml +50 -0
- data/config/vocabularies.csv +87 -0
- data/lib/conceptql/behaviors/code_lister.rb +23 -0
- data/lib/conceptql/behaviors/drugish.rb +17 -0
- data/lib/conceptql/behaviors/labish.rb +19 -0
- data/lib/conceptql/behaviors/metadatable.rb +226 -73
- data/lib/conceptql/behaviors/provenanceable.rb +26 -0
- data/lib/conceptql/behaviors/single_event.rb +11 -0
- data/lib/conceptql/behaviors/timeless.rb +11 -0
- data/lib/conceptql/behaviors/utilizable.rb +206 -0
- data/lib/conceptql/behaviors/windowable.rb +27 -0
- data/lib/conceptql/cli.rb +117 -108
- data/lib/conceptql/columnizer.rb +75 -0
- data/lib/conceptql/data_model/base.rb +462 -0
- data/lib/conceptql/data_model/gdm.rb +155 -0
- data/lib/conceptql/data_model/gdm_wide.rb +42 -0
- data/lib/conceptql/data_model/omopv4_plus.rb +12 -0
- data/lib/conceptql/data_model.rb +30 -0
- data/lib/conceptql/database.rb +214 -0
- data/lib/conceptql/date_adjuster.rb +66 -18
- data/lib/conceptql/diagram.rb +243 -0
- data/lib/conceptql/lexicon/lexicon_gdm.rb +47 -0
- data/lib/conceptql/lexicon/lexicon_no_db.rb +49 -0
- data/lib/conceptql/lexicon/lexicon_ohdsi.rb +63 -0
- data/lib/conceptql/lexicon/lexicon_strategy.rb +116 -0
- data/lib/conceptql/lexicon.rb +111 -0
- data/lib/conceptql/nodifier.rb +65 -24
- data/lib/conceptql/operators/after.rb +34 -14
- data/lib/conceptql/operators/any_overlap.rb +8 -6
- data/lib/conceptql/operators/before.rb +34 -10
- data/lib/conceptql/operators/binary_operator_operator.rb +66 -23
- data/lib/conceptql/operators/casting_operator.rb +51 -36
- data/lib/conceptql/operators/co_reported.rb +111 -0
- data/lib/conceptql/operators/concurrent_within.rb +69 -0
- data/lib/conceptql/operators/contains.rb +12 -8
- data/lib/conceptql/operators/count.rb +17 -9
- data/lib/conceptql/operators/date_range.rb +48 -14
- data/lib/conceptql/operators/death.rb +14 -4
- data/lib/conceptql/operators/dedup.rb +31 -0
- data/lib/conceptql/operators/during.rb +7 -12
- data/lib/conceptql/operators/episode.rb +146 -0
- data/lib/conceptql/operators/equal.rb +9 -3
- data/lib/conceptql/operators/ethnicity.rb +49 -0
- data/lib/conceptql/operators/except.rb +19 -12
- data/lib/conceptql/operators/filter.rb +23 -8
- data/lib/conceptql/operators/first.rb +16 -3
- data/lib/conceptql/operators/from.rb +52 -4
- data/lib/conceptql/operators/gender.rb +34 -11
- data/lib/conceptql/operators/hospice.rb +19 -0
- data/lib/conceptql/operators/hospitalization.rb +19 -0
- data/lib/conceptql/operators/information_periods.rb +36 -0
- data/lib/conceptql/operators/invalid.rb +35 -0
- data/lib/conceptql/operators/last.rb +16 -3
- data/lib/conceptql/operators/match.rb +91 -0
- data/lib/conceptql/operators/multiple_vocabularies.rb +172 -0
- data/lib/conceptql/operators/numeric.rb +65 -23
- data/lib/conceptql/operators/numeric_filter.rb +68 -0
- data/lib/conceptql/operators/occurrence.rb +153 -32
- data/lib/conceptql/operators/one_in_two_out.rb +237 -38
- data/lib/conceptql/operators/operator.rb +624 -178
- data/lib/conceptql/operators/pass_thru.rb +17 -3
- data/lib/conceptql/operators/person.rb +18 -6
- data/lib/conceptql/operators/person_filter.rb +9 -3
- data/lib/conceptql/operators/place_of_service_filter.rb +43 -0
- data/lib/conceptql/operators/provenance.rb +55 -0
- data/lib/conceptql/operators/provider_filter.rb +62 -0
- data/lib/conceptql/operators/race.rb +55 -7
- data/lib/conceptql/operators/read.rb +168 -0
- data/lib/conceptql/operators/recall.rb +49 -14
- data/lib/conceptql/operators/snf.rb +19 -0
- data/lib/conceptql/operators/sum.rb +29 -12
- data/lib/conceptql/operators/temporal_operator.rb +108 -16
- data/lib/conceptql/operators/time_window.rb +20 -32
- data/lib/conceptql/operators/trim_date.rb +71 -0
- data/lib/conceptql/operators/trim_date_end.rb +28 -40
- data/lib/conceptql/operators/trim_date_start.rb +28 -41
- data/lib/conceptql/operators/union.rb +67 -6
- data/lib/conceptql/operators/vocabulary.rb +151 -0
- data/lib/conceptql/paths.rb +41 -0
- data/lib/conceptql/query.rb +191 -26
- data/lib/conceptql/query_modifiers/gdm/admission_date_query_modifier.rb +46 -0
- data/lib/conceptql/query_modifiers/gdm/drug_query_modifier.rb +54 -0
- data/lib/conceptql/query_modifiers/gdm/lab_query_modifier.rb +57 -0
- data/lib/conceptql/query_modifiers/gdm/pos_query_modifier.rb +46 -0
- data/lib/conceptql/query_modifiers/gdm/provenance_query_modifier.rb +45 -0
- data/lib/conceptql/query_modifiers/gdm/provider_query_modifier.rb +53 -0
- data/lib/conceptql/query_modifiers/gdm_wide/admission_date_query_modifier.rb +42 -0
- data/lib/conceptql/query_modifiers/gdm_wide/drug_query_modifier.rb +52 -0
- data/lib/conceptql/query_modifiers/gdm_wide/lab_query_modifier.rb +55 -0
- data/lib/conceptql/query_modifiers/gdm_wide/pos_query_modifier.rb +37 -0
- data/lib/conceptql/query_modifiers/gdm_wide/provenance_query_modifier.rb +38 -0
- data/lib/conceptql/query_modifiers/omopv4_plus/admission_date_query_modifier.rb +45 -0
- data/lib/conceptql/query_modifiers/omopv4_plus/drug_query_modifier.rb +80 -0
- data/lib/conceptql/query_modifiers/omopv4_plus/pos_query_modifier.rb +47 -0
- data/lib/conceptql/query_modifiers/omopv4_plus/provenance_query_modifier.rb +45 -0
- data/lib/conceptql/query_modifiers/omopv4_plus/provider_query_modifier.rb +26 -0
- data/lib/conceptql/query_modifiers/query_modifier.rb +20 -0
- data/lib/conceptql/rdbms/duckdb.rb +25 -0
- data/lib/conceptql/rdbms/generic.rb +120 -0
- data/lib/conceptql/rdbms/postgres.rb +51 -0
- data/lib/conceptql/rdbms/spark.rb +22 -0
- data/lib/conceptql/rdbms.rb +22 -0
- data/lib/conceptql/scope.rb +481 -31
- data/lib/conceptql/sql_formatters/formatter.rb +25 -0
- data/lib/conceptql/sql_formatters.rb +22 -0
- data/lib/conceptql/utils.rb +113 -0
- data/lib/conceptql/utils_cli.rb +17 -0
- data/lib/conceptql/version.rb +3 -1
- data/lib/conceptql/visitors/metadata_extractor.rb +54 -0
- data/lib/conceptql/vocabularies/behaviors/costish.rb +24 -0
- data/lib/conceptql/vocabularies/behaviors/gdmish.rb +19 -0
- data/lib/conceptql/vocabularies/behaviors/omopish.rb +32 -0
- data/lib/conceptql/vocabularies/dynamic_vocabularies.rb +63 -0
- data/lib/conceptql/vocabularies/entry.rb +138 -0
- data/lib/conceptql/vocabularies/vocabulary_class_factory.rb +85 -0
- data/lib/conceptql/window/base.rb +26 -0
- data/lib/conceptql/window/date_range.rb +25 -0
- data/lib/conceptql/window/table.rb +116 -0
- data/lib/conceptql/window.rb +72 -0
- data/lib/conceptql.rb +65 -2
- data/lib/sequel/extensions/pg_ctas_explain.rb +22 -0
- data/lib/sequel/extensions/pg_vacuum_table.rb +23 -0
- data/schemas/gdm.yml +882 -0
- data/schemas/gdm_wide.yml +757 -0
- data/schemas/ohdsi_vocabs.yml +143 -0
- data/schemas/omopv4_plus.yml +729 -0
- data/schemas/omopv4_plus_more_ignorables.tsv +13 -0
- metadata +267 -207
- data/.gitignore +0 -23
- data/Gemfile +0 -4
- data/Guardfile +0 -56
- data/LICENSE.txt +0 -22
- data/Rakefile +0 -1
- data/conceptql.gemspec +0 -32
- data/doc/ConceptQL Specification (alpha).pdf +0 -0
- data/doc/diagram_0.png +0 -0
- data/doc/implementation_notes.md +0 -39
- data/doc/spec.md +0 -1344
- data/lib/conceptql/behaviors/debuggable.rb +0 -70
- data/lib/conceptql/behaviors/dottable.rb +0 -103
- data/lib/conceptql/behaviors/preppable.rb +0 -20
- data/lib/conceptql/converter.rb +0 -65
- data/lib/conceptql/debugger.rb +0 -48
- data/lib/conceptql/fake_grapher.rb +0 -20
- data/lib/conceptql/graph.rb +0 -52
- data/lib/conceptql/graph_nodifier.rb +0 -203
- data/lib/conceptql/logger.rb +0 -10
- data/lib/conceptql/operators/complement.rb +0 -38
- data/lib/conceptql/operators/concept.rb +0 -70
- data/lib/conceptql/operators/condition_type.rb +0 -71
- data/lib/conceptql/operators/cpt.rb +0 -25
- data/lib/conceptql/operators/drug_type_concept.rb +0 -21
- data/lib/conceptql/operators/from_seer_visits.rb +0 -23
- data/lib/conceptql/operators/hcpcs.rb +0 -25
- data/lib/conceptql/operators/icd10.rb +0 -28
- data/lib/conceptql/operators/icd9.rb +0 -28
- data/lib/conceptql/operators/icd9_procedure.rb +0 -25
- data/lib/conceptql/operators/intersect.rb +0 -34
- data/lib/conceptql/operators/loinc.rb +0 -25
- data/lib/conceptql/operators/medcode.rb +0 -28
- data/lib/conceptql/operators/medcode_procedure.rb +0 -27
- data/lib/conceptql/operators/ndc.rb +0 -29
- data/lib/conceptql/operators/observation_by_enttype.rb +0 -29
- data/lib/conceptql/operators/observation_period.rb +0 -30
- data/lib/conceptql/operators/overlapped_by.rb +0 -23
- data/lib/conceptql/operators/overlaps.rb +0 -19
- data/lib/conceptql/operators/place_of_service_code.rb +0 -24
- data/lib/conceptql/operators/procedure_occurrence.rb +0 -25
- data/lib/conceptql/operators/prodcode.rb +0 -29
- data/lib/conceptql/operators/rxnorm.rb +0 -24
- data/lib/conceptql/operators/snomed.rb +0 -24
- data/lib/conceptql/operators/snomed_condition.rb +0 -26
- data/lib/conceptql/operators/source_vocabulary_operator.rb +0 -58
- data/lib/conceptql/operators/standard_vocabulary_operator.rb +0 -45
- data/lib/conceptql/operators/started_by.rb +0 -22
- data/lib/conceptql/operators/to_seer_visits.rb +0 -24
- data/lib/conceptql/operators/visit.rb +0 -15
- data/lib/conceptql/operators/visit_occurrence.rb +0 -30
- data/lib/conceptql/tree.rb +0 -53
- data/lib/conceptql/utils/temp_table.rb +0 -72
- data/spec/conceptql/behaviors/dottable_spec.rb +0 -99
- data/spec/conceptql/converter_spec.rb +0 -51
- data/spec/conceptql/date_adjuster_spec.rb +0 -68
- data/spec/conceptql/operators/after_spec.rb +0 -16
- data/spec/conceptql/operators/before_spec.rb +0 -16
- data/spec/conceptql/operators/casting_operator_spec.rb +0 -68
- data/spec/conceptql/operators/complement_spec.rb +0 -15
- data/spec/conceptql/operators/concept_spec.rb +0 -40
- data/spec/conceptql/operators/condition_type_spec.rb +0 -128
- data/spec/conceptql/operators/contains_spec.rb +0 -19
- data/spec/conceptql/operators/cpt_spec.rb +0 -29
- data/spec/conceptql/operators/date_range_spec.rb +0 -33
- data/spec/conceptql/operators/death_spec.rb +0 -10
- data/spec/conceptql/operators/during_spec.rb +0 -30
- data/spec/conceptql/operators/except_spec.rb +0 -15
- data/spec/conceptql/operators/first_spec.rb +0 -35
- data/spec/conceptql/operators/from_spec.rb +0 -13
- data/spec/conceptql/operators/gender_spec.rb +0 -27
- data/spec/conceptql/operators/hcpcs_spec.rb +0 -29
- data/spec/conceptql/operators/icd10_spec.rb +0 -34
- data/spec/conceptql/operators/icd9_procedure_spec.rb +0 -29
- data/spec/conceptql/operators/icd9_spec.rb +0 -34
- data/spec/conceptql/operators/intersect_spec.rb +0 -28
- data/spec/conceptql/operators/last_spec.rb +0 -36
- data/spec/conceptql/operators/loinc_spec.rb +0 -29
- data/spec/conceptql/operators/medcode_procedure_spec.rb +0 -34
- data/spec/conceptql/operators/medcode_spec.rb +0 -34
- data/spec/conceptql/operators/observation_period_spec.rb +0 -10
- data/spec/conceptql/operators/occurrence_spec.rb +0 -87
- data/spec/conceptql/operators/overlapped_by_spec.rb +0 -32
- data/spec/conceptql/operators/overlaps_spec.rb +0 -21
- data/spec/conceptql/operators/person_filter_spec.rb +0 -15
- data/spec/conceptql/operators/person_spec.rb +0 -10
- data/spec/conceptql/operators/place_of_service_code_spec.rb +0 -24
- data/spec/conceptql/operators/procedure_occurrence_spec.rb +0 -10
- data/spec/conceptql/operators/prodcode_spec.rb +0 -35
- data/spec/conceptql/operators/query_double.rb +0 -20
- data/spec/conceptql/operators/query_double_spec.rb +0 -7
- data/spec/conceptql/operators/race_spec.rb +0 -21
- data/spec/conceptql/operators/rxnorm_spec.rb +0 -29
- data/spec/conceptql/operators/snomed_spec.rb +0 -29
- data/spec/conceptql/operators/source_vocabulary_operator_spec.rb +0 -35
- data/spec/conceptql/operators/standard_vocabulary_operator_spec.rb +0 -35
- data/spec/conceptql/operators/started_by_spec.rb +0 -22
- data/spec/conceptql/operators/temporal_operator_spec.rb +0 -51
- data/spec/conceptql/operators/time_window_spec.rb +0 -77
- data/spec/conceptql/operators/union_spec.rb +0 -21
- data/spec/conceptql/operators/visit_occurrence_spec.rb +0 -10
- data/spec/conceptql/query_spec.rb +0 -22
- data/spec/conceptql/tree_spec.rb +0 -50
- data/spec/doubles/stream_for_casting_double.rb +0 -9
- data/spec/doubles/stream_for_occurrence_double.rb +0 -25
- data/spec/doubles/stream_for_temporal_double.rb +0 -6
- data/spec/spec_helper.rb +0 -102
|
@@ -0,0 +1,489 @@
|
|
|
1
|
+
---
|
|
2
|
+
:carrier_claim:
|
|
3
|
+
- 45756835
|
|
4
|
+
- 45756836
|
|
5
|
+
- 45756837
|
|
6
|
+
- 45756838
|
|
7
|
+
- 45756839
|
|
8
|
+
- 45756840
|
|
9
|
+
- 45756841
|
|
10
|
+
- 45756842
|
|
11
|
+
- 45756843
|
|
12
|
+
- 45756844
|
|
13
|
+
- 45756845
|
|
14
|
+
- 45756846
|
|
15
|
+
- 45756847
|
|
16
|
+
- 45756848
|
|
17
|
+
- 45756849
|
|
18
|
+
- 45756850
|
|
19
|
+
- 45756851
|
|
20
|
+
- 45756852
|
|
21
|
+
- 45756853
|
|
22
|
+
- 45756854
|
|
23
|
+
- 45756855
|
|
24
|
+
- 45756900
|
|
25
|
+
- 45756901
|
|
26
|
+
- 45756902
|
|
27
|
+
- 45756903
|
|
28
|
+
- 45756904
|
|
29
|
+
- 45756905
|
|
30
|
+
- 45756906
|
|
31
|
+
- 45756907
|
|
32
|
+
- 45756908
|
|
33
|
+
- 45756909
|
|
34
|
+
- 45756910
|
|
35
|
+
- 45756911
|
|
36
|
+
- 45756912
|
|
37
|
+
- 100000062
|
|
38
|
+
- 100011039
|
|
39
|
+
- 100011036
|
|
40
|
+
:carrier_claim_detail:
|
|
41
|
+
- 45756843
|
|
42
|
+
- 45756844
|
|
43
|
+
- 45756845
|
|
44
|
+
- 45756846
|
|
45
|
+
- 45756847
|
|
46
|
+
- 45756848
|
|
47
|
+
- 45756849
|
|
48
|
+
- 45756850
|
|
49
|
+
- 45756851
|
|
50
|
+
- 45756852
|
|
51
|
+
- 45756853
|
|
52
|
+
- 45756854
|
|
53
|
+
- 45756855
|
|
54
|
+
- 45756900
|
|
55
|
+
- 45756901
|
|
56
|
+
- 45756902
|
|
57
|
+
- 45756903
|
|
58
|
+
- 45756904
|
|
59
|
+
- 45756905
|
|
60
|
+
- 45756906
|
|
61
|
+
- 45756907
|
|
62
|
+
- 45756908
|
|
63
|
+
- 45756909
|
|
64
|
+
- 45756910
|
|
65
|
+
- 45756911
|
|
66
|
+
- 45756912
|
|
67
|
+
- 100000062
|
|
68
|
+
- 100011039
|
|
69
|
+
- 100011036
|
|
70
|
+
:carrier_claim_header:
|
|
71
|
+
- 45756835
|
|
72
|
+
- 45756836
|
|
73
|
+
- 45756837
|
|
74
|
+
- 45756838
|
|
75
|
+
- 45756839
|
|
76
|
+
- 45756840
|
|
77
|
+
- 45756841
|
|
78
|
+
- 45756842
|
|
79
|
+
- 100000062
|
|
80
|
+
- 100011039
|
|
81
|
+
- 100011036
|
|
82
|
+
:carrier_claim_primary_or_first:
|
|
83
|
+
- 45756835
|
|
84
|
+
- 45756843
|
|
85
|
+
- 45756900
|
|
86
|
+
:claim:
|
|
87
|
+
- 45756835
|
|
88
|
+
- 45756836
|
|
89
|
+
- 45756837
|
|
90
|
+
- 45756838
|
|
91
|
+
- 45756839
|
|
92
|
+
- 45756840
|
|
93
|
+
- 45756841
|
|
94
|
+
- 45756842
|
|
95
|
+
- 45756843
|
|
96
|
+
- 45756844
|
|
97
|
+
- 45756845
|
|
98
|
+
- 45756846
|
|
99
|
+
- 45756847
|
|
100
|
+
- 45756848
|
|
101
|
+
- 45756849
|
|
102
|
+
- 45756850
|
|
103
|
+
- 45756851
|
|
104
|
+
- 45756852
|
|
105
|
+
- 45756853
|
|
106
|
+
- 45756854
|
|
107
|
+
- 45756855
|
|
108
|
+
- 38003566
|
|
109
|
+
- 38003567
|
|
110
|
+
- 38003568
|
|
111
|
+
- 44818705
|
|
112
|
+
- 45756900
|
|
113
|
+
- 45756901
|
|
114
|
+
- 45756902
|
|
115
|
+
- 45756903
|
|
116
|
+
- 45756904
|
|
117
|
+
- 45756905
|
|
118
|
+
- 45756906
|
|
119
|
+
- 45756907
|
|
120
|
+
- 45756908
|
|
121
|
+
- 45756909
|
|
122
|
+
- 45756910
|
|
123
|
+
- 45756911
|
|
124
|
+
- 45756912
|
|
125
|
+
- 44818517
|
|
126
|
+
- 100000062
|
|
127
|
+
- 100011039
|
|
128
|
+
- 100011036
|
|
129
|
+
:inpatient:
|
|
130
|
+
- 38000183
|
|
131
|
+
- 38000184
|
|
132
|
+
- 38000185
|
|
133
|
+
- 38000186
|
|
134
|
+
- 38000187
|
|
135
|
+
- 38000188
|
|
136
|
+
- 38000189
|
|
137
|
+
- 38000190
|
|
138
|
+
- 38000191
|
|
139
|
+
- 38000192
|
|
140
|
+
- 38000193
|
|
141
|
+
- 38000194
|
|
142
|
+
- 38000195
|
|
143
|
+
- 38000196
|
|
144
|
+
- 38000197
|
|
145
|
+
- 38000198
|
|
146
|
+
- 38000199
|
|
147
|
+
- 38000200
|
|
148
|
+
- 38000201
|
|
149
|
+
- 38000202
|
|
150
|
+
- 38000203
|
|
151
|
+
- 38000204
|
|
152
|
+
- 38000205
|
|
153
|
+
- 38000206
|
|
154
|
+
- 38000207
|
|
155
|
+
- 38000208
|
|
156
|
+
- 38000209
|
|
157
|
+
- 38000210
|
|
158
|
+
- 38000211
|
|
159
|
+
- 38000212
|
|
160
|
+
- 38000213
|
|
161
|
+
- 38000214
|
|
162
|
+
- 44818709
|
|
163
|
+
- 44818710
|
|
164
|
+
- 44818711
|
|
165
|
+
- 44818712
|
|
166
|
+
- 44818713
|
|
167
|
+
- 38000248
|
|
168
|
+
- 38000249
|
|
169
|
+
- 38000250
|
|
170
|
+
- 38000251
|
|
171
|
+
- 38000252
|
|
172
|
+
- 38000253
|
|
173
|
+
- 38000254
|
|
174
|
+
- 38000255
|
|
175
|
+
- 38000256
|
|
176
|
+
- 38000257
|
|
177
|
+
- 38000258
|
|
178
|
+
- 38000259
|
|
179
|
+
- 38000260
|
|
180
|
+
- 38000261
|
|
181
|
+
- 38000262
|
|
182
|
+
- 38000263
|
|
183
|
+
- 38000264
|
|
184
|
+
- 38000265
|
|
185
|
+
- 38000180
|
|
186
|
+
- 44814639
|
|
187
|
+
- 100000060
|
|
188
|
+
- 100011032
|
|
189
|
+
- 100011033
|
|
190
|
+
:inpatient_detail:
|
|
191
|
+
- 38000183
|
|
192
|
+
- 38000184
|
|
193
|
+
- 38000185
|
|
194
|
+
- 38000186
|
|
195
|
+
- 38000187
|
|
196
|
+
- 38000188
|
|
197
|
+
- 38000189
|
|
198
|
+
- 38000190
|
|
199
|
+
- 38000191
|
|
200
|
+
- 38000192
|
|
201
|
+
- 38000193
|
|
202
|
+
- 38000194
|
|
203
|
+
- 38000195
|
|
204
|
+
- 38000196
|
|
205
|
+
- 38000197
|
|
206
|
+
- 38000198
|
|
207
|
+
- 44818709
|
|
208
|
+
- 44818710
|
|
209
|
+
- 44818711
|
|
210
|
+
- 44818712
|
|
211
|
+
- 44818713
|
|
212
|
+
- 38000248
|
|
213
|
+
- 38000249
|
|
214
|
+
- 100000060
|
|
215
|
+
- 100011032
|
|
216
|
+
- 100011033
|
|
217
|
+
:inpatient_header:
|
|
218
|
+
- 38000199
|
|
219
|
+
- 38000200
|
|
220
|
+
- 38000201
|
|
221
|
+
- 38000202
|
|
222
|
+
- 38000203
|
|
223
|
+
- 38000204
|
|
224
|
+
- 38000205
|
|
225
|
+
- 38000206
|
|
226
|
+
- 38000207
|
|
227
|
+
- 38000208
|
|
228
|
+
- 38000209
|
|
229
|
+
- 38000210
|
|
230
|
+
- 38000211
|
|
231
|
+
- 38000212
|
|
232
|
+
- 38000213
|
|
233
|
+
- 38000214
|
|
234
|
+
- 38000250
|
|
235
|
+
- 38000251
|
|
236
|
+
- 38000252
|
|
237
|
+
- 38000253
|
|
238
|
+
- 38000254
|
|
239
|
+
- 38000255
|
|
240
|
+
- 38000256
|
|
241
|
+
- 38000257
|
|
242
|
+
- 38000258
|
|
243
|
+
- 38000259
|
|
244
|
+
- 38000260
|
|
245
|
+
- 38000261
|
|
246
|
+
- 38000262
|
|
247
|
+
- 38000263
|
|
248
|
+
- 38000264
|
|
249
|
+
- 38000265
|
|
250
|
+
- 100000060
|
|
251
|
+
- 100011032
|
|
252
|
+
- 100011033
|
|
253
|
+
:inpatient_primary:
|
|
254
|
+
- 38000183
|
|
255
|
+
- 38000199
|
|
256
|
+
- 38000248
|
|
257
|
+
- 38000250
|
|
258
|
+
- 100000060
|
|
259
|
+
- 100011032
|
|
260
|
+
- 100011033
|
|
261
|
+
:inpatient_primary_or_first:
|
|
262
|
+
- 38000183
|
|
263
|
+
- 38000184
|
|
264
|
+
- 38000199
|
|
265
|
+
- 38000200
|
|
266
|
+
- 38000248
|
|
267
|
+
- 38000249
|
|
268
|
+
- 38000250
|
|
269
|
+
- 38000251
|
|
270
|
+
- 100000060
|
|
271
|
+
- 100011032
|
|
272
|
+
- 100011033
|
|
273
|
+
:outpatient:
|
|
274
|
+
- 38000215
|
|
275
|
+
- 38000216
|
|
276
|
+
- 38000217
|
|
277
|
+
- 38000218
|
|
278
|
+
- 38000219
|
|
279
|
+
- 38000220
|
|
280
|
+
- 38000221
|
|
281
|
+
- 38000222
|
|
282
|
+
- 38000223
|
|
283
|
+
- 38000224
|
|
284
|
+
- 38000225
|
|
285
|
+
- 38000226
|
|
286
|
+
- 38000227
|
|
287
|
+
- 38000228
|
|
288
|
+
- 38000229
|
|
289
|
+
- 38000230
|
|
290
|
+
- 38000231
|
|
291
|
+
- 38000232
|
|
292
|
+
- 38000233
|
|
293
|
+
- 38000234
|
|
294
|
+
- 38000235
|
|
295
|
+
- 38000236
|
|
296
|
+
- 38000237
|
|
297
|
+
- 38000238
|
|
298
|
+
- 38000239
|
|
299
|
+
- 38000240
|
|
300
|
+
- 38000241
|
|
301
|
+
- 38000242
|
|
302
|
+
- 38000243
|
|
303
|
+
- 38000244
|
|
304
|
+
- 38000266
|
|
305
|
+
- 38000267
|
|
306
|
+
- 38000268
|
|
307
|
+
- 38000269
|
|
308
|
+
- 38000270
|
|
309
|
+
- 38000271
|
|
310
|
+
- 38000272
|
|
311
|
+
- 38000273
|
|
312
|
+
- 38000274
|
|
313
|
+
- 45756856
|
|
314
|
+
- 45756857
|
|
315
|
+
- 45756858
|
|
316
|
+
- 45756859
|
|
317
|
+
- 45756860
|
|
318
|
+
- 45756861
|
|
319
|
+
- 45756862
|
|
320
|
+
- 45756863
|
|
321
|
+
- 45756864
|
|
322
|
+
- 45756865
|
|
323
|
+
- 45756866
|
|
324
|
+
- 45756867
|
|
325
|
+
- 45756868
|
|
326
|
+
- 45756869
|
|
327
|
+
- 45756870
|
|
328
|
+
- 45756871
|
|
329
|
+
- 45756872
|
|
330
|
+
- 45756873
|
|
331
|
+
- 45756874
|
|
332
|
+
- 45756875
|
|
333
|
+
- 45756876
|
|
334
|
+
- 45756877
|
|
335
|
+
- 45756878
|
|
336
|
+
- 45756879
|
|
337
|
+
- 45756880
|
|
338
|
+
- 45756881
|
|
339
|
+
- 45756882
|
|
340
|
+
- 45756883
|
|
341
|
+
- 45756884
|
|
342
|
+
- 45756885
|
|
343
|
+
- 45756886
|
|
344
|
+
- 45756887
|
|
345
|
+
- 45756888
|
|
346
|
+
- 45756889
|
|
347
|
+
- 45756890
|
|
348
|
+
- 45756891
|
|
349
|
+
- 45756892
|
|
350
|
+
- 45756893
|
|
351
|
+
- 45756894
|
|
352
|
+
- 45756895
|
|
353
|
+
- 45756896
|
|
354
|
+
- 45756897
|
|
355
|
+
- 45756898
|
|
356
|
+
- 45756899
|
|
357
|
+
- 44814640
|
|
358
|
+
- 100000061
|
|
359
|
+
- 100011031
|
|
360
|
+
- 100011034
|
|
361
|
+
- 100011035
|
|
362
|
+
:outpatient_detail:
|
|
363
|
+
- 38000215
|
|
364
|
+
- 38000216
|
|
365
|
+
- 38000217
|
|
366
|
+
- 38000218
|
|
367
|
+
- 38000219
|
|
368
|
+
- 38000220
|
|
369
|
+
- 38000221
|
|
370
|
+
- 38000222
|
|
371
|
+
- 38000223
|
|
372
|
+
- 38000224
|
|
373
|
+
- 38000225
|
|
374
|
+
- 38000226
|
|
375
|
+
- 38000227
|
|
376
|
+
- 38000228
|
|
377
|
+
- 38000229
|
|
378
|
+
- 38000266
|
|
379
|
+
- 38000267
|
|
380
|
+
- 45756856
|
|
381
|
+
- 45756857
|
|
382
|
+
- 45756858
|
|
383
|
+
- 45756859
|
|
384
|
+
- 45756860
|
|
385
|
+
- 45756861
|
|
386
|
+
- 45756862
|
|
387
|
+
- 45756863
|
|
388
|
+
- 45756864
|
|
389
|
+
- 45756865
|
|
390
|
+
- 45756866
|
|
391
|
+
- 45756867
|
|
392
|
+
- 45756868
|
|
393
|
+
- 45756869
|
|
394
|
+
- 45756870
|
|
395
|
+
- 45756871
|
|
396
|
+
- 45756872
|
|
397
|
+
- 45756873
|
|
398
|
+
- 45756874
|
|
399
|
+
- 45756875
|
|
400
|
+
- 45756876
|
|
401
|
+
- 45756877
|
|
402
|
+
- 45756878
|
|
403
|
+
- 45756879
|
|
404
|
+
- 45756880
|
|
405
|
+
- 45756881
|
|
406
|
+
- 45756882
|
|
407
|
+
- 45756883
|
|
408
|
+
- 45756884
|
|
409
|
+
- 45756885
|
|
410
|
+
- 45756886
|
|
411
|
+
- 45756887
|
|
412
|
+
- 45756888
|
|
413
|
+
- 45756889
|
|
414
|
+
- 45756890
|
|
415
|
+
- 45756891
|
|
416
|
+
- 45756892
|
|
417
|
+
- 45756893
|
|
418
|
+
- 45756894
|
|
419
|
+
- 45756895
|
|
420
|
+
- 45756896
|
|
421
|
+
- 45756897
|
|
422
|
+
- 45756898
|
|
423
|
+
- 45756899
|
|
424
|
+
- 100000061
|
|
425
|
+
- 100011031
|
|
426
|
+
- 100011034
|
|
427
|
+
- 100011035
|
|
428
|
+
:outpatient_header:
|
|
429
|
+
- 38000230
|
|
430
|
+
- 38000231
|
|
431
|
+
- 38000232
|
|
432
|
+
- 38000233
|
|
433
|
+
- 38000234
|
|
434
|
+
- 38000235
|
|
435
|
+
- 38000236
|
|
436
|
+
- 38000237
|
|
437
|
+
- 38000238
|
|
438
|
+
- 38000239
|
|
439
|
+
- 38000240
|
|
440
|
+
- 38000241
|
|
441
|
+
- 38000242
|
|
442
|
+
- 38000243
|
|
443
|
+
- 38000244
|
|
444
|
+
- 38000268
|
|
445
|
+
- 38000269
|
|
446
|
+
- 38000270
|
|
447
|
+
- 38000271
|
|
448
|
+
- 38000272
|
|
449
|
+
- 38000273
|
|
450
|
+
- 38000274
|
|
451
|
+
- 100000061
|
|
452
|
+
- 100011031
|
|
453
|
+
- 100011034
|
|
454
|
+
- 100011035
|
|
455
|
+
:outpatient_primary:
|
|
456
|
+
- 38000266
|
|
457
|
+
- 38000268
|
|
458
|
+
:outpatient_primary_or_first:
|
|
459
|
+
- 38000215
|
|
460
|
+
- 38000230
|
|
461
|
+
- 38000266
|
|
462
|
+
- 38000267
|
|
463
|
+
- 38000268
|
|
464
|
+
- 38000269
|
|
465
|
+
:primary:
|
|
466
|
+
- 38000183
|
|
467
|
+
- 38000199
|
|
468
|
+
- 38000248
|
|
469
|
+
- 38000250
|
|
470
|
+
- 38000266
|
|
471
|
+
- 38000268
|
|
472
|
+
:primary_or_first:
|
|
473
|
+
- 38000183
|
|
474
|
+
- 38000184
|
|
475
|
+
- 38000199
|
|
476
|
+
- 38000200
|
|
477
|
+
- 38000215
|
|
478
|
+
- 38000230
|
|
479
|
+
- 45756835
|
|
480
|
+
- 45756843
|
|
481
|
+
- 38000248
|
|
482
|
+
- 38000249
|
|
483
|
+
- 38000250
|
|
484
|
+
- 38000251
|
|
485
|
+
- 38000266
|
|
486
|
+
- 38000267
|
|
487
|
+
- 38000268
|
|
488
|
+
- 38000269
|
|
489
|
+
- 45756900
|
data/config/race.yml
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
8657:
|
|
2
|
+
- 38003572
|
|
3
|
+
- 38003573
|
|
4
|
+
8515:
|
|
5
|
+
- 38003574
|
|
6
|
+
- 38003575
|
|
7
|
+
- 38003576
|
|
8
|
+
- 38003577
|
|
9
|
+
- 38003578
|
|
10
|
+
- 38003579
|
|
11
|
+
- 38003580
|
|
12
|
+
- 38003581
|
|
13
|
+
- 38003582
|
|
14
|
+
- 38003583
|
|
15
|
+
- 38003584
|
|
16
|
+
- 38003585
|
|
17
|
+
- 38003586
|
|
18
|
+
- 38003587
|
|
19
|
+
- 38003588
|
|
20
|
+
- 38003589
|
|
21
|
+
- 38003590
|
|
22
|
+
- 38003591
|
|
23
|
+
- 38003592
|
|
24
|
+
- 38003593
|
|
25
|
+
- 38003594
|
|
26
|
+
- 38003595
|
|
27
|
+
- 38003596
|
|
28
|
+
- 38003597
|
|
29
|
+
8516:
|
|
30
|
+
- 38003598
|
|
31
|
+
- 38003599
|
|
32
|
+
- 38003600
|
|
33
|
+
- 38003601
|
|
34
|
+
- 38003602
|
|
35
|
+
- 38003603
|
|
36
|
+
- 38003604
|
|
37
|
+
- 38003605
|
|
38
|
+
- 38003606
|
|
39
|
+
- 38003607
|
|
40
|
+
- 38003608
|
|
41
|
+
- 38003609
|
|
42
|
+
8557:
|
|
43
|
+
- 38003610
|
|
44
|
+
- 38003611
|
|
45
|
+
- 38003612
|
|
46
|
+
- 38003613
|
|
47
|
+
8527:
|
|
48
|
+
- 38003614
|
|
49
|
+
- 38003615
|
|
50
|
+
- 38003616
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
id,omopv4_vocabulary_id,vocabulary_full_name,vocabulary_short_name,domain,hidden,format_regexp,aliases,requires_lexicon
|
|
2
|
+
ADMSRCE,1000000,ADMSRCE,,,,,,
|
|
3
|
+
ADMTYPE,1000001,ADMTYPE,,,,,,
|
|
4
|
+
ATC,21,WHO Anatomic Therapeutic Chemical Classification,WHO ATC,drug_exposure,,"^[ABCDGHJLMNPRSVabcdghjlmnprsv](\d{2}([A-Za-z]{1,2}(\d{2})?)?)?$",,
|
|
5
|
+
BETOS,1000002,BETOS,,,,,,
|
|
6
|
+
Clinical Code Type,1000004,Clinical Code Type,,,,,,
|
|
7
|
+
Concept Class,68,OMOP Concept Class,,,Y,,,
|
|
8
|
+
Condition Type,37,OMOP Condition Occurrence Type,,condition_occurrence,Y,,,
|
|
9
|
+
CPT4,4,Current Procedural Terminology version 4 (AMA),CPT,procedure_occurrence,,"^\w\d{3}\w$",cpt,
|
|
10
|
+
CPT4_HCPCS,,CPT4 and HCPCS merged (OI supplemental),CPT4/HCPCS,procedure_occurrence,,"^\w\d{3}\w$",,Y
|
|
11
|
+
CS_Schema,1000003,CS_Schema,,,,,,
|
|
12
|
+
Currency,65,International Currency Symbol (ISO 4217),,,Y,,,
|
|
13
|
+
Death Type,45,OMOP Death Type,,death,Y,,,
|
|
14
|
+
Device Type,63,OMOP Device Type,,observation,Y,,,
|
|
15
|
+
Domain,59,OMOP Domain,,,Y,,,
|
|
16
|
+
DRG,40,Diagnosis-related group (CMS),DRG,procedure_occurrence,,"^\d{3}$",,
|
|
17
|
+
DrugTextString,26400,Drug Text String,Drug Text String,drug_exposure,,,,
|
|
18
|
+
Drug Type,36,OMOP Drug Exposure Type,,drug_exposure,Y,,,
|
|
19
|
+
DURATION_UNIT,1000005,DURATION_UNIT,,,,,,
|
|
20
|
+
Ethnicity,44,OMOP Ethnicity,,person,Y,,,
|
|
21
|
+
Gemscript,56,,Gemscript,drug_exposure,,"^\d{8}$",,
|
|
22
|
+
Gender,12,OMOP Gender,,person,Y,,,
|
|
23
|
+
HCFASPEC,1000006,HCFASPEC,,,,,,
|
|
24
|
+
HCFATYPE,1000007,HCFATYPE,,,,,,
|
|
25
|
+
HCPCS,5,Healthcare Common Procedure Coding System (CMS),HCPCS,procedure_occurrence,,"^[A-Za-z]\d{4}$",,
|
|
26
|
+
ICD03_Morphology,1000008,ICD03_Morphology,,,,"^\d{4}/\d$",,
|
|
27
|
+
ICD03_Topography,1000009,ICD03_Topography,,,,"^[A-Za-z]\d{2}(\.\d{1,2})?$",,
|
|
28
|
+
ICD10,34,"International Classification of Diseases, Tenth Revision (WHO)",ICD-10 WHO,condition_occurrence,,"^([A-Za-z][0-9][0-9A-Za-z](\.\w{1,4})?|[A-Za-z][0-9][0-9A-Za-z]-[A-Za-z][0-9][0-9A-Za-z]|(?:I|II|III|IV|V|VI|VII|VIII|IX|X|XI|XII|XIII|XIV|XV|XVI|XVII|XVIII|XIX|XX|XXI|XXII))$",,
|
|
29
|
+
ICD10PCS,35,"ICD-10 Procedure Coding System (CMS)",ICD-10 PCS,procedure_occurrence,,"^[0-9BCDFGHX][0-9A-HJ-NP-Z]{6}$",icd10_pcs,
|
|
30
|
+
ICD10CM,70,"International Classification of Diseases, Tenth Revision, Clinical Modification (NCHS)",ICD-10 CM,condition_occurrence,,"^(?:QA[0-9]|[A-Za-z][0-9][0-9ABab])(\.[0-9A-Za-z]{1,4})?$",,
|
|
31
|
+
ICD9CM,2,"International Classification of Diseases, Ninth Revision, Clinical Modification, Volume 1 and 2 (NCHS)",ICD-9 CM,condition_occurrence,,"^(V\d{2}(\.\d{1,2})?|\d{3}(\.\d{1,2})?|E\d{3}(\.\d)?)$",icd9,
|
|
32
|
+
ICD9Proc,3,"International Classification of Diseases, Ninth Revision, Clinical Modification, Volume 3 (NCHS)",ICD-9 Proc,procedure_occurrence,,"^\d{2}(\.\d{1,2})?$",icd9_procedure,
|
|
33
|
+
LOINC,6,Logical Observation Identifiers Names and Codes (Regenstrief Institute),,observation,,"^\w{3,7}-\w$",,
|
|
34
|
+
GDM_CEN_TRACT_MEAS,0,Census Tract Measures from SEER,,observation,,,,
|
|
35
|
+
SEER_YOST_ACS_06_10,0,SEER's Yost Index calculated from ACS 2006-2010,,observation,,,,
|
|
36
|
+
SEER_YOST_ACS_10_14,0,SEER's Yost Index calculated from ACS 2010-2014,,observation,,,,
|
|
37
|
+
SEER_YOST_ACS_13_17,0,SEER's Yost Index calculated from ACS 2013-2017,,observation,,,,
|
|
38
|
+
MARCLA_OBS_TYPE,0,Market Clarity Observation Type,,observation,,,,
|
|
39
|
+
Meas Type,64,OMOP Measurement Type,,observation,Y,,,
|
|
40
|
+
NDC,9,National Drug Code (FDA and manufacturers),,drug_exposure,,"^(\d{5}\w{4}|\d{5}\w{6})$",,
|
|
41
|
+
Note Type,58,OMOP Note Type,,,Y,,,
|
|
42
|
+
NUCC,47,National Uniform Claim Committee Health Care Provider Taxonomy Code Set (NUCC),,,Y,,,
|
|
43
|
+
Observation Type,39,OMOP Observation Type,,observation,Y,,,
|
|
44
|
+
Obs Period Type,61,OMOP Observation Period Type,,observation_period,Y,,,
|
|
45
|
+
OI_FILE_TYPE,1000010,OI_FILE_TYPE,,,,,,
|
|
46
|
+
OI_INFORMATION_TYPE,1000011,OI_INFORMATION_TYPE,,,,,,
|
|
47
|
+
OI_PROV,1000012,OI_PROV,,,,,,
|
|
48
|
+
Place of Service,14,Place of Service Codes for Professional Claims (CMS),,visit_occurrence,Y,,,
|
|
49
|
+
PLCSRVC,1000013,PLCSRVC,,,,,,
|
|
50
|
+
Procedure Type,38,OMOP Procedure Occurrence Type,,procedure_occurrence,Y,,,
|
|
51
|
+
PROVIDER_FACILITY_TYPE,1000014,PROVIDER_FACILITY_TYPE,,,,,,
|
|
52
|
+
Race,13,Race and Ethnicity Code Set (USBC),,person,Y,,,
|
|
53
|
+
Relationship,66,OMOP Relationship,,,Y,,,
|
|
54
|
+
Revenue Code,43,UB04/CMS1450 Revenue Codes (CMS),Revenue Code,procedure_occurrence,,,revenue_code,
|
|
55
|
+
RxNorm,8,RxNorm (NLM),,drug_exposure,,"^\d{2,8}$",,
|
|
56
|
+
SEER_ADJAJC6M,1000015,SEER_ADJAJC6M,,,,,,
|
|
57
|
+
SEER_ADJAJC6N,1000016,SEER_ADJAJC6N,,,,,,
|
|
58
|
+
SEER_ADJAJC6T,1000017,SEER_ADJAJC6T,,,,,,
|
|
59
|
+
SEER_BEH,1000018,SEER_BEH,,,,,,
|
|
60
|
+
SEER_CENSUS_POV_IND,1000019,SEER_CENSUS_POV_IND,,,,,,
|
|
61
|
+
SEER_DAJCC7,1000020,SEER_DAJCC7,,,,,,
|
|
62
|
+
SEER_DAJCCSTG,1000021,SEER_DAJCCSTG,,,,,,
|
|
63
|
+
SEER_DXCONF,1000022,SEER_DXCONF,,,,,,
|
|
64
|
+
SEER_GRADE,1000023,SEER_GRADE,,,,,,
|
|
65
|
+
SEER_LAT,1000024,SEER_LAT,,,,,,
|
|
66
|
+
SEER_MARST,1000025,SEER_MARST,,,,,,
|
|
67
|
+
SEER_MSEX,1000026,SEER_MSEX,,,,,,
|
|
68
|
+
SEER_NHIADE,1000027,SEER_NHIADE,,,,,,
|
|
69
|
+
SEER_NOSRG,1000028,SEER_NOSRG,,,,,,
|
|
70
|
+
SEER_RAD,1000029,SEER_RAD,,,,,,
|
|
71
|
+
SEER_RADSURG,1000030,SEER_RADSURG,,,,,,
|
|
72
|
+
SEER_SEQ,1000031,SEER_SEQ,,,,,,
|
|
73
|
+
SEER_SITERWHO,1000032,SEER_SITERWHO,,,,,,
|
|
74
|
+
SEER_SRACE,1000033,SEER_SRACE,,,,,,
|
|
75
|
+
SEER_SRC,1000034,SEER_SRC,,,,,,
|
|
76
|
+
SEER_SXPRIF,1000035,SEER_SXPRIF,,,,,,
|
|
77
|
+
SEER_SXSITF,1000036,SEER_SXSITF,,,,,,
|
|
78
|
+
SEER_TYPEFU,1000037,SEER_TYPEFU,,,,,,
|
|
79
|
+
SEER_URBRUR,1000038,SEER_URBRUR,,,,,,
|
|
80
|
+
SNOMED,1,SNOMED-CT,SNOMED-CT,condition_occurrence,,"^\d{6,18}$",,
|
|
81
|
+
Specialty,48,Medicare provider/supplier specialty codes (CMS),,provider,Y,,,
|
|
82
|
+
STUS_CD,1000039,STUS_CD,,,,,,
|
|
83
|
+
TYPESRVC,1000040,TYPESRVC,,,,,,
|
|
84
|
+
UCUM,11,Unified Code for Units of Measure (Regenstrief Institute),,,Y,,,
|
|
85
|
+
Visit,24,OMOP Visit,,visit_occurrence,Y,,,
|
|
86
|
+
Visit Type,62,OMOP Visit Type,,visit_occurrence,Y,,,
|
|
87
|
+
Vocabulary,67,OMOP Vocabulary,,,Y,,,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ConceptQL
|
|
4
|
+
module Behaviors
|
|
5
|
+
module CodeLister
|
|
6
|
+
ConceptCode = Struct.new(:vocabulary, :code, :description) do
|
|
7
|
+
def to_s
|
|
8
|
+
if description
|
|
9
|
+
"#{vocabulary} #{code}: #{description}"
|
|
10
|
+
else
|
|
11
|
+
"#{vocabulary} #{code}"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def code_list(db)
|
|
17
|
+
describe_codes(db, arguments).map do |code, desc|
|
|
18
|
+
ConceptCode.new(preferred_name, code, desc)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ConceptQL
|
|
4
|
+
module Behaviors
|
|
5
|
+
module Drugish
|
|
6
|
+
def self.included(base)
|
|
7
|
+
base.define_method(:column_family) { "drug" }
|
|
8
|
+
base.require_column(:drug_name)
|
|
9
|
+
base.require_column(:drug_amount)
|
|
10
|
+
base.require_column(:drug_amount_units)
|
|
11
|
+
base.require_column(:drug_quantity)
|
|
12
|
+
base.require_column(:drug_strength_source_value)
|
|
13
|
+
base.require_column(:drug_days_supply)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ConceptQL
|
|
4
|
+
module Behaviors
|
|
5
|
+
module Labish
|
|
6
|
+
def self.included(base)
|
|
7
|
+
base.define_method(:column_family) { "lab" }
|
|
8
|
+
base.require_column :value_as_number
|
|
9
|
+
base.require_column :value_as_string
|
|
10
|
+
base.require_column :value_as_concept_id
|
|
11
|
+
base.require_column :value_as_concept
|
|
12
|
+
base.require_column :unit_concept_id
|
|
13
|
+
base.require_column :unit_concept
|
|
14
|
+
base.require_column :range_low
|
|
15
|
+
base.require_column :range_high
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|