conceptql 0.3.0 → 0.4.1

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.
Files changed (1208) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +228 -27
  3. data/LICENSE +21 -0
  4. data/README.md +28 -98
  5. data/bin/conceptql +2 -1
  6. data/bin/conceptql_utils +6 -0
  7. data/config/multiple_vocabularies.csv +4 -0
  8. data/config/provenance.yml +471 -436
  9. data/config/race.yml +50 -0
  10. data/config/vocabularies.csv +87 -0
  11. data/lib/conceptql/behaviors/code_lister.rb +23 -0
  12. data/lib/conceptql/behaviors/drugish.rb +13 -8
  13. data/lib/conceptql/behaviors/labish.rb +15 -9
  14. data/lib/conceptql/behaviors/metadatable.rb +102 -34
  15. data/lib/conceptql/behaviors/provenanceable.rb +15 -19
  16. data/lib/conceptql/behaviors/single_event.rb +11 -0
  17. data/lib/conceptql/behaviors/timeless.rb +11 -0
  18. data/lib/conceptql/behaviors/utilizable.rb +206 -0
  19. data/lib/conceptql/behaviors/windowable.rb +27 -0
  20. data/lib/conceptql/cli.rb +99 -134
  21. data/lib/conceptql/columnizer.rb +75 -0
  22. data/lib/conceptql/data_model/base.rb +462 -0
  23. data/lib/conceptql/data_model/gdm.rb +155 -0
  24. data/lib/conceptql/data_model/gdm_wide.rb +42 -0
  25. data/lib/conceptql/data_model/omopv4_plus.rb +12 -0
  26. data/lib/conceptql/data_model.rb +30 -0
  27. data/lib/conceptql/database.rb +195 -23
  28. data/lib/conceptql/date_adjuster.rb +57 -27
  29. data/lib/conceptql/diagram.rb +243 -0
  30. data/lib/conceptql/lexicon/lexicon_gdm.rb +47 -0
  31. data/lib/conceptql/lexicon/lexicon_no_db.rb +49 -0
  32. data/lib/conceptql/lexicon/lexicon_ohdsi.rb +63 -0
  33. data/lib/conceptql/lexicon/lexicon_strategy.rb +116 -0
  34. data/lib/conceptql/lexicon.rb +111 -0
  35. data/lib/conceptql/nodifier.rb +45 -15
  36. data/lib/conceptql/operators/after.rb +24 -21
  37. data/lib/conceptql/operators/any_overlap.rb +6 -6
  38. data/lib/conceptql/operators/before.rb +24 -16
  39. data/lib/conceptql/operators/binary_operator_operator.rb +52 -13
  40. data/lib/conceptql/operators/casting_operator.rb +24 -17
  41. data/lib/conceptql/operators/co_reported.rb +78 -9
  42. data/lib/conceptql/operators/concurrent_within.rb +29 -17
  43. data/lib/conceptql/operators/contains.rb +9 -9
  44. data/lib/conceptql/operators/count.rb +9 -9
  45. data/lib/conceptql/operators/date_range.rb +40 -18
  46. data/lib/conceptql/operators/death.rb +10 -2
  47. data/lib/conceptql/operators/dedup.rb +31 -0
  48. data/lib/conceptql/operators/during.rb +5 -12
  49. data/lib/conceptql/operators/episode.rb +146 -0
  50. data/lib/conceptql/operators/equal.rb +6 -3
  51. data/lib/conceptql/operators/ethnicity.rb +49 -0
  52. data/lib/conceptql/operators/except.rb +15 -20
  53. data/lib/conceptql/operators/filter.rb +20 -8
  54. data/lib/conceptql/operators/first.rb +14 -3
  55. data/lib/conceptql/operators/from.rb +33 -12
  56. data/lib/conceptql/operators/gender.rb +27 -11
  57. data/lib/conceptql/operators/hospice.rb +19 -0
  58. data/lib/conceptql/operators/hospitalization.rb +19 -0
  59. data/lib/conceptql/operators/information_periods.rb +36 -0
  60. data/lib/conceptql/operators/invalid.rb +4 -5
  61. data/lib/conceptql/operators/last.rb +14 -3
  62. data/lib/conceptql/operators/match.rb +91 -0
  63. data/lib/conceptql/operators/multiple_vocabularies.rb +172 -0
  64. data/lib/conceptql/operators/numeric.rb +52 -29
  65. data/lib/conceptql/operators/numeric_filter.rb +68 -0
  66. data/lib/conceptql/operators/occurrence.rb +133 -48
  67. data/lib/conceptql/operators/one_in_two_out.rb +198 -62
  68. data/lib/conceptql/operators/operator.rb +321 -408
  69. data/lib/conceptql/operators/pass_thru.rb +9 -5
  70. data/lib/conceptql/operators/person.rb +12 -2
  71. data/lib/conceptql/operators/person_filter.rb +5 -3
  72. data/lib/conceptql/operators/place_of_service_filter.rb +11 -15
  73. data/lib/conceptql/operators/provenance.rb +25 -36
  74. data/lib/conceptql/operators/provider_filter.rb +40 -14
  75. data/lib/conceptql/operators/race.rb +48 -7
  76. data/lib/conceptql/operators/read.rb +77 -58
  77. data/lib/conceptql/operators/recall.rb +20 -20
  78. data/lib/conceptql/operators/snf.rb +19 -0
  79. data/lib/conceptql/operators/sum.rb +23 -12
  80. data/lib/conceptql/operators/temporal_operator.rb +80 -54
  81. data/lib/conceptql/operators/time_window.rb +13 -15
  82. data/lib/conceptql/operators/trim_date.rb +71 -0
  83. data/lib/conceptql/operators/trim_date_end.rb +20 -40
  84. data/lib/conceptql/operators/trim_date_start.rb +20 -43
  85. data/lib/conceptql/operators/union.rb +59 -35
  86. data/lib/conceptql/operators/vocabulary.rb +151 -0
  87. data/lib/conceptql/paths.rb +41 -0
  88. data/lib/conceptql/query.rb +168 -46
  89. data/lib/conceptql/query_modifiers/gdm/admission_date_query_modifier.rb +46 -0
  90. data/lib/conceptql/query_modifiers/gdm/drug_query_modifier.rb +54 -0
  91. data/lib/conceptql/query_modifiers/gdm/lab_query_modifier.rb +57 -0
  92. data/lib/conceptql/query_modifiers/gdm/pos_query_modifier.rb +46 -0
  93. data/lib/conceptql/query_modifiers/gdm/provenance_query_modifier.rb +45 -0
  94. data/lib/conceptql/query_modifiers/gdm/provider_query_modifier.rb +53 -0
  95. data/lib/conceptql/query_modifiers/gdm_wide/admission_date_query_modifier.rb +42 -0
  96. data/lib/conceptql/query_modifiers/gdm_wide/drug_query_modifier.rb +52 -0
  97. data/lib/conceptql/query_modifiers/gdm_wide/lab_query_modifier.rb +55 -0
  98. data/lib/conceptql/query_modifiers/gdm_wide/pos_query_modifier.rb +37 -0
  99. data/lib/conceptql/query_modifiers/gdm_wide/provenance_query_modifier.rb +38 -0
  100. data/lib/conceptql/query_modifiers/omopv4_plus/admission_date_query_modifier.rb +45 -0
  101. data/lib/conceptql/query_modifiers/omopv4_plus/drug_query_modifier.rb +80 -0
  102. data/lib/conceptql/query_modifiers/omopv4_plus/pos_query_modifier.rb +47 -0
  103. data/lib/conceptql/query_modifiers/omopv4_plus/provenance_query_modifier.rb +45 -0
  104. data/lib/conceptql/query_modifiers/omopv4_plus/provider_query_modifier.rb +26 -0
  105. data/lib/conceptql/query_modifiers/query_modifier.rb +6 -2
  106. data/lib/conceptql/rdbms/duckdb.rb +21 -0
  107. data/lib/conceptql/rdbms/generic.rb +116 -0
  108. data/lib/conceptql/rdbms/postgres.rb +47 -0
  109. data/lib/conceptql/rdbms/spark.rb +18 -0
  110. data/lib/conceptql/rdbms.rb +22 -0
  111. data/lib/conceptql/scope.rb +353 -41
  112. data/lib/conceptql/utils.rb +70 -0
  113. data/lib/conceptql/utils_cli.rb +17 -0
  114. data/lib/conceptql/version.rb +3 -1
  115. data/lib/conceptql/visitors/metadata_extractor.rb +54 -0
  116. data/lib/conceptql/vocabularies/behaviors/costish.rb +24 -0
  117. data/lib/conceptql/vocabularies/behaviors/gdmish.rb +19 -0
  118. data/lib/conceptql/vocabularies/behaviors/omopish.rb +32 -0
  119. data/lib/conceptql/vocabularies/dynamic_vocabularies.rb +63 -0
  120. data/lib/conceptql/vocabularies/entry.rb +138 -0
  121. data/lib/conceptql/vocabularies/vocabulary_class_factory.rb +85 -0
  122. data/lib/conceptql/window/base.rb +26 -0
  123. data/lib/conceptql/window/date_range.rb +25 -0
  124. data/lib/conceptql/window/table.rb +116 -0
  125. data/lib/conceptql/window.rb +72 -0
  126. data/lib/conceptql.rb +53 -10
  127. data/lib/sequel/extensions/pg_ctas_explain.rb +22 -0
  128. data/lib/sequel/extensions/pg_vacuum_table.rb +23 -0
  129. data/schemas/gdm.yml +882 -0
  130. data/schemas/gdm_wide.yml +757 -0
  131. data/schemas/ohdsi_vocabs.yml +143 -0
  132. data/schemas/omopv4_plus.yml +729 -0
  133. data/schemas/omopv4_plus_more_ignorables.tsv +13 -0
  134. metadata +271 -2065
  135. data/.gitignore +0 -25
  136. data/Gemfile +0 -6
  137. data/Guardfile +0 -56
  138. data/LICENSE.txt +0 -22
  139. data/Rakefile +0 -35
  140. data/conceptql.gemspec +0 -31
  141. data/doc/ConceptQL Specification (alpha).pdf +0 -0
  142. data/doc/converter.rb +0 -33
  143. data/doc/diagram_0.png +0 -0
  144. data/doc/implementation_notes.md +0 -39
  145. data/doc/metadata.md +0 -89
  146. data/doc/spec/02f44ad35d266ddd0a4df1691d26bf4a297b30604fc3f44b0391d6d852d23a9f.png +0 -0
  147. data/doc/spec/0360fc0c2b7a88fd82ffc4d13387b76766649d5d42aa8f9349bbf60a81ac6119.png +0 -0
  148. data/doc/spec/04491942fcbd741982514f9eb12aeecf3d54b5b69a2b50c8331f7700169d5521.png +0 -0
  149. data/doc/spec/05f9b844571ffceeed2def3025fb60c68552817b8b73d3c8a76939dbc08b7c65.png +0 -0
  150. data/doc/spec/067241a3579767a802d4f8e20fd35b60adbe377c9a6512ef135f164a5accfb27.png +0 -0
  151. data/doc/spec/1102fa717b1c2df67af5220bf3ae219afafd79be7bba0c117e301983385ada52.png +0 -0
  152. data/doc/spec/11f57941951bad5a75f9a16f38a31a3c6bf3046a475aac6e398e780892fab4ad.png +0 -0
  153. data/doc/spec/15268bc45993d3f57ccf915877f91e48bdee684f24faa614249915833cac4af9.png +0 -0
  154. data/doc/spec/253845fe6162621af407ebd110296ff4f6d8a3f23ec75dfb4ea8cda30be71262.png +0 -0
  155. data/doc/spec/26fd52b5ac55438dd9f81b4a3f3913f1058c9f225c8a5e129007c1e9413d5881.png +0 -0
  156. data/doc/spec/2b57886a9cba66bb696e4b399c51ad0dc95cd64b952709fafc819a79d573f09e.png +0 -0
  157. data/doc/spec/307a8b5a7edd6e42f8be16523a4c939faf1a0533385c861d7004b6af8addd7d1.png +0 -0
  158. data/doc/spec/328467a6a419c7c05e299b8097e5e000686068ded8dc6d5f2e2de6f51976c315.png +0 -0
  159. data/doc/spec/39d6a8eb71cae51b1d6937c97134e51f04fd47c54535ff0915fe6a8b4f197fb2.png +0 -0
  160. data/doc/spec/3f46dee4d775d1a29d52b68af6552f8ea3abd8303094e749714fc77bd7958155.png +0 -0
  161. data/doc/spec/44ec6743d5d77d15b8a487c2058bf3e455d34adc91c46ea05767f6e0e471a75e.png +0 -0
  162. data/doc/spec/462153be527b28dc2cb5259c0aec62e1f529e8b60dc6e9c23fd1e06e8be933c9.png +0 -0
  163. data/doc/spec/4a3b47ed1c54f96ebdae693d41c36c51884c4546ef799a4108085708fb7b964e.png +0 -0
  164. data/doc/spec/514f263e976d07c0d9e0a86c79bcbdcddc7d444d7b72135294ad78758effd28f.png +0 -0
  165. data/doc/spec/58113a57a37431a402d2547369eba3a481bf1dbbfd82dc384406a5c91f6df01f.png +0 -0
  166. data/doc/spec/5d331d74c460d75814b2d3138a9b7d90b5ddb2dcd85e1f5f260d183745fc3a1e.png +0 -0
  167. data/doc/spec/5d6ff62038b75d6f240d65f35d1520a131c221f47d3801554c8c2be5d528ebb0.png +0 -0
  168. data/doc/spec/62323426e381ec21c967971a67e1f4a6d89dae92154bd937284e00b67f67fdd3.png +0 -0
  169. data/doc/spec/6705af65d728c0d5c50d6c4d46253017a91eb459dbb1f40f92449f05d5562f4a.png +0 -0
  170. data/doc/spec/68fac940a32c7e40caacf8e560c61da552d57633d015ba98f2e98ec040a00c5b.png +0 -0
  171. data/doc/spec/6a34c0ef589c9c976fe41f3e67e799e198499f5b9c3ebfd240fb91f73e893573.png +0 -0
  172. data/doc/spec/6b48534236697d1ccfa1f5403764782f9d228f9eb706789cfa80203882b7b13a.png +0 -0
  173. data/doc/spec/7aa76b4d29874719466c2cbafc9936e9f12e504bf31e1a09d26ca3fffa8ba1a6.png +0 -0
  174. data/doc/spec/7b9db2986ab9ada45cfb9451ef87ff1a2d99c908083334b7ccdceb8a92387fa9.png +0 -0
  175. data/doc/spec/8101d9b89d9ba8070d585432707b43a8acdb4c2a3e9d37c3f7114b5e3ea9e800.png +0 -0
  176. data/doc/spec/886bf85249a704668a55c5161bceaac10be4a41a94b91606f49851dfa017526c.png +0 -0
  177. data/doc/spec/8ed478d8c81a58a202d0c51348fca246df206fc24a0567b163d4e0bdab56ca46.png +0 -0
  178. data/doc/spec/9139440329dcb815df89bc70182c3827868402a74ff64d0253706dcaff723dca.png +0 -0
  179. data/doc/spec/99392f56dfb0e5be3f45a12a7f1ba846d094e430f526dfeaa30b606837cd34c0.png +0 -0
  180. data/doc/spec/a4450e8c0fe0e2fde92fe9bd61952f907b1976c1aa3ba963b809bed079d42b09.png +0 -0
  181. data/doc/spec/a4bc7382a1154ea9856544fd48418f3dd9ce474ca94b8859fc323749c6cc1f55.png +0 -0
  182. data/doc/spec/a79274742cf6fac6f6c9f4a0eb651aeb452f9c43b537c8e6ccaefecd05b7105c.png +0 -0
  183. data/doc/spec/a9b4528726adec2a90f3f00139d8d0492f13c51f03c2f9ed6a5134b1b26b44a9.png +0 -0
  184. data/doc/spec/af5ae3787e80bf0771f18f1a04fe4c5d9291e1e0f963ac408a7bc198d2f1ee28.png +0 -0
  185. data/doc/spec/ba572c4f4dbade65be55f141df16cf7b3e7d09e0aec4e4e5debc4f2075277371.png +0 -0
  186. data/doc/spec/ba90ef705f7be91c53c5eb4a81a439fa0f7c48532214bd3db3cc5c069160543e.png +0 -0
  187. data/doc/spec/c1d0402862221d85aceedc7d76b3f82149b612cbd972f14d0ca9011e1e2c455c.png +0 -0
  188. data/doc/spec/c2157d8a6b73abe4f22ba5042159f32502c74bf6d762be28d2df6831586822c7.png +0 -0
  189. data/doc/spec/c5329a7f4937096a57b2e01efb9d542f84a4e2329a1e9381d08c630583ccad37.png +0 -0
  190. data/doc/spec/c82077b9455d0f9abc2c45ee1a298e38b99c9ce9cd685f65d87b376d7718d7ad.png +0 -0
  191. data/doc/spec/c93dd18894a245a5647f99e1867d3779e4cd34c9c8f8860600ff0c837a5ffa53.png +0 -0
  192. data/doc/spec/cc960a268d51ccf2ebde657d36848f780213834844900018bce3d111843f7b0f.png +0 -0
  193. data/doc/spec/d39452b58257c95a7cba07afed4877417b0c227f3690e2bff22c9eca89eac845.png +0 -0
  194. data/doc/spec/d64993258ffbef9406d9ab9136de7af530626b3a69e9eeb75835e11f11dabf62.png +0 -0
  195. data/doc/spec/da450cdd0c94a1301bd98560339a45caa8041e09974352a56ecfb144e9a5e4d4.png +0 -0
  196. data/doc/spec/dbc66b3ae6bd7123d77dd04b64f8a24498d048725a55c5340b15f5ae0a1ff307.png +0 -0
  197. data/doc/spec/de589af36fa854e006a1563c93e644e2210f2a5616babb779f7f38aadb6c1ed7.png +0 -0
  198. data/doc/spec/defbd0b853d895802663f507761ad297d82e167f516c6082686a2a19b76012c5.png +0 -0
  199. data/doc/spec/e1cb0863b21e14256d61a54200316791f6547c78ba2f0156c110f4500f9bbd49.png +0 -0
  200. data/doc/spec/e8630103287f7c9d28eff40b3b1826e24846e776b877f7b8554257acbe621e1c.png +0 -0
  201. data/doc/spec/e9b384fa7dec5f1a06479c4b289e06b1e60e4f23f7630aff6d03c52595f500f8.png +0 -0
  202. data/doc/spec/ea935ac31f3b57ff373646780a1fba34a38c9e086dc771eb7fc16c65a7e20cfc.png +0 -0
  203. data/doc/spec/eb8f5511f7d88bd0f8ba73420fc10f7c78405db7f4373d778a827058707f888e.png +0 -0
  204. data/doc/spec/ebacbd092e3d1a3c7b745a381e51e8ff9d63a21db23a16940193e18e57bc866f.png +0 -0
  205. data/doc/spec/ed039f82867241393b1a6a7153d3690461103934c72c1f3eaa3d99a12bb40885.png +0 -0
  206. data/doc/spec/ee283d6a4b69cf10da2df703be3a16830be9cd8cd4f68c5f7afdf558ea28fa76.png +0 -0
  207. data/doc/spec/f0c734b099841a754ae0366afb00e992ad4814479b65e4a7de23c6e3dd85c09a.png +0 -0
  208. data/doc/spec/f6b4fc31703cfb6327bbbd4614af8bb72da6d39fa3d53ada63a70157f2fad80e.png +0 -0
  209. data/doc/spec/f766f2e3aa13420e3ba0f823ac7956b311ed7c6c20be26b72324fadd87f36712.png +0 -0
  210. data/doc/spec/ff7d5b5573d09bd7c4cdd3aeda124d18bf82ec46673a62881b399a75d69f3f53.png +0 -0
  211. data/doc/spec.md +0 -2258
  212. data/doc/spec.md.cql +0 -1930
  213. data/lib/conceptql/annotate_grapher.rb +0 -127
  214. data/lib/conceptql/fake_annotater.rb +0 -129
  215. data/lib/conceptql/knitter.rb +0 -221
  216. data/lib/conceptql/logger.rb +0 -10
  217. data/lib/conceptql/operators/complement.rb +0 -43
  218. data/lib/conceptql/operators/condition_occurrence_source_vocabulary_operator.rb +0 -34
  219. data/lib/conceptql/operators/condition_occurrence_source_vocabulary_operator_union.rb +0 -28
  220. data/lib/conceptql/operators/condition_type.rb +0 -79
  221. data/lib/conceptql/operators/cpt.rb +0 -28
  222. data/lib/conceptql/operators/cpt_or_hcpcs.rb +0 -27
  223. data/lib/conceptql/operators/drg.rb +0 -42
  224. data/lib/conceptql/operators/drug_type_concept.rb +0 -30
  225. data/lib/conceptql/operators/from_seer_visits.rb +0 -29
  226. data/lib/conceptql/operators/hcpcs.rb +0 -28
  227. data/lib/conceptql/operators/icd10.rb +0 -19
  228. data/lib/conceptql/operators/icd10_pcs.rb +0 -28
  229. data/lib/conceptql/operators/icd9.rb +0 -19
  230. data/lib/conceptql/operators/icd9_procedure.rb +0 -28
  231. data/lib/conceptql/operators/intersect.rb +0 -39
  232. data/lib/conceptql/operators/loinc.rb +0 -28
  233. data/lib/conceptql/operators/medcode.rb +0 -17
  234. data/lib/conceptql/operators/medcode_procedure.rb +0 -28
  235. data/lib/conceptql/operators/ndc.rb +0 -32
  236. data/lib/conceptql/operators/observation_by_enttype.rb +0 -32
  237. data/lib/conceptql/operators/observation_period.rb +0 -32
  238. data/lib/conceptql/operators/overlapped_by.rb +0 -26
  239. data/lib/conceptql/operators/overlaps.rb +0 -21
  240. data/lib/conceptql/operators/place_of_service_code.rb +0 -31
  241. data/lib/conceptql/operators/procedure_occurrence.rb +0 -27
  242. data/lib/conceptql/operators/prodcode.rb +0 -32
  243. data/lib/conceptql/operators/revenue_code.rb +0 -40
  244. data/lib/conceptql/operators/rxnorm.rb +0 -28
  245. data/lib/conceptql/operators/snomed.rb +0 -25
  246. data/lib/conceptql/operators/source_vocabulary_operator.rb +0 -88
  247. data/lib/conceptql/operators/standard_vocabulary_operator.rb +0 -66
  248. data/lib/conceptql/operators/started_by.rb +0 -23
  249. data/lib/conceptql/operators/to_seer_visits.rb +0 -29
  250. data/lib/conceptql/operators/visit_occurrence.rb +0 -32
  251. data/lib/conceptql/operators/vocabulary_operator.rb +0 -45
  252. data/lib/conceptql/query_modifiers/drug_query_modifier.rb +0 -45
  253. data/lib/conceptql/query_modifiers/pos_query_modifier.rb +0 -31
  254. data/lib/conceptql/sql_formatter.rb +0 -22
  255. data/test/all.rb +0 -3
  256. data/test/all_operations_test.rb +0 -45
  257. data/test/code_list_test.rb +0 -23
  258. data/test/data/omopv4/care_site.csv +0 -0
  259. data/test/data/omopv4/cohort.csv +0 -0
  260. data/test/data/omopv4/condition_era.csv +0 -0
  261. data/test/data/omopv4/condition_occurrence.csv +0 -34044
  262. data/test/data/omopv4/death.csv +0 -1
  263. data/test/data/omopv4/drug_cost.csv +0 -0
  264. data/test/data/omopv4/drug_era.csv +0 -0
  265. data/test/data/omopv4/drug_exposure.csv +0 -2
  266. data/test/data/omopv4/location.csv +0 -0
  267. data/test/data/omopv4/observation.csv +0 -2
  268. data/test/data/omopv4/observation_period.csv +0 -1
  269. data/test/data/omopv4/organization.csv +0 -0
  270. data/test/data/omopv4/payer_plan_period.csv +0 -0
  271. data/test/data/omopv4/person.csv +0 -250
  272. data/test/data/omopv4/procedure_cost.csv +0 -0
  273. data/test/data/omopv4/procedure_occurrence.csv +0 -35099
  274. data/test/data/omopv4/provider.csv +0 -0
  275. data/test/data/omopv4/visit_occurrence.csv +0 -14931
  276. data/test/data/omopv4_plus/care_site.csv +0 -0
  277. data/test/data/omopv4_plus/cohort.csv +0 -0
  278. data/test/data/omopv4_plus/concept.csv +0 -352
  279. data/test/data/omopv4_plus/condition_era.csv +0 -0
  280. data/test/data/omopv4_plus/condition_occurrence.csv +0 -46673
  281. data/test/data/omopv4_plus/death.csv +0 -9
  282. data/test/data/omopv4_plus/drug_cost.csv +0 -13921
  283. data/test/data/omopv4_plus/drug_era.csv +0 -0
  284. data/test/data/omopv4_plus/drug_exposure.csv +0 -13921
  285. data/test/data/omopv4_plus/headers/care_site.csv +0 -1
  286. data/test/data/omopv4_plus/headers/cohort.csv +0 -1
  287. data/test/data/omopv4_plus/headers/concept.csv +0 -1
  288. data/test/data/omopv4_plus/headers/condition_era.csv +0 -1
  289. data/test/data/omopv4_plus/headers/condition_occurrence.csv +0 -1
  290. data/test/data/omopv4_plus/headers/death.csv +0 -1
  291. data/test/data/omopv4_plus/headers/drug_cost.csv +0 -1
  292. data/test/data/omopv4_plus/headers/drug_era.csv +0 -1
  293. data/test/data/omopv4_plus/headers/drug_exposure.csv +0 -1
  294. data/test/data/omopv4_plus/headers/location.csv +0 -1
  295. data/test/data/omopv4_plus/headers/observation.csv +0 -1
  296. data/test/data/omopv4_plus/headers/observation_period.csv +0 -1
  297. data/test/data/omopv4_plus/headers/organization.csv +0 -1
  298. data/test/data/omopv4_plus/headers/payer_plan_period.csv +0 -1
  299. data/test/data/omopv4_plus/headers/person.csv +0 -1
  300. data/test/data/omopv4_plus/headers/procedure_cost.csv +0 -1
  301. data/test/data/omopv4_plus/headers/procedure_occurrence.csv +0 -1
  302. data/test/data/omopv4_plus/headers/provider.csv +0 -1
  303. data/test/data/omopv4_plus/headers/source_to_concept_map.csv +0 -1
  304. data/test/data/omopv4_plus/headers/visit_occurrence.csv +0 -1
  305. data/test/data/omopv4_plus/headers/vocabulary.csv +0 -1
  306. data/test/data/omopv4_plus/location.csv +0 -0
  307. data/test/data/omopv4_plus/observation.csv +0 -0
  308. data/test/data/omopv4_plus/observation_period.csv +0 -147
  309. data/test/data/omopv4_plus/organization.csv +0 -736
  310. data/test/data/omopv4_plus/payer_plan_period.csv +0 -808
  311. data/test/data/omopv4_plus/person.csv +0 -250
  312. data/test/data/omopv4_plus/procedure_cost.csv +0 -20123
  313. data/test/data/omopv4_plus/procedure_occurrence.csv +0 -27273
  314. data/test/data/omopv4_plus/provider.csv +0 -10193
  315. data/test/data/omopv4_plus/source_to_concept_map.csv +0 -285
  316. data/test/data/omopv4_plus/visit_occurrence.csv +0 -45125
  317. data/test/data/omopv4_plus/vocabulary.csv +0 -60
  318. data/test/db.rb +0 -15
  319. data/test/db_setup.rb +0 -408
  320. data/test/db_teardown.rb +0 -33
  321. data/test/fake_annotater_test.rb +0 -31
  322. data/test/helper.rb +0 -129
  323. data/test/knitter/conceptql.md.cql +0 -39
  324. data/test/knitter/conceptql.md.expect +0 -43
  325. data/test/knitter/empty.md.cql +0 -0
  326. data/test/knitter/except.md.cql +0 -13
  327. data/test/knitter/except.md.expect +0 -14
  328. data/test/knitter/fake.md.cql +0 -10
  329. data/test/knitter/fake.md.expect +0 -13
  330. data/test/knitter/many.md.cql +0 -7
  331. data/test/knitter/many.md.expect +0 -14
  332. data/test/knitter/no_conceptql.md.cql +0 -36
  333. data/test/knitter/title.md.cql +0 -12
  334. data/test/knitter/title.md.expect +0 -15
  335. data/test/knitter/union.md.cql +0 -11
  336. data/test/knitter/union.md.expect +0 -14
  337. data/test/knitter_test.rb +0 -69
  338. data/test/query_test.rb +0 -36
  339. data/test/results/omopv4/after/anno_1 +0 -25
  340. data/test/results/omopv4/after/anno_2 +0 -48
  341. data/test/results/omopv4/after/anno_3 +0 -34
  342. data/test/results/omopv4/after/anno_4 +0 -60
  343. data/test/results/omopv4/after/anno_5 +0 -68
  344. data/test/results/omopv4/after/anno_6 +0 -60
  345. data/test/results/omopv4/after/crit_at_least +0 -7
  346. data/test/results/omopv4/after/crit_basic +0 -32
  347. data/test/results/omopv4/after/crit_occurrences +0 -12
  348. data/test/results/omopv4/after/crit_within +0 -6
  349. data/test/results/omopv4/any_overlap/crit_basic1 +0 -15
  350. data/test/results/omopv4/any_overlap/crit_basic2 +0 -15
  351. data/test/results/omopv4/any_overlap/crit_occurrences1 +0 -2
  352. data/test/results/omopv4/any_overlap/crit_occurrences2 +0 -15
  353. data/test/results/omopv4/any_overlap/crit_within +0 -8
  354. data/test/results/omopv4/before/crit_at_least +0 -6
  355. data/test/results/omopv4/before/crit_basic1 +0 -48
  356. data/test/results/omopv4/before/crit_basic2 +0 -7
  357. data/test/results/omopv4/before/crit_occurrences +0 -13
  358. data/test/results/omopv4/before/crit_within +0 -18
  359. data/test/results/omopv4/co_reported/anno_1 +0 -43
  360. data/test/results/omopv4/co_reported/anno_2 +0 -66
  361. data/test/results/omopv4/complement/anno_duplicate_params +0 -52
  362. data/test/results/omopv4/complement/anno_invalid_params +0 -37
  363. data/test/results/omopv4/complement/anno_no_params +0 -18
  364. data/test/results/omopv4/complement/count_3way_intersect +0 -4
  365. data/test/results/omopv4/complement/count_3way_union +0 -4
  366. data/test/results/omopv4/complement/count_intersect +0 -3
  367. data/test/results/omopv4/complement/count_union +0 -3
  368. data/test/results/omopv4/complement/count_union_and_intersect +0 -4
  369. data/test/results/omopv4/complement/crit_3way_intersect +0 -1
  370. data/test/results/omopv4/complement/crit_3way_union +0 -1
  371. data/test/results/omopv4/complement/crit_basic1 +0 -33998
  372. data/test/results/omopv4/complement/crit_icd9_selector +0 -54
  373. data/test/results/omopv4/complement/crit_intersect +0 -1
  374. data/test/results/omopv4/complement/crit_union +0 -1
  375. data/test/results/omopv4/complement/crit_union_and_intersect +0 -1
  376. data/test/results/omopv4/complex/anno_1 +0 -85
  377. data/test/results/omopv4/complex/crit_1 +0 -2
  378. data/test/results/omopv4/complex/crit_2 +0 -2
  379. data/test/results/omopv4/complex/crit_3 +0 -2
  380. data/test/results/omopv4/complex/crit_4 +0 -5
  381. data/test/results/omopv4/complex/crit_5 +0 -6
  382. data/test/results/omopv4/complex/crit_6 +0 -28
  383. data/test/results/omopv4/complex/crit_7 +0 -46
  384. data/test/results/omopv4/complex/crit_out_of_order_ctes +0 -7
  385. data/test/results/omopv4/complex/scanno_1 +0 -3
  386. data/test/results/omopv4/concurrent_within/crit_icd9 +0 -54
  387. data/test/results/omopv4/concurrent_within/crit_icd9_and_place_of_service +0 -23
  388. data/test/results/omopv4/concurrent_within/crit_negative_start +0 -5
  389. data/test/results/omopv4/condition_type/anno_icd9 +0 -39
  390. data/test/results/omopv4/condition_type/count_condition_era +0 -2
  391. data/test/results/omopv4/condition_type/count_condition_era_30_day_window +0 -2
  392. data/test/results/omopv4/condition_type/count_ehr_problem_list +0 -2
  393. data/test/results/omopv4/condition_type/count_era_0 +0 -2
  394. data/test/results/omopv4/condition_type/count_inpatient +0 -3
  395. data/test/results/omopv4/condition_type/count_inpatient_detail +0 -2
  396. data/test/results/omopv4/condition_type/count_inpatient_header +0 -3
  397. data/test/results/omopv4/condition_type/count_inpatient_header_2 +0 -3
  398. data/test/results/omopv4/condition_type/count_inpatient_header_3 +0 -3
  399. data/test/results/omopv4/condition_type/count_inpatient_header_4 +0 -3
  400. data/test/results/omopv4/condition_type/count_inpatient_header_5 +0 -3
  401. data/test/results/omopv4/condition_type/count_inpatient_outpatient_detail +0 -3
  402. data/test/results/omopv4/condition_type/count_inpatient_primary +0 -2
  403. data/test/results/omopv4/condition_type/count_inpatient_primary_or_first +0 -3
  404. data/test/results/omopv4/condition_type/count_outpatient +0 -3
  405. data/test/results/omopv4/condition_type/count_outpatient_detail +0 -3
  406. data/test/results/omopv4/condition_type/count_outpatient_header +0 -2
  407. data/test/results/omopv4/condition_type/count_outpatient_primary +0 -3
  408. data/test/results/omopv4/condition_type/count_primary +0 -3
  409. data/test/results/omopv4/condition_type/crit_condition_era +0 -1
  410. data/test/results/omopv4/condition_type/crit_condition_era_30_day_window +0 -1
  411. data/test/results/omopv4/condition_type/crit_ehr_problem_list +0 -1
  412. data/test/results/omopv4/condition_type/crit_era_0 +0 -1
  413. data/test/results/omopv4/condition_type/crit_inpatient +0 -1
  414. data/test/results/omopv4/condition_type/crit_inpatient_detail +0 -1
  415. data/test/results/omopv4/condition_type/crit_inpatient_header +0 -1
  416. data/test/results/omopv4/condition_type/crit_inpatient_header_2 +0 -1
  417. data/test/results/omopv4/condition_type/crit_inpatient_header_3 +0 -1
  418. data/test/results/omopv4/condition_type/crit_inpatient_header_4 +0 -1
  419. data/test/results/omopv4/condition_type/crit_inpatient_header_5 +0 -1
  420. data/test/results/omopv4/condition_type/crit_inpatient_primary +0 -1
  421. data/test/results/omopv4/condition_type/crit_inpatient_primary_or_first +0 -1
  422. data/test/results/omopv4/condition_type/crit_outpatient +0 -1
  423. data/test/results/omopv4/condition_type/crit_outpatient_detail +0 -1
  424. data/test/results/omopv4/condition_type/crit_outpatient_header +0 -1
  425. data/test/results/omopv4/condition_type/crit_outpatient_primary +0 -1
  426. data/test/results/omopv4/condition_type/crit_primary +0 -1
  427. data/test/results/omopv4/contains/crit_1 +0 -5
  428. data/test/results/omopv4/contains/crit_2 +0 -2
  429. data/test/results/omopv4/contains/crit_3 +0 -2
  430. data/test/results/omopv4/count/anno_multiple_upstreams +0 -52
  431. data/test/results/omopv4/count/anno_no_upstream1 +0 -18
  432. data/test/results/omopv4/count/anno_no_upstream2 +0 -25
  433. data/test/results/omopv4/count/crit_icd9_ndc +0 -8
  434. data/test/results/omopv4/count/crit_ndc +0 -5
  435. data/test/results/omopv4/count/crit_person +0 -254
  436. data/test/results/omopv4/cpt/anno_icd9_upstream +0 -40
  437. data/test/results/omopv4/cpt/anno_invalid_code +0 -22
  438. data/test/results/omopv4/cpt/count_1 +0 -3
  439. data/test/results/omopv4/cpt/crit_1 +0 -174
  440. data/test/results/omopv4/cpt/crit_2 +0 -1
  441. data/test/results/omopv4/cpt/scanno_1 +0 -17
  442. data/test/results/omopv4/cpt_or_hcpcs/anno_bad_format +0 -25
  443. data/test/results/omopv4/cpt_or_hcpcs/count_1 +0 -3
  444. data/test/results/omopv4/cpt_or_hcpcs/crit_1 +0 -179
  445. data/test/results/omopv4/cpt_or_hcpcs/crit_2 +0 -1
  446. data/test/results/omopv4/date_range/anno_1 +0 -15
  447. data/test/results/omopv4/date_range/anno_extra_argument +0 -24
  448. data/test/results/omopv4/date_range/anno_invalid_argument +0 -25
  449. data/test/results/omopv4/date_range/anno_missing_argument1 +0 -20
  450. data/test/results/omopv4/date_range/anno_missing_argument2 +0 -20
  451. data/test/results/omopv4/date_range/anno_no_upstreams +0 -38
  452. data/test/results/omopv4/date_range/count_1 +0 -3
  453. data/test/results/omopv4/date_range/count_2 +0 -3
  454. data/test/results/omopv4/date_range/crit_1 +0 -1
  455. data/test/results/omopv4/date_range/crit_2 +0 -1
  456. data/test/results/omopv4/death/anno_multiple_upstreams +0 -50
  457. data/test/results/omopv4/death/anno_no_upstreams +0 -22
  458. data/test/results/omopv4/death/crit_basic +0 -5
  459. data/test/results/omopv4/death/crit_person +0 -5
  460. data/test/results/omopv4/drug_type_concept/anno_has_upstreams +0 -37
  461. data/test/results/omopv4/drug_type_concept/anno_no_arguments +0 -18
  462. data/test/results/omopv4/drug_type_concept/crit_basic1 +0 -5
  463. data/test/results/omopv4/drug_type_concept/crit_basic2 +0 -2
  464. data/test/results/omopv4/during/crit_1 +0 -15
  465. data/test/results/omopv4/during/crit_2 +0 -2
  466. data/test/results/omopv4/equal/crit_1 +0 -5
  467. data/test/results/omopv4/equal/crit_2 +0 -5
  468. data/test/results/omopv4/except/anno_1 +0 -42
  469. data/test/results/omopv4/except/anno_2 +0 -43
  470. data/test/results/omopv4/except/count_complex +0 -5
  471. data/test/results/omopv4/except/crit_412_cpt +0 -54
  472. data/test/results/omopv4/except/crit_412_inpatient +0 -46
  473. data/test/results/omopv4/except/crit_complex +0 -1
  474. data/test/results/omopv4/filter/crit_1 +0 -54
  475. data/test/results/omopv4/first/anno_argument +0 -25
  476. data/test/results/omopv4/first/anno_no_upstream +0 -18
  477. data/test/results/omopv4/first/crit_cpt +0 -207
  478. data/test/results/omopv4/first/crit_icd9 +0 -42
  479. data/test/results/omopv4/first/crit_union +0 -45
  480. data/test/results/omopv4/from/anno_has_upstreams +0 -39
  481. data/test/results/omopv4/from/anno_multiple_arguments +0 -24
  482. data/test/results/omopv4/from/count_condition_occurrence +0 -3
  483. data/test/results/omopv4/from/count_observation_period +0 -3
  484. data/test/results/omopv4/from/count_person +0 -3
  485. data/test/results/omopv4/from_seer_visits/anno_multiple_upstreams +0 -78
  486. data/test/results/omopv4/from_seer_visits/anno_no_upstream +0 -18
  487. data/test/results/omopv4/from_seer_visits/crit_1 +0 -6
  488. data/test/results/omopv4/from_seer_visits/crit_2 +0 -5
  489. data/test/results/omopv4/from_seer_visits/crit_3 +0 -5
  490. data/test/results/omopv4/from_seer_visits/crit_4 +0 -6
  491. data/test/results/omopv4/gender/anno_has_upstreams +0 -39
  492. data/test/results/omopv4/gender/crit_male +0 -130
  493. data/test/results/omopv4/hcpcs/anno_bad_format +0 -24
  494. data/test/results/omopv4/hcpcs/crit_A0382 +0 -9
  495. data/test/results/omopv4/icd10/anno_bad_format +0 -22
  496. data/test/results/omopv4/icd10/anno_has_upstreams +0 -40
  497. data/test/results/omopv4/icd10/crit_1 +0 -5
  498. data/test/results/omopv4/icd10pcs/anno_bad_format +0 -28
  499. data/test/results/omopv4/icd10pcs/anno_has_upstreams +0 -40
  500. data/test/results/omopv4/icd10pcs/crit_1 +0 -2
  501. data/test/results/omopv4/icd9/anno_empty_label +0 -15
  502. data/test/results/omopv4/icd9/anno_invalid_code +0 -21
  503. data/test/results/omopv4/icd9/crit_1 +0 -54
  504. data/test/results/omopv4/icd9_procedure/crit_1 +0 -5
  505. data/test/results/omopv4/intersect/anno_412_inpatient +0 -42
  506. data/test/results/omopv4/intersect/anno_has_arguments +0 -25
  507. data/test/results/omopv4/intersect/anno_no_upstream +0 -18
  508. data/test/results/omopv4/intersect/crit_412_inpatient +0 -12
  509. data/test/results/omopv4/intersect/crit_412_male +0 -182
  510. data/test/results/omopv4/intersect/crit_complex +0 -118
  511. data/test/results/omopv4/invalid/anno_bad_op +0 -55
  512. data/test/results/omopv4/invalid/scanno_1 +0 -23
  513. data/test/results/omopv4/last/crit_icd9 +0 -42
  514. data/test/results/omopv4/loinc/crit_basic +0 -5
  515. data/test/results/omopv4/ndc/crit_basic +0 -5
  516. data/test/results/omopv4/numeric/anno_multiple_upstreams +0 -59
  517. data/test/results/omopv4/numeric/num_values_1 +0 -254
  518. data/test/results/omopv4/numeric/num_values_2 +0 -5
  519. data/test/results/omopv4/numeric/num_values_3 +0 -5
  520. data/test/results/omopv4/observation_period/anno_has_arguments +0 -36
  521. data/test/results/omopv4/observation_period/anno_multiple_upstreams +0 -51
  522. data/test/results/omopv4/observation_period/count_all_periods +0 -3
  523. data/test/results/omopv4/observation_period/crit_female +0 -2
  524. data/test/results/omopv4/observation_period/crit_icd9 +0 -5
  525. data/test/results/omopv4/observation_period/crit_male +0 -5
  526. data/test/results/omopv4/occurrence/anno_no_upstream +0 -22
  527. data/test/results/omopv4/occurrence/cc_412_410 +0 -1
  528. data/test/results/omopv4/occurrence/count_412_410 +0 -3
  529. data/test/results/omopv4/occurrence/crit_1 +0 -16
  530. data/test/results/omopv4/occurrence/crit_2 +0 -2
  531. data/test/results/omopv4/occurrence/crit_3 +0 -42
  532. data/test/results/omopv4/one_in_two_out/anno_has_arguments +0 -27
  533. data/test/results/omopv4/one_in_two_out/anno_multiple_upstreams +0 -54
  534. data/test/results/omopv4/one_in_two_out/anno_no_upstream +0 -20
  535. data/test/results/omopv4/one_in_two_out/count_1 +0 -3
  536. data/test/results/omopv4/one_in_two_out/crit_hcpcs +0 -7
  537. data/test/results/omopv4/one_in_two_out/crit_icd9 +0 -21
  538. data/test/results/omopv4/overlapped_by/crit_1 +0 -5
  539. data/test/results/omopv4/overlapped_by/crit_2 +0 -2
  540. data/test/results/omopv4/overlapped_by/crit_3 +0 -5
  541. data/test/results/omopv4/overlapped_by/crit_4 +0 -2
  542. data/test/results/omopv4/overlaps/crit_1 +0 -5
  543. data/test/results/omopv4/overlaps/crit_2 +0 -2
  544. data/test/results/omopv4/overlaps/crit_3 +0 -5
  545. data/test/results/omopv4/overlaps/crit_4 +0 -2
  546. data/test/results/omopv4/person/anno_has_arguments +0 -22
  547. data/test/results/omopv4/person/anno_multiple_upstreams +0 -52
  548. data/test/results/omopv4/person/count_2 +0 -3
  549. data/test/results/omopv4/person/crit_1 +0 -42
  550. data/test/results/omopv4/person/crit_2 +0 -1
  551. data/test/results/omopv4/person_filter/count_1 +0 -4
  552. data/test/results/omopv4/person_filter/crit_1 +0 -54
  553. data/test/results/omopv4/person_filter/crit_2 +0 -5
  554. data/test/results/omopv4/person_filter/crit_3 +0 -32
  555. data/test/results/omopv4/person_filter/crit_4 +0 -52
  556. data/test/results/omopv4/person_filter/crit_5 +0 -1
  557. data/test/results/omopv4/place_of_service_code/anno_has_upstreams +0 -37
  558. data/test/results/omopv4/place_of_service_code/anno_no_arguments +0 -18
  559. data/test/results/omopv4/place_of_service_code/crit_basic +0 -174
  560. data/test/results/omopv4/place_of_service_filter/anno_1 +0 -29
  561. data/test/results/omopv4/procedure_occurrence/anno_has_arguments +0 -37
  562. data/test/results/omopv4/procedure_occurrence/anno_multiple_upstreams +0 -51
  563. data/test/results/omopv4/procedure_occurrence/count_gender +0 -3
  564. data/test/results/omopv4/procedure_occurrence/count_icd9 +0 -3
  565. data/test/results/omopv4/procedure_occurrence/count_started_by +0 -3
  566. data/test/results/omopv4/procedure_occurrence/crit_gender +0 -1
  567. data/test/results/omopv4/procedure_occurrence/crit_icd9 +0 -1
  568. data/test/results/omopv4/procedure_occurrence/crit_started_by +0 -1
  569. data/test/results/omopv4/provenance/anno_1 +0 -29
  570. data/test/results/omopv4/provider_filter/anno_1 +0 -29
  571. data/test/results/omopv4/race/anno_1 +0 -37
  572. data/test/results/omopv4/race/anno_2 +0 -18
  573. data/test/results/omopv4/race/crit_1 +0 -28
  574. data/test/results/omopv4/read/anno_1 +0 -21
  575. data/test/results/omopv4/read/crit_1 +0 -2
  576. data/test/results/omopv4/recall/anno_1 +0 -54
  577. data/test/results/omopv4/recall/anno_2 +0 -66
  578. data/test/results/omopv4/recall/anno_3 +0 -20
  579. data/test/results/omopv4/recall/anno_4 +0 -18
  580. data/test/results/omopv4/recall/anno_5 +0 -24
  581. data/test/results/omopv4/recall/anno_6 +0 -270
  582. data/test/results/omopv4/recall/crit_1 +0 -21
  583. data/test/results/omopv4/recall/crit_2 +0 -54
  584. data/test/results/omopv4/recall/crit_3 +0 -2
  585. data/test/results/omopv4/recall/crit_cte_1 +0 -42
  586. data/test/results/omopv4/recall/crit_cte_2 +0 -42
  587. data/test/results/omopv4/recall/crit_nested_perm_0 +0 -54
  588. data/test/results/omopv4/revenue_code/crit_1 +0 -2
  589. data/test/results/omopv4/revenue_code/crit_basic +0 -2
  590. data/test/results/omopv4/revenue_code/domains_1 +0 -3
  591. data/test/results/omopv4/revenue_code/domains_drg100 +0 -3
  592. data/test/results/omopv4/rxnorm/crit_1 +0 -5
  593. data/test/results/omopv4/snomed/crit_1 +0 -84
  594. data/test/results/omopv4/started_by/crit_1 +0 -5
  595. data/test/results/omopv4/started_by/crit_2 +0 -2
  596. data/test/results/omopv4/started_by/crit_3 +0 -2
  597. data/test/results/omopv4/sum/anno_1 +0 -18
  598. data/test/results/omopv4/sum/anno_2 +0 -36
  599. data/test/results/omopv4/sum/num_1 +0 -5
  600. data/test/results/omopv4/sum/num_2 +0 -8
  601. data/test/results/omopv4/sum/num_3 +0 -254
  602. data/test/results/omopv4/time_window/anno_1 +0 -20
  603. data/test/results/omopv4/time_window/anno_2 +0 -40
  604. data/test/results/omopv4/time_window/anno_3 +0 -36
  605. data/test/results/omopv4/time_window/anno_4 +0 -39
  606. data/test/results/omopv4/time_window/anno_5 +0 -57
  607. data/test/results/omopv4/time_window/crit_1 +0 -54
  608. data/test/results/omopv4/time_window/crit_2 +0 -174
  609. data/test/results/omopv4/time_window/crit_3 +0 -54
  610. data/test/results/omopv4/time_window/crit_4 +0 -174
  611. data/test/results/omopv4/trim_date_end/crit_1 +0 -5
  612. data/test/results/omopv4/trim_date_end/crit_2 +0 -2
  613. data/test/results/omopv4/trim_date_end/crit_3 +0 -6
  614. data/test/results/omopv4/trim_date_end/crit_at_least +0 -5
  615. data/test/results/omopv4/trim_date_end/crit_occurrences_1 +0 -2
  616. data/test/results/omopv4/trim_date_end/crit_occurrences_2 +0 -6
  617. data/test/results/omopv4/trim_date_end/crit_within +0 -5
  618. data/test/results/omopv4/trim_date_start/crit_1 +0 -5
  619. data/test/results/omopv4/trim_date_start/crit_2 +0 -2
  620. data/test/results/omopv4/trim_date_start/crit_3 +0 -6
  621. data/test/results/omopv4/trim_date_start/crit_at_least +0 -5
  622. data/test/results/omopv4/trim_date_start/crit_occurrences_1 +0 -2
  623. data/test/results/omopv4/trim_date_start/crit_occurrences_2 +0 -6
  624. data/test/results/omopv4/trim_date_start/crit_within +0 -5
  625. data/test/results/omopv4/union/anno_1 +0 -43
  626. data/test/results/omopv4/union/anno_2 +0 -74
  627. data/test/results/omopv4/union/anno_3 +0 -18
  628. data/test/results/omopv4/union/anno_4 +0 -25
  629. data/test/results/omopv4/union/anno_5 +0 -33
  630. data/test/results/omopv4/union/anno_6 +0 -46
  631. data/test/results/omopv4/union/cc_1 +0 -1
  632. data/test/results/omopv4/union/cc_2 +0 -1
  633. data/test/results/omopv4/union/cc_3 +0 -1
  634. data/test/results/omopv4/union/cc_4 +0 -1
  635. data/test/results/omopv4/union/cc_5 +0 -1
  636. data/test/results/omopv4/union/count_1 +0 -3
  637. data/test/results/omopv4/union/count_2 +0 -3
  638. data/test/results/omopv4/union/count_3 +0 -3
  639. data/test/results/omopv4/union/count_4 +0 -3
  640. data/test/results/omopv4/union/count_5 +0 -4
  641. data/test/results/omopv4/union/scanno_1 +0 -22
  642. data/test/results/omopv4/union/scanno_2 +0 -36
  643. data/test/results/omopv4/visit_occurrence/anno_1 +0 -52
  644. data/test/results/omopv4/visit_occurrence/anno_2 +0 -37
  645. data/test/results/omopv4/visit_occurrence/crit_1 +0 -54
  646. data/test/results/omopv4/visit_occurrence/crit_2 +0 -7566
  647. data/test/results/omopv4/visit_occurrence/crit_3 +0 -14935
  648. data/test/results/omopv4_plus/after/anno_1 +0 -25
  649. data/test/results/omopv4_plus/after/anno_2 +0 -48
  650. data/test/results/omopv4_plus/after/anno_3 +0 -34
  651. data/test/results/omopv4_plus/after/anno_4 +0 -60
  652. data/test/results/omopv4_plus/after/anno_5 +0 -68
  653. data/test/results/omopv4_plus/after/anno_6 +0 -60
  654. data/test/results/omopv4_plus/after/crit_at_least +0 -7
  655. data/test/results/omopv4_plus/after/crit_basic +0 -32
  656. data/test/results/omopv4_plus/after/crit_occurrences +0 -12
  657. data/test/results/omopv4_plus/after/crit_within +0 -5
  658. data/test/results/omopv4_plus/any_overlap/crit_basic1 +0 -14
  659. data/test/results/omopv4_plus/any_overlap/crit_basic2 +0 -14
  660. data/test/results/omopv4_plus/any_overlap/crit_occurrences1 +0 -2
  661. data/test/results/omopv4_plus/any_overlap/crit_occurrences2 +0 -14
  662. data/test/results/omopv4_plus/any_overlap/crit_within +0 -8
  663. data/test/results/omopv4_plus/before/crit_at_least +0 -6
  664. data/test/results/omopv4_plus/before/crit_basic1 +0 -48
  665. data/test/results/omopv4_plus/before/crit_basic2 +0 -8
  666. data/test/results/omopv4_plus/before/crit_occurrences +0 -13
  667. data/test/results/omopv4_plus/before/crit_within +0 -17
  668. data/test/results/omopv4_plus/co_reported/anno_1 +0 -43
  669. data/test/results/omopv4_plus/co_reported/anno_2 +0 -66
  670. data/test/results/omopv4_plus/co_reported/anno_3 +0 -47
  671. data/test/results/omopv4_plus/complement/anno_duplicate_params +0 -52
  672. data/test/results/omopv4_plus/complement/anno_invalid_params +0 -37
  673. data/test/results/omopv4_plus/complement/anno_no_params +0 -18
  674. data/test/results/omopv4_plus/complement/count_3way_intersect +0 -4
  675. data/test/results/omopv4_plus/complement/count_3way_union +0 -4
  676. data/test/results/omopv4_plus/complement/count_intersect +0 -3
  677. data/test/results/omopv4_plus/complement/count_union +0 -3
  678. data/test/results/omopv4_plus/complement/count_union_and_intersect +0 -4
  679. data/test/results/omopv4_plus/complement/crit_basic1 +0 -52483
  680. data/test/results/omopv4_plus/complement/crit_icd9_selector +0 -52
  681. data/test/results/omopv4_plus/complex/anno_1 +0 -85
  682. data/test/results/omopv4_plus/complex/crit_1 +0 -2
  683. data/test/results/omopv4_plus/complex/crit_2 +0 -2
  684. data/test/results/omopv4_plus/complex/crit_3 +0 -2
  685. data/test/results/omopv4_plus/complex/crit_4 +0 -2
  686. data/test/results/omopv4_plus/complex/crit_5 +0 -2
  687. data/test/results/omopv4_plus/complex/crit_6 +0 -24
  688. data/test/results/omopv4_plus/complex/crit_7 +0 -45
  689. data/test/results/omopv4_plus/complex/crit_out_of_order_ctes +0 -15
  690. data/test/results/omopv4_plus/complex/scanno_1 +0 -108
  691. data/test/results/omopv4_plus/concurrent_within/crit_icd9 +0 -52
  692. data/test/results/omopv4_plus/concurrent_within/crit_icd9_and_place_of_service +0 -21
  693. data/test/results/omopv4_plus/concurrent_within/crit_negative_start +0 -5
  694. data/test/results/omopv4_plus/condition_type/anno_icd9 +0 -39
  695. data/test/results/omopv4_plus/condition_type/count_condition_era +0 -2
  696. data/test/results/omopv4_plus/condition_type/count_condition_era_30_day_window +0 -2
  697. data/test/results/omopv4_plus/condition_type/count_ehr_problem_list +0 -2
  698. data/test/results/omopv4_plus/condition_type/count_era_0 +0 -2
  699. data/test/results/omopv4_plus/condition_type/count_inpatient +0 -3
  700. data/test/results/omopv4_plus/condition_type/count_inpatient_detail +0 -2
  701. data/test/results/omopv4_plus/condition_type/count_inpatient_header +0 -3
  702. data/test/results/omopv4_plus/condition_type/count_inpatient_header_2 +0 -3
  703. data/test/results/omopv4_plus/condition_type/count_inpatient_header_3 +0 -3
  704. data/test/results/omopv4_plus/condition_type/count_inpatient_header_4 +0 -3
  705. data/test/results/omopv4_plus/condition_type/count_inpatient_header_5 +0 -3
  706. data/test/results/omopv4_plus/condition_type/count_inpatient_outpatient_detail +0 -3
  707. data/test/results/omopv4_plus/condition_type/count_inpatient_primary +0 -3
  708. data/test/results/omopv4_plus/condition_type/count_inpatient_primary_or_first +0 -3
  709. data/test/results/omopv4_plus/condition_type/count_outpatient +0 -3
  710. data/test/results/omopv4_plus/condition_type/count_outpatient_detail +0 -2
  711. data/test/results/omopv4_plus/condition_type/count_outpatient_header +0 -3
  712. data/test/results/omopv4_plus/condition_type/count_outpatient_primary +0 -3
  713. data/test/results/omopv4_plus/condition_type/count_primary +0 -3
  714. data/test/results/omopv4_plus/contains/crit_1 +0 -5
  715. data/test/results/omopv4_plus/contains/crit_2 +0 -2
  716. data/test/results/omopv4_plus/contains/crit_3 +0 -2
  717. data/test/results/omopv4_plus/count/anno_multiple_upstreams +0 -52
  718. data/test/results/omopv4_plus/count/anno_no_upstream1 +0 -18
  719. data/test/results/omopv4_plus/count/anno_no_upstream2 +0 -25
  720. data/test/results/omopv4_plus/count/crit_icd9_ndc +0 -5
  721. data/test/results/omopv4_plus/count/crit_ndc +0 -2
  722. data/test/results/omopv4_plus/count/crit_person +0 -254
  723. data/test/results/omopv4_plus/cpt/anno_icd9_upstream +0 -40
  724. data/test/results/omopv4_plus/cpt/anno_invalid_code +0 -22
  725. data/test/results/omopv4_plus/cpt/count_1 +0 -3
  726. data/test/results/omopv4_plus/cpt/crit_1 +0 -158
  727. data/test/results/omopv4_plus/cpt/scanno_1 +0 -17
  728. data/test/results/omopv4_plus/cpt_or_hcpcs/anno_bad_format +0 -25
  729. data/test/results/omopv4_plus/cpt_or_hcpcs/count_1 +0 -3
  730. data/test/results/omopv4_plus/cpt_or_hcpcs/crit_1 +0 -161
  731. data/test/results/omopv4_plus/date_range/anno_1 +0 -15
  732. data/test/results/omopv4_plus/date_range/anno_extra_argument +0 -24
  733. data/test/results/omopv4_plus/date_range/anno_invalid_argument +0 -25
  734. data/test/results/omopv4_plus/date_range/anno_missing_argument1 +0 -20
  735. data/test/results/omopv4_plus/date_range/anno_missing_argument2 +0 -20
  736. data/test/results/omopv4_plus/date_range/anno_no_upstreams +0 -38
  737. data/test/results/omopv4_plus/date_range/count_1 +0 -3
  738. data/test/results/omopv4_plus/date_range/count_2 +0 -3
  739. data/test/results/omopv4_plus/death/anno_multiple_upstreams +0 -50
  740. data/test/results/omopv4_plus/death/anno_no_upstreams +0 -22
  741. data/test/results/omopv4_plus/death/crit_basic +0 -14
  742. data/test/results/omopv4_plus/death/crit_person +0 -14
  743. data/test/results/omopv4_plus/drug_type_concept/anno_has_upstreams +0 -37
  744. data/test/results/omopv4_plus/drug_type_concept/anno_no_arguments +0 -18
  745. data/test/results/omopv4_plus/drug_type_concept/crit_basic1 +0 -2
  746. data/test/results/omopv4_plus/drug_type_concept/crit_basic2 +0 -2
  747. data/test/results/omopv4_plus/during/crit_1 +0 -14
  748. data/test/results/omopv4_plus/during/crit_2 +0 -2
  749. data/test/results/omopv4_plus/equal/crit_1 +0 -2
  750. data/test/results/omopv4_plus/equal/crit_2 +0 -2
  751. data/test/results/omopv4_plus/except/anno_1 +0 -42
  752. data/test/results/omopv4_plus/except/anno_2 +0 -43
  753. data/test/results/omopv4_plus/except/count_complex +0 -5
  754. data/test/results/omopv4_plus/except/crit_412_cpt +0 -52
  755. data/test/results/omopv4_plus/except/crit_412_inpatient +0 -45
  756. data/test/results/omopv4_plus/filter/crit_1 +0 -52
  757. data/test/results/omopv4_plus/first/anno_argument +0 -25
  758. data/test/results/omopv4_plus/first/anno_no_upstream +0 -18
  759. data/test/results/omopv4_plus/first/crit_cpt +0 -180
  760. data/test/results/omopv4_plus/first/crit_icd9 +0 -41
  761. data/test/results/omopv4_plus/first/crit_union +0 -52
  762. data/test/results/omopv4_plus/from/anno_has_upstreams +0 -39
  763. data/test/results/omopv4_plus/from/anno_multiple_arguments +0 -24
  764. data/test/results/omopv4_plus/from/count_condition_occurrence +0 -3
  765. data/test/results/omopv4_plus/from/count_observation_period +0 -3
  766. data/test/results/omopv4_plus/from/count_person +0 -3
  767. data/test/results/omopv4_plus/from_seer_visits/anno_multiple_upstreams +0 -78
  768. data/test/results/omopv4_plus/from_seer_visits/anno_no_upstream +0 -18
  769. data/test/results/omopv4_plus/from_seer_visits/crit_1 +0 -2
  770. data/test/results/omopv4_plus/from_seer_visits/crit_2 +0 -2
  771. data/test/results/omopv4_plus/from_seer_visits/crit_3 +0 -2
  772. data/test/results/omopv4_plus/from_seer_visits/crit_4 +0 -2
  773. data/test/results/omopv4_plus/gender/anno_has_upstreams +0 -39
  774. data/test/results/omopv4_plus/gender/crit_male +0 -128
  775. data/test/results/omopv4_plus/hcpcs/anno_bad_format +0 -24
  776. data/test/results/omopv4_plus/hcpcs/crit_A0382 +0 -7
  777. data/test/results/omopv4_plus/icd10/anno_bad_format +0 -22
  778. data/test/results/omopv4_plus/icd10/anno_has_upstreams +0 -40
  779. data/test/results/omopv4_plus/icd10/crit_1 +0 -2
  780. data/test/results/omopv4_plus/icd10pcs/anno_bad_format +0 -28
  781. data/test/results/omopv4_plus/icd10pcs/anno_has_upstreams +0 -40
  782. data/test/results/omopv4_plus/icd10pcs/crit_1 +0 -2
  783. data/test/results/omopv4_plus/icd9/anno_empty_label +0 -15
  784. data/test/results/omopv4_plus/icd9/anno_invalid_code +0 -21
  785. data/test/results/omopv4_plus/icd9/anno_valid_code +0 -3
  786. data/test/results/omopv4_plus/icd9/crit_1 +0 -52
  787. data/test/results/omopv4_plus/icd9_procedure/crit_1 +0 -5
  788. data/test/results/omopv4_plus/intersect/anno_412_inpatient +0 -42
  789. data/test/results/omopv4_plus/intersect/anno_has_arguments +0 -25
  790. data/test/results/omopv4_plus/intersect/anno_no_upstream +0 -18
  791. data/test/results/omopv4_plus/intersect/crit_412_inpatient +0 -11
  792. data/test/results/omopv4_plus/intersect/crit_412_male +0 -178
  793. data/test/results/omopv4_plus/intersect/crit_complex +0 -110
  794. data/test/results/omopv4_plus/invalid/anno_bad_op +0 -55
  795. data/test/results/omopv4_plus/invalid/scanno_1 +0 -23
  796. data/test/results/omopv4_plus/last/crit_icd9 +0 -41
  797. data/test/results/omopv4_plus/loinc/crit_basic +0 -2
  798. data/test/results/omopv4_plus/ndc/crit_basic +0 -2
  799. data/test/results/omopv4_plus/ndc/results_1 +0 -41
  800. data/test/results/omopv4_plus/numeric/anno_multiple_upstreams +0 -59
  801. data/test/results/omopv4_plus/numeric/num_values_1 +0 -254
  802. data/test/results/omopv4_plus/numeric/num_values_2 +0 -5
  803. data/test/results/omopv4_plus/numeric/num_values_3 +0 -5
  804. data/test/results/omopv4_plus/observation_period/anno_has_arguments +0 -36
  805. data/test/results/omopv4_plus/observation_period/anno_multiple_upstreams +0 -51
  806. data/test/results/omopv4_plus/observation_period/count_all_periods +0 -3
  807. data/test/results/omopv4_plus/observation_period/crit_female +0 -87
  808. data/test/results/omopv4_plus/observation_period/crit_icd9 +0 -28
  809. data/test/results/omopv4_plus/observation_period/crit_male +0 -75
  810. data/test/results/omopv4_plus/occurrence/anno_no_upstream +0 -22
  811. data/test/results/omopv4_plus/occurrence/count_412_410 +0 -3
  812. data/test/results/omopv4_plus/occurrence/crit_1 +0 -15
  813. data/test/results/omopv4_plus/occurrence/crit_2 +0 -2
  814. data/test/results/omopv4_plus/occurrence/crit_3 +0 -41
  815. data/test/results/omopv4_plus/one_in_two_out/anno_has_arguments +0 -27
  816. data/test/results/omopv4_plus/one_in_two_out/anno_multiple_upstreams +0 -54
  817. data/test/results/omopv4_plus/one_in_two_out/anno_no_upstream +0 -20
  818. data/test/results/omopv4_plus/one_in_two_out/count_1 +0 -3
  819. data/test/results/omopv4_plus/one_in_two_out/count_same_as_1 +0 -3
  820. data/test/results/omopv4_plus/one_in_two_out/crit_hcpcs +0 -2
  821. data/test/results/omopv4_plus/one_in_two_out/crit_icd9 +0 -19
  822. data/test/results/omopv4_plus/one_in_two_out/results_1 +0 -803
  823. data/test/results/omopv4_plus/one_in_two_out/results_2 +0 -803
  824. data/test/results/omopv4_plus/overlapped_by/crit_1 +0 -5
  825. data/test/results/omopv4_plus/overlapped_by/crit_2 +0 -2
  826. data/test/results/omopv4_plus/overlapped_by/crit_3 +0 -5
  827. data/test/results/omopv4_plus/overlapped_by/crit_4 +0 -2
  828. data/test/results/omopv4_plus/overlaps/crit_1 +0 -5
  829. data/test/results/omopv4_plus/overlaps/crit_2 +0 -2
  830. data/test/results/omopv4_plus/overlaps/crit_3 +0 -5
  831. data/test/results/omopv4_plus/overlaps/crit_4 +0 -2
  832. data/test/results/omopv4_plus/person/anno_has_arguments +0 -22
  833. data/test/results/omopv4_plus/person/anno_multiple_upstreams +0 -52
  834. data/test/results/omopv4_plus/person/count_2 +0 -3
  835. data/test/results/omopv4_plus/person/crit_1 +0 -41
  836. data/test/results/omopv4_plus/person_filter/count_1 +0 -4
  837. data/test/results/omopv4_plus/person_filter/crit_1 +0 -52
  838. data/test/results/omopv4_plus/person_filter/crit_2 +0 -10
  839. data/test/results/omopv4_plus/person_filter/crit_3 +0 -32
  840. data/test/results/omopv4_plus/person_filter/crit_4 +0 -50
  841. data/test/results/omopv4_plus/place_of_service_code/anno_has_upstreams +0 -37
  842. data/test/results/omopv4_plus/place_of_service_code/anno_no_arguments +0 -18
  843. data/test/results/omopv4_plus/place_of_service_code/crit_basic +0 -157
  844. data/test/results/omopv4_plus/place_of_service_filter/anno_1 +0 -29
  845. data/test/results/omopv4_plus/procedure_occurrence/anno_has_arguments +0 -37
  846. data/test/results/omopv4_plus/procedure_occurrence/anno_multiple_upstreams +0 -51
  847. data/test/results/omopv4_plus/procedure_occurrence/count_gender +0 -3
  848. data/test/results/omopv4_plus/procedure_occurrence/count_icd9 +0 -3
  849. data/test/results/omopv4_plus/procedure_occurrence/count_started_by +0 -3
  850. data/test/results/omopv4_plus/provenance/anno_1 +0 -29
  851. data/test/results/omopv4_plus/provenance/anno_bad_keyword +0 -38
  852. data/test/results/omopv4_plus/provenance/count_1 +0 -3
  853. data/test/results/omopv4_plus/provenance/count_2 +0 -3
  854. data/test/results/omopv4_plus/provider_filter/anno_1 +0 -29
  855. data/test/results/omopv4_plus/race/anno_1 +0 -37
  856. data/test/results/omopv4_plus/race/anno_2 +0 -18
  857. data/test/results/omopv4_plus/race/crit_1 +0 -32
  858. data/test/results/omopv4_plus/read/anno_1 +0 -15
  859. data/test/results/omopv4_plus/read/crit_1 +0 -2
  860. data/test/results/omopv4_plus/recall/anno_1 +0 -54
  861. data/test/results/omopv4_plus/recall/anno_2 +0 -66
  862. data/test/results/omopv4_plus/recall/anno_3 +0 -20
  863. data/test/results/omopv4_plus/recall/anno_4 +0 -18
  864. data/test/results/omopv4_plus/recall/anno_5 +0 -24
  865. data/test/results/omopv4_plus/recall/anno_6 +0 -270
  866. data/test/results/omopv4_plus/recall/crit_1 +0 -19
  867. data/test/results/omopv4_plus/recall/crit_2 +0 -52
  868. data/test/results/omopv4_plus/recall/crit_3 +0 -2
  869. data/test/results/omopv4_plus/recall/crit_cte_1 +0 -41
  870. data/test/results/omopv4_plus/recall/crit_cte_2 +0 -41
  871. data/test/results/omopv4_plus/recall/crit_nested_perm_0 +0 -52
  872. data/test/results/omopv4_plus/revenue_code/crit_1 +0 -2
  873. data/test/results/omopv4_plus/revenue_code/crit_basic +0 -2
  874. data/test/results/omopv4_plus/revenue_code/domains_1 +0 -3
  875. data/test/results/omopv4_plus/revenue_code/domains_drg100 +0 -3
  876. data/test/results/omopv4_plus/rxnorm/crit_1 +0 -2
  877. data/test/results/omopv4_plus/snomed/crit_1 +0 -2
  878. data/test/results/omopv4_plus/started_by/crit_1 +0 -5
  879. data/test/results/omopv4_plus/started_by/crit_2 +0 -2
  880. data/test/results/omopv4_plus/started_by/crit_3 +0 -2
  881. data/test/results/omopv4_plus/sum/anno_1 +0 -18
  882. data/test/results/omopv4_plus/sum/anno_2 +0 -36
  883. data/test/results/omopv4_plus/sum/num_1 +0 -2
  884. data/test/results/omopv4_plus/sum/num_2 +0 -5
  885. data/test/results/omopv4_plus/sum/num_3 +0 -254
  886. data/test/results/omopv4_plus/time_window/anno_1 +0 -20
  887. data/test/results/omopv4_plus/time_window/anno_2 +0 -40
  888. data/test/results/omopv4_plus/time_window/anno_3 +0 -36
  889. data/test/results/omopv4_plus/time_window/anno_4 +0 -39
  890. data/test/results/omopv4_plus/time_window/anno_5 +0 -57
  891. data/test/results/omopv4_plus/time_window/crit_1 +0 -52
  892. data/test/results/omopv4_plus/time_window/crit_2 +0 -157
  893. data/test/results/omopv4_plus/time_window/crit_3 +0 -52
  894. data/test/results/omopv4_plus/time_window/crit_4 +0 -157
  895. data/test/results/omopv4_plus/trim_date_end/crit_1 +0 -5
  896. data/test/results/omopv4_plus/trim_date_end/crit_2 +0 -2
  897. data/test/results/omopv4_plus/trim_date_end/crit_3 +0 -6
  898. data/test/results/omopv4_plus/trim_date_end/crit_at_least +0 -5
  899. data/test/results/omopv4_plus/trim_date_end/crit_occurrences_1 +0 -2
  900. data/test/results/omopv4_plus/trim_date_end/crit_occurrences_2 +0 -6
  901. data/test/results/omopv4_plus/trim_date_end/crit_within +0 -5
  902. data/test/results/omopv4_plus/trim_date_start/crit_1 +0 -5
  903. data/test/results/omopv4_plus/trim_date_start/crit_2 +0 -2
  904. data/test/results/omopv4_plus/trim_date_start/crit_3 +0 -6
  905. data/test/results/omopv4_plus/trim_date_start/crit_at_least +0 -5
  906. data/test/results/omopv4_plus/trim_date_start/crit_occurrences_1 +0 -2
  907. data/test/results/omopv4_plus/trim_date_start/crit_occurrences_2 +0 -6
  908. data/test/results/omopv4_plus/trim_date_start/crit_within +0 -5
  909. data/test/results/omopv4_plus/union/anno_1 +0 -43
  910. data/test/results/omopv4_plus/union/anno_2 +0 -74
  911. data/test/results/omopv4_plus/union/anno_3 +0 -18
  912. data/test/results/omopv4_plus/union/anno_4 +0 -25
  913. data/test/results/omopv4_plus/union/anno_5 +0 -33
  914. data/test/results/omopv4_plus/union/anno_6 +0 -46
  915. data/test/results/omopv4_plus/union/count_1 +0 -3
  916. data/test/results/omopv4_plus/union/count_2 +0 -3
  917. data/test/results/omopv4_plus/union/count_3 +0 -3
  918. data/test/results/omopv4_plus/union/count_4 +0 -3
  919. data/test/results/omopv4_plus/union/count_5 +0 -4
  920. data/test/results/omopv4_plus/union/optcc_1 +0 -3
  921. data/test/results/omopv4_plus/union/optcc_2 +0 -3
  922. data/test/results/omopv4_plus/union/optcc_3 +0 -3
  923. data/test/results/omopv4_plus/union/optcc_4 +0 -3
  924. data/test/results/omopv4_plus/union/optcc_5 +0 -3
  925. data/test/results/omopv4_plus/union/optcc_6 +0 -3
  926. data/test/results/omopv4_plus/union/scanno_1 +0 -22
  927. data/test/results/omopv4_plus/union/scanno_2 +0 -36
  928. data/test/results/omopv4_plus/visit_occurrence/anno_1 +0 -52
  929. data/test/results/omopv4_plus/visit_occurrence/anno_2 +0 -37
  930. data/test/results/omopv4_plus/visit_occurrence/crit_1 +0 -52
  931. data/test/results/omopv4_plus/visit_occurrence/crit_2 +0 -22945
  932. data/test/results/omopv4_plus/visit_occurrence/crit_3 +0 -46851
  933. data/test/statements/after/anno_1 +0 -7
  934. data/test/statements/after/anno_2 +0 -16
  935. data/test/statements/after/anno_3 +0 -9
  936. data/test/statements/after/anno_4 +0 -19
  937. data/test/statements/after/anno_5 +0 -21
  938. data/test/statements/after/anno_6 +0 -16
  939. data/test/statements/after/crit_at_least +0 -21
  940. data/test/statements/after/crit_basic +0 -20
  941. data/test/statements/after/crit_occurrences +0 -21
  942. data/test/statements/after/crit_within +0 -21
  943. data/test/statements/any_overlap/crit_basic1 +0 -16
  944. data/test/statements/any_overlap/crit_basic2 +0 -16
  945. data/test/statements/any_overlap/crit_occurrences1 +0 -17
  946. data/test/statements/any_overlap/crit_occurrences2 +0 -17
  947. data/test/statements/any_overlap/crit_within +0 -17
  948. data/test/statements/before/crit_at_least +0 -14
  949. data/test/statements/before/crit_basic1 +0 -13
  950. data/test/statements/before/crit_basic2 +0 -16
  951. data/test/statements/before/crit_occurrences +0 -14
  952. data/test/statements/before/crit_within +0 -14
  953. data/test/statements/co_reported/anno_1 +0 -13
  954. data/test/statements/co_reported/anno_2 +0 -21
  955. data/test/statements/co_reported/anno_3 +0 -14
  956. data/test/statements/complement/anno_duplicate_params +0 -11
  957. data/test/statements/complement/anno_invalid_params +0 -8
  958. data/test/statements/complement/anno_no_params +0 -3
  959. data/test/statements/complement/count_3way_intersect +0 -24
  960. data/test/statements/complement/count_3way_union +0 -18
  961. data/test/statements/complement/count_intersect +0 -17
  962. data/test/statements/complement/count_union +0 -14
  963. data/test/statements/complement/count_union_and_intersect +0 -27
  964. data/test/statements/complement/crit_basic1 +0 -7
  965. data/test/statements/complement/crit_icd9_selector +0 -10
  966. data/test/statements/complex/anno_1 +0 -29
  967. data/test/statements/complex/crit_1 +0 -278
  968. data/test/statements/complex/crit_2 +0 -43
  969. data/test/statements/complex/crit_3 +0 -54
  970. data/test/statements/complex/crit_4 +0 -17
  971. data/test/statements/complex/crit_5 +0 -17
  972. data/test/statements/complex/crit_6 +0 -20
  973. data/test/statements/complex/crit_7 +0 -14
  974. data/test/statements/complex/crit_out_of_order_ctes +0 -39
  975. data/test/statements/complex/scanno_1 +0 -1508
  976. data/test/statements/concurrent_within/crit_icd9 +0 -11
  977. data/test/statements/concurrent_within/crit_icd9_and_place_of_service +0 -15
  978. data/test/statements/concurrent_within/crit_negative_start +0 -15
  979. data/test/statements/condition_type/anno_icd9 +0 -7
  980. data/test/statements/condition_type/count_condition_era +0 -4
  981. data/test/statements/condition_type/count_condition_era_30_day_window +0 -4
  982. data/test/statements/condition_type/count_ehr_problem_list +0 -4
  983. data/test/statements/condition_type/count_era_0 +0 -4
  984. data/test/statements/condition_type/count_inpatient +0 -4
  985. data/test/statements/condition_type/count_inpatient_detail +0 -4
  986. data/test/statements/condition_type/count_inpatient_header +0 -4
  987. data/test/statements/condition_type/count_inpatient_header_2 +0 -4
  988. data/test/statements/condition_type/count_inpatient_header_3 +0 -4
  989. data/test/statements/condition_type/count_inpatient_header_4 +0 -4
  990. data/test/statements/condition_type/count_inpatient_header_5 +0 -4
  991. data/test/statements/condition_type/count_inpatient_outpatient_detail +0 -5
  992. data/test/statements/condition_type/count_inpatient_primary +0 -4
  993. data/test/statements/condition_type/count_inpatient_primary_or_first +0 -4
  994. data/test/statements/condition_type/count_outpatient +0 -4
  995. data/test/statements/condition_type/count_outpatient_detail +0 -4
  996. data/test/statements/condition_type/count_outpatient_header +0 -4
  997. data/test/statements/condition_type/count_outpatient_primary +0 -4
  998. data/test/statements/condition_type/count_primary +0 -4
  999. data/test/statements/contains/crit_1 +0 -16
  1000. data/test/statements/contains/crit_2 +0 -16
  1001. data/test/statements/contains/crit_3 +0 -16
  1002. data/test/statements/count/anno_multiple_upstreams +0 -11
  1003. data/test/statements/count/anno_no_upstream1 +0 -3
  1004. data/test/statements/count/anno_no_upstream2 +0 -4
  1005. data/test/statements/count/crit_icd9_ndc +0 -15
  1006. data/test/statements/count/crit_ndc +0 -11
  1007. data/test/statements/count/crit_person +0 -7
  1008. data/test/statements/cpt/anno_icd9_upstream +0 -7
  1009. data/test/statements/cpt/anno_invalid_code +0 -5
  1010. data/test/statements/cpt/count_1 +0 -4
  1011. data/test/statements/cpt/crit_1 +0 -4
  1012. data/test/statements/cpt/scanno_1 +0 -4
  1013. data/test/statements/cpt_or_hcpcs/anno_bad_format +0 -7
  1014. data/test/statements/cpt_or_hcpcs/count_1 +0 -5
  1015. data/test/statements/cpt_or_hcpcs/crit_1 +0 -5
  1016. data/test/statements/date_range/anno_1 +0 -7
  1017. data/test/statements/date_range/anno_extra_argument +0 -8
  1018. data/test/statements/date_range/anno_invalid_argument +0 -7
  1019. data/test/statements/date_range/anno_missing_argument1 +0 -6
  1020. data/test/statements/date_range/anno_missing_argument2 +0 -6
  1021. data/test/statements/date_range/anno_no_upstreams +0 -11
  1022. data/test/statements/date_range/count_1 +0 -7
  1023. data/test/statements/date_range/count_2 +0 -7
  1024. data/test/statements/death/anno_multiple_upstreams +0 -10
  1025. data/test/statements/death/anno_no_upstreams +0 -4
  1026. data/test/statements/death/crit_basic +0 -3
  1027. data/test/statements/death/crit_person +0 -7
  1028. data/test/statements/drug_type_concept/anno_has_upstreams +0 -8
  1029. data/test/statements/drug_type_concept/anno_no_arguments +0 -3
  1030. data/test/statements/drug_type_concept/crit_basic1 +0 -4
  1031. data/test/statements/drug_type_concept/crit_basic2 +0 -4
  1032. data/test/statements/during/crit_1 +0 -16
  1033. data/test/statements/during/crit_2 +0 -16
  1034. data/test/statements/equal/crit_1 +0 -17
  1035. data/test/statements/equal/crit_2 +0 -21
  1036. data/test/statements/except/anno_1 +0 -13
  1037. data/test/statements/except/anno_2 +0 -14
  1038. data/test/statements/except/count_complex +0 -31
  1039. data/test/statements/except/crit_412_cpt +0 -13
  1040. data/test/statements/except/crit_412_inpatient +0 -13
  1041. data/test/statements/filter/crit_1 +0 -15
  1042. data/test/statements/first/anno_argument +0 -4
  1043. data/test/statements/first/anno_no_upstream +0 -3
  1044. data/test/statements/first/crit_cpt +0 -7
  1045. data/test/statements/first/crit_icd9 +0 -7
  1046. data/test/statements/first/crit_union +0 -14
  1047. data/test/statements/from/anno_has_upstreams +0 -7
  1048. data/test/statements/from/anno_multiple_arguments +0 -5
  1049. data/test/statements/from_seer_visits/anno_multiple_upstreams +0 -17
  1050. data/test/statements/from_seer_visits/anno_no_upstream +0 -3
  1051. data/test/statements/from_seer_visits/crit_1 +0 -10
  1052. data/test/statements/from_seer_visits/crit_2 +0 -11
  1053. data/test/statements/from_seer_visits/crit_3 +0 -11
  1054. data/test/statements/from_seer_visits/crit_4 +0 -12
  1055. data/test/statements/gender/anno_has_upstreams +0 -7
  1056. data/test/statements/gender/crit_male +0 -4
  1057. data/test/statements/hcpcs/anno_bad_format +0 -6
  1058. data/test/statements/hcpcs/crit_A0382 +0 -4
  1059. data/test/statements/icd10/anno_bad_format +0 -5
  1060. data/test/statements/icd10/anno_has_upstreams +0 -7
  1061. data/test/statements/icd10/crit_1 +0 -4
  1062. data/test/statements/icd10pcs/anno_bad_format +0 -6
  1063. data/test/statements/icd10pcs/anno_has_upstreams +0 -7
  1064. data/test/statements/icd10pcs/crit_1 +0 -4
  1065. data/test/statements/icd9/anno_empty_label +0 -7
  1066. data/test/statements/icd9/anno_invalid_code +0 -4
  1067. data/test/statements/icd9/anno_valid_code +0 -4
  1068. data/test/statements/icd9/crit_1 +0 -4
  1069. data/test/statements/icd9_procedure/crit_1 +0 -4
  1070. data/test/statements/intersect/anno_412_inpatient +0 -11
  1071. data/test/statements/intersect/anno_has_arguments +0 -4
  1072. data/test/statements/intersect/anno_no_upstream +0 -3
  1073. data/test/statements/intersect/crit_412_inpatient +0 -11
  1074. data/test/statements/intersect/crit_412_male +0 -11
  1075. data/test/statements/intersect/crit_complex +0 -19
  1076. data/test/statements/invalid/anno_bad_op +0 -13
  1077. data/test/statements/invalid/scanno_1 +0 -7
  1078. data/test/statements/last/crit_icd9 +0 -7
  1079. data/test/statements/loinc/crit_basic +0 -4
  1080. data/test/statements/ndc/crit_basic +0 -4
  1081. data/test/statements/ndc/results_1 +0 -4
  1082. data/test/statements/numeric/anno_multiple_upstreams +0 -11
  1083. data/test/statements/numeric/num_values_1 +0 -4
  1084. data/test/statements/numeric/num_values_2 +0 -8
  1085. data/test/statements/numeric/num_values_3 +0 -8
  1086. data/test/statements/observation_period/anno_has_arguments +0 -8
  1087. data/test/statements/observation_period/anno_multiple_upstreams +0 -11
  1088. data/test/statements/observation_period/count_all_periods +0 -4
  1089. data/test/statements/observation_period/crit_female +0 -7
  1090. data/test/statements/observation_period/crit_icd9 +0 -7
  1091. data/test/statements/observation_period/crit_male +0 -7
  1092. data/test/statements/occurrence/anno_no_upstream +0 -3
  1093. data/test/statements/occurrence/count_412_410 +0 -17
  1094. data/test/statements/occurrence/crit_1 +0 -8
  1095. data/test/statements/occurrence/crit_2 +0 -11
  1096. data/test/statements/occurrence/crit_3 +0 -11
  1097. data/test/statements/one_in_two_out/anno_has_arguments +0 -8
  1098. data/test/statements/one_in_two_out/anno_multiple_upstreams +0 -15
  1099. data/test/statements/one_in_two_out/anno_no_upstream +0 -7
  1100. data/test/statements/one_in_two_out/count_1 +0 -10
  1101. data/test/statements/one_in_two_out/count_same_as_1 +0 -11
  1102. data/test/statements/one_in_two_out/crit_hcpcs +0 -10
  1103. data/test/statements/one_in_two_out/crit_icd9 +0 -11
  1104. data/test/statements/one_in_two_out/results_1 +0 -9
  1105. data/test/statements/one_in_two_out/results_2 +0 -9
  1106. data/test/statements/overlapped_by/crit_1 +0 -16
  1107. data/test/statements/overlapped_by/crit_2 +0 -16
  1108. data/test/statements/overlapped_by/crit_3 +0 -16
  1109. data/test/statements/overlapped_by/crit_4 +0 -16
  1110. data/test/statements/overlaps/crit_1 +0 -16
  1111. data/test/statements/overlaps/crit_2 +0 -16
  1112. data/test/statements/overlaps/crit_3 +0 -16
  1113. data/test/statements/overlaps/crit_4 +0 -16
  1114. data/test/statements/person/anno_has_arguments +0 -4
  1115. data/test/statements/person/anno_multiple_upstreams +0 -11
  1116. data/test/statements/person/count_2 +0 -3
  1117. data/test/statements/person/crit_1 +0 -7
  1118. data/test/statements/person_filter/count_1 +0 -20
  1119. data/test/statements/person_filter/crit_1 +0 -20
  1120. data/test/statements/person_filter/crit_2 +0 -13
  1121. data/test/statements/person_filter/crit_3 +0 -13
  1122. data/test/statements/person_filter/crit_4 +0 -13
  1123. data/test/statements/place_of_service_code/anno_has_upstreams +0 -8
  1124. data/test/statements/place_of_service_code/anno_no_arguments +0 -3
  1125. data/test/statements/place_of_service_code/crit_basic +0 -4
  1126. data/test/statements/place_of_service_filter/anno_1 +0 -8
  1127. data/test/statements/procedure_occurrence/anno_has_arguments +0 -8
  1128. data/test/statements/procedure_occurrence/anno_multiple_upstreams +0 -11
  1129. data/test/statements/procedure_occurrence/count_gender +0 -7
  1130. data/test/statements/procedure_occurrence/count_icd9 +0 -7
  1131. data/test/statements/procedure_occurrence/count_started_by +0 -19
  1132. data/test/statements/provenance/anno_1 +0 -8
  1133. data/test/statements/provenance/anno_bad_keyword +0 -10
  1134. data/test/statements/provenance/count_1 +0 -8
  1135. data/test/statements/provenance/count_2 +0 -8
  1136. data/test/statements/provider_filter/anno_1 +0 -10
  1137. data/test/statements/race/anno_1 +0 -8
  1138. data/test/statements/race/anno_2 +0 -3
  1139. data/test/statements/race/crit_1 +0 -4
  1140. data/test/statements/read/anno_1 +0 -4
  1141. data/test/statements/read/crit_1 +0 -8
  1142. data/test/statements/recall/anno_1 +0 -16
  1143. data/test/statements/recall/anno_2 +0 -18
  1144. data/test/statements/recall/anno_3 +0 -4
  1145. data/test/statements/recall/anno_4 +0 -3
  1146. data/test/statements/recall/anno_5 +0 -5
  1147. data/test/statements/recall/anno_6 +0 -107
  1148. data/test/statements/recall/crit_1 +0 -17
  1149. data/test/statements/recall/crit_2 +0 -14
  1150. data/test/statements/recall/crit_3 +0 -16
  1151. data/test/statements/recall/crit_cte_1 +0 -17
  1152. data/test/statements/recall/crit_cte_2 +0 -17
  1153. data/test/statements/recall/crit_nested_perm_0 +0 -28
  1154. data/test/statements/revenue_code/crit_1 +0 -4
  1155. data/test/statements/revenue_code/crit_basic +0 -4
  1156. data/test/statements/revenue_code/domains_1 +0 -4
  1157. data/test/statements/revenue_code/domains_drg100 +0 -4
  1158. data/test/statements/rxnorm/crit_1 +0 -4
  1159. data/test/statements/snomed/crit_1 +0 -4
  1160. data/test/statements/started_by/crit_1 +0 -16
  1161. data/test/statements/started_by/crit_2 +0 -16
  1162. data/test/statements/started_by/crit_3 +0 -16
  1163. data/test/statements/sum/anno_1 +0 -3
  1164. data/test/statements/sum/anno_2 +0 -8
  1165. data/test/statements/sum/num_1 +0 -11
  1166. data/test/statements/sum/num_2 +0 -15
  1167. data/test/statements/sum/num_3 +0 -7
  1168. data/test/statements/time_window/anno_1 +0 -7
  1169. data/test/statements/time_window/anno_2 +0 -11
  1170. data/test/statements/time_window/anno_3 +0 -11
  1171. data/test/statements/time_window/anno_4 +0 -12
  1172. data/test/statements/time_window/anno_5 +0 -15
  1173. data/test/statements/time_window/crit_1 +0 -11
  1174. data/test/statements/time_window/crit_2 +0 -11
  1175. data/test/statements/time_window/crit_3 +0 -11
  1176. data/test/statements/time_window/crit_4 +0 -11
  1177. data/test/statements/trim_date_end/crit_1 +0 -16
  1178. data/test/statements/trim_date_end/crit_2 +0 -16
  1179. data/test/statements/trim_date_end/crit_3 +0 -16
  1180. data/test/statements/trim_date_end/crit_at_least +0 -17
  1181. data/test/statements/trim_date_end/crit_occurrences_1 +0 -17
  1182. data/test/statements/trim_date_end/crit_occurrences_2 +0 -17
  1183. data/test/statements/trim_date_end/crit_within +0 -17
  1184. data/test/statements/trim_date_start/crit_1 +0 -16
  1185. data/test/statements/trim_date_start/crit_2 +0 -16
  1186. data/test/statements/trim_date_start/crit_3 +0 -16
  1187. data/test/statements/trim_date_start/crit_at_least +0 -17
  1188. data/test/statements/trim_date_start/crit_occurrences_1 +0 -17
  1189. data/test/statements/trim_date_start/crit_occurrences_2 +0 -17
  1190. data/test/statements/trim_date_start/crit_within +0 -17
  1191. data/test/statements/union/anno_1 +0 -11
  1192. data/test/statements/union/anno_2 +0 -18
  1193. data/test/statements/union/anno_3 +0 -3
  1194. data/test/statements/union/anno_4 +0 -4
  1195. data/test/statements/union/anno_5 +0 -7
  1196. data/test/statements/union/anno_6 +0 -10
  1197. data/test/statements/union/count_1 +0 -11
  1198. data/test/statements/union/count_2 +0 -11
  1199. data/test/statements/union/count_3 +0 -15
  1200. data/test/statements/union/count_4 +0 -18
  1201. data/test/statements/union/count_5 +0 -18
  1202. data/test/statements/union/scanno_1 +0 -3
  1203. data/test/statements/union/scanno_2 +0 -18
  1204. data/test/statements/visit_occurrence/anno_1 +0 -11
  1205. data/test/statements/visit_occurrence/anno_2 +0 -8
  1206. data/test/statements/visit_occurrence/crit_1 +0 -7
  1207. data/test/statements/visit_occurrence/crit_2 +0 -7
  1208. data/test/statements/visit_occurrence/crit_3 +0 -3
data/.gitignore DELETED
@@ -1,25 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .*.sw*
4
- .*.un~
5
- .bundle
6
- .config
7
- .yardoc
8
- .idea
9
- .env
10
- Gemfile.lock
11
- InstalledFiles
12
- _yardoc
13
- coverage
14
- demos
15
- images/
16
- jsons/
17
- lib/bundler/man
18
- pkg
19
- rdoc
20
- spec/reports
21
- test/tmp
22
- test/version_tmp
23
- tmp
24
- yamls/
25
- doc/.?????????*
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in conceptql.gemspec
4
- gemspec
5
-
6
- gem 'pg'
data/Guardfile DELETED
@@ -1,56 +0,0 @@
1
- # A sample Guardfile
2
- # More info at https://github.com/guard/guard#readme
3
-
4
-
5
- # Note: The cmd option is now required due to the increasing number of ways
6
- # rspec may be run, below are examples of the most common uses.
7
- # * bundler: 'bundle exec rspec'
8
- # * bundler binstubs: 'bin/rspec'
9
- # * spring: 'bin/rspec' (This will use spring if running and you have
10
- # installed the spring binstubs per the docs)
11
- # * zeus: 'zeus rspec' (requires the server to be started separately)
12
- # * 'just' rspec: 'rspec'
13
-
14
- guard :rspec, cmd: "bundle exec rspec" do
15
- require "guard/rspec/dsl"
16
- dsl = Guard::RSpec::Dsl.new(self)
17
-
18
- # Feel free to open issues for suggestions and improvements
19
-
20
- # RSpec files
21
- rspec = dsl.rspec
22
- watch(rspec.spec_helper) { rspec.spec_dir }
23
- watch(rspec.spec_support) { rspec.spec_dir }
24
- watch(rspec.spec_files)
25
-
26
- # Ruby files
27
- ruby = dsl.ruby
28
- dsl.watch_spec_files_for(ruby.lib_files)
29
-
30
- # Rails files
31
- rails = dsl.rails(view_extensions: %w(erb haml slim))
32
- dsl.watch_spec_files_for(rails.app_files)
33
- dsl.watch_spec_files_for(rails.views)
34
-
35
- watch(rails.controllers) do |m|
36
- [
37
- rspec.spec.("routing/#{m[1]}_routing"),
38
- rspec.spec.("controllers/#{m[1]}_controller"),
39
- rspec.spec.("acceptance/#{m[1]}")
40
- ]
41
- end
42
-
43
- # Rails config changes
44
- watch(rails.spec_helper) { rspec.spec_dir }
45
- watch(rails.routes) { "#{rspec.spec_dir}/routing" }
46
- watch(rails.app_controller) { "#{rspec.spec_dir}/controllers" }
47
-
48
- # Capybara features specs
49
- watch(rails.view_dirs) { |m| rspec.spec.("features/#{m[1]}") }
50
-
51
- # Turnip features and steps
52
- watch(%r{^spec/acceptance/(.+)\.feature$})
53
- watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m|
54
- Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance"
55
- end
56
- end
data/LICENSE.txt DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2014 Outcomes Insights, Inc.
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile DELETED
@@ -1,35 +0,0 @@
1
- require "bundler/gem_tasks"
2
- ENV['DATA_MODEL'] ||= 'omopv4'
3
-
4
- desc "Setup test database"
5
- task :test_db_setup do
6
- require_relative 'test/db_setup'
7
- end
8
-
9
- desc "Setup test database"
10
- task :test_db_teardown do
11
- require_relative 'test/db_teardown'
12
- end
13
-
14
- run_spec = lambda do |data_model|
15
- sh "DATA_MODEL=#{data_model} #{FileUtils::RUBY} test/all.rb"
16
- end
17
-
18
- desc "Run tests with omopv4 data model"
19
- task :test_omopv4 do
20
- run_spec.call(:omopv4)
21
- end
22
-
23
- desc "Run tests with omopv4_plus data model"
24
- task :test_omopv4_plus do
25
- run_spec.call(:omopv4_plus)
26
- end
27
-
28
- desc "Run tests with omopv4 data model with coverage"
29
- task :test_cov do
30
- ENV['COVERAGE'] = '1'
31
- run_spec.call(:omopv4)
32
- end
33
-
34
- desc "Run tests with omopv4 data model"
35
- task :default => :test_omopv4
data/conceptql.gemspec DELETED
@@ -1,31 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'conceptql/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'conceptql'
8
- spec.version = ConceptQL::VERSION
9
- spec.authors = ['Ryan Duryea']
10
- spec.email = ['aguynamedryan@gmail.com']
11
- spec.summary = %q{Generate OMOP CDMv4-compatible queries from a ConceptQL file}
12
- spec.description = %q{ConceptQL is a query language for specifying queries to be run OMOP CDMv4 structured data}
13
- spec.homepage = 'https://github.com/outcomesinsights/conceptql'
14
- spec.license = 'MIT'
15
-
16
- spec.files = `git ls-files`.split($/)
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ['lib']
20
-
21
- spec.add_dependency 'facets', '~> 3.0'
22
- spec.add_dependency 'sequelizer', '~> 0.1'
23
- spec.add_dependency 'thor', '~> 0.19'
24
- spec.add_dependency 'ruby-graphviz', '~> 1.2'
25
- spec.add_dependency 'csv2xlsx', '~> 0'
26
- spec.add_development_dependency 'bundler', '~> 1.5'
27
- spec.add_development_dependency 'rake', '~> 10.3'
28
- spec.add_development_dependency 'minitest', '~> 5.0'
29
- spec.add_development_dependency 'byebug', '~> 4.0'
30
- spec.add_development_dependency 'simplecov', '~> 0.11'
31
- end
data/doc/converter.rb DELETED
@@ -1,33 +0,0 @@
1
- require_relative '../lib/conceptql'
2
- require 'pp'
3
- require 'json'
4
-
5
- $converter = ConceptQL::Converter.new
6
- def my_pp(obj)
7
- #PP.pp(obj, ''.dup, 10)
8
- JSON.pretty_generate(obj)
9
- end
10
-
11
- def convert(cql)
12
- header = []
13
- header << cql.shift while cql.first =~ /^[`#]/
14
- footer = [cql.pop]
15
- if cql.first =~ /^\[/
16
- cql = my_pp(eval(cql.join))
17
- else
18
- cql = my_pp($converter.convert(eval(cql.join)))
19
- end
20
- [header, cql, "\n", footer].flatten
21
- end
22
-
23
- lines = File.readlines('doc/spec.md')
24
- chunks = lines.slice_before { |l| l =~ /```ConceptQL/ }.to_a
25
- outputs = []
26
- outputs << chunks.shift unless chunks.first =~ /```ConceptQL/
27
- puts chunks.count
28
- outputs += chunks.map do |chunk|
29
- cql, *remainder = chunk.slice_after { |l| l =~ /^```\n$/ }.to_a
30
- cql = convert(cql)
31
- [cql, remainder].flatten#.tap { |arr| pp arr; gets }
32
- end.flatten
33
- File.write('/tmp/test.md', outputs.join)
data/doc/diagram_0.png DELETED
Binary file
@@ -1,39 +0,0 @@
1
- # ConceptQL Implementation Notes
2
- And here is where I record information about some of the decisions I made.
3
-
4
- ## Define/Recall
5
- - Sequel's create table statement runs out-of-band with rest of ConceptQL statemnt
6
- - Gets executed immediately
7
- - This is going to be very slow for large datasets :-(
8
- - I had to retool Tree and Query and Graph to expect an array of concepts in a ConceptQL statement
9
- - I'm not sure I like this
10
- - A ConceptQL statement perhaps should be only a single statement at the end
11
- - Defines need to occur before they are used
12
- - Most languages have a "forward definition" ability
13
- - I have no use cases for when we might need those?
14
- - Perhaps a definition that uses a definition that doesn't exist?
15
- - Is that recursive?
16
- - Is that something we want/need in ConceptQL?
17
-
18
-
19
- ## Values
20
- - I had considered comparing a result set with a between operator, but this implies that the R stream needs a range somehow
21
- - I don't think supporting a range is a good idea right now
22
-
23
-
24
- ## Bad Ideas
25
- Here is where I intend to record bad ideas that appear to be blind allies
26
-
27
- ### Removing person-only rows from a stream after ANDing
28
- - Theoretically, any result set that passes up through an AND node carries all the valid person IDs with it, so it is redundant to carry results that are just person-only. It would make sense to eliminate them.
29
- - NO BAD IDEA
30
- - We have to check to see if the stream is exclusively person-only. In that case, it is unsafe to eliniate those results because we'd end up removing all results from the stream
31
- - We could implement this check, but let's do that later when we want to optimize things
32
- - Also, what happens if we cast to visit later and we've removed all person-only results? This could cause odd behavior
33
-
34
- ### Treating Patient Streams as "Eternal" when they encounter a temporal node
35
- I had created a rather sophisticated system of how to handle a patient stream entering a temporal node.
36
-
37
- The basic premise is that patient information (gender, race, etc) is "timeless" or "eternal" and so if a patient stream is the R stream in a temporal node and the L stream is, say, a stream of MIs, what is the result? I proposed that the MI would be filtered down to only those patients that appear in the R stream.
38
-
39
- Likewise, if the MI stream is the R stream and the person stream is the L stream, what's the result? Same thing. Only patients common to both streams are passed through the L stream. But patients DO have a date associated with them: their date of birth. And, by passing a patient stream through a time_shift node of say, +50yr, we can use that patient stream in the R stream of a temporal node to filter the L stream by the patient being 50 years old.
data/doc/metadata.md DELETED
@@ -1,89 +0,0 @@
1
- # A Bit About Metadata
2
-
3
- `ConceptQL.metadata` produces a hash containing all relevant metadata about ConceptQL, specifically which categories and operators are available in ConceptQL.
4
-
5
- The hash contains two keys: "categories" and "operators".
6
-
7
- ## Metadata about Categories
8
-
9
- The value of the "categories" hash is an array of hashes representing each available category in ConceptQL. Each hash has two key/value pairs:
10
-
11
- - name
12
- - The category's name
13
- - priority
14
- - The position the category should have if you were to list the categories in order
15
-
16
- ## Metadata about Operators
17
-
18
- Each operator in ConceptQL is listed in the metadata.json file under the "operators" key.
19
-
20
- The operator metadata is a hash where the key is the name of an operator and the hash is the metadata specific to that operator.
21
-
22
- The metadata for each operator should be complete enough that a UI can understand all of the parameters and constraints specific to that operator and render it accordingly. Essentially, the metadata should be complete enough that entirely new operators can appear in the metadata and the UI should be able to render that operator and its parameters without needing to change anything in the code for the UI.
23
-
24
- ### Operator Metadata Outline
25
-
26
- - min_upstreams
27
- - 0 or 1
28
- - 0 means this operator does not need inputs from an upstream operator
29
- - 1 means this operator needs input from at least one upstream operator
30
- - max_upstreams
31
- - 0, 1, or 99
32
- - 0 means this operator does not take input from an upstream operator
33
- - 1 means this operator takes input from up to one upstream operator
34
- - 99 means this operator takes input from unlimited upstream operators
35
- - preferred_name
36
- - If this option is present, this is the name of the operator to display in the UI
37
- - If this option is missing, run the name of the operator through the equivalent of ActiveSupport#humanize
38
- - operation
39
- - The name of the operation
40
- - This is the name to use when translating the structure in the UI into a ConceptQL statement
41
- - options
42
- - A hash of the parameters that an operation expects
43
- - Key is the name of the parameters (run through ActiveSupport#humanize to get the name to display in the UI)
44
- - Value is a hash described in Option Metadata Outline below
45
- - categories
46
- - An array of arrays representing the categories this operator is assigned to
47
- - Each sub-array represents a path of categories and sub-categories that the operator is assigned to
48
- - At the moment, all sub-arrays are single element arrays and no sub-categories are used
49
- - So, it's safe to flatten the array of arrays and assign an operator to each of the categories in the flattened array
50
- - **If an operator has no categories assigned, it should NOT appear in the UI**
51
- - arguments
52
- - Similar to options
53
- - When the UI generates the corresponding ConceptQL, values assigned to arguments should be listed as elements 1 thru XX in the array that represents the current operator
54
- - desc
55
- - Description of the operator, to be displayed when the user is interacting with that operator
56
- - predominant_domains
57
- - A list of one or more domains that the operator is known to represent
58
- - This should be used as a means to declare what domain color(s) to use to represent the operator and how many lines the operator should generate
59
- - This option should only appear in selection operators and casting operators
60
- - basic_type
61
- - I don't know what this does but it seemed like information needed for Envy's JAM
62
-
63
- ### Option Metadata Outline
64
-
65
- - type
66
- - Dictates what type of input the operator expects for this parameter
67
- - Can be one of the following types:
68
- - string
69
- - A string of text
70
- - integer
71
- - A whole number, positive or negative
72
- - boolean
73
- - Either true or false
74
- - Can be respresented by a checkbox or similar, toggleable UI item
75
- - codelist
76
- - Eventually the UI should provide a sophisticated means of selecting codes from a specific terminology (specified by the vocab option)
77
- - For now, expect a comma delimited list of codes in a textarea
78
- - upstream
79
- - Indicates that we need input from an upstream operator
80
- - vocab
81
- - Specifies which terminology to use when presenting a list of codes to select from
82
- - Should only be used when type is codelist
83
- - options
84
- - An array representing an enumeration of all possible values that can be used for this option/argument
85
- - The UI should present only these options for a user to choose and disallow any other input from the user
86
- - default
87
- - The default value for this parameter
88
- - required
89
- - True if this parameter must have a value