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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +228 -27
- data/LICENSE +21 -0
- data/README.md +28 -98
- data/bin/conceptql +2 -1
- data/bin/conceptql_utils +6 -0
- data/config/multiple_vocabularies.csv +4 -0
- data/config/provenance.yml +471 -436
- 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 +13 -8
- data/lib/conceptql/behaviors/labish.rb +15 -9
- data/lib/conceptql/behaviors/metadatable.rb +102 -34
- data/lib/conceptql/behaviors/provenanceable.rb +15 -19
- 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 +99 -134
- 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 +195 -23
- data/lib/conceptql/date_adjuster.rb +57 -27
- 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 +45 -15
- data/lib/conceptql/operators/after.rb +24 -21
- data/lib/conceptql/operators/any_overlap.rb +6 -6
- data/lib/conceptql/operators/before.rb +24 -16
- data/lib/conceptql/operators/binary_operator_operator.rb +52 -13
- data/lib/conceptql/operators/casting_operator.rb +24 -17
- data/lib/conceptql/operators/co_reported.rb +78 -9
- data/lib/conceptql/operators/concurrent_within.rb +29 -17
- data/lib/conceptql/operators/contains.rb +9 -9
- data/lib/conceptql/operators/count.rb +9 -9
- data/lib/conceptql/operators/date_range.rb +40 -18
- data/lib/conceptql/operators/death.rb +10 -2
- data/lib/conceptql/operators/dedup.rb +31 -0
- data/lib/conceptql/operators/during.rb +5 -12
- data/lib/conceptql/operators/episode.rb +146 -0
- data/lib/conceptql/operators/equal.rb +6 -3
- data/lib/conceptql/operators/ethnicity.rb +49 -0
- data/lib/conceptql/operators/except.rb +15 -20
- data/lib/conceptql/operators/filter.rb +20 -8
- data/lib/conceptql/operators/first.rb +14 -3
- data/lib/conceptql/operators/from.rb +33 -12
- data/lib/conceptql/operators/gender.rb +27 -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 +4 -5
- data/lib/conceptql/operators/last.rb +14 -3
- data/lib/conceptql/operators/match.rb +91 -0
- data/lib/conceptql/operators/multiple_vocabularies.rb +172 -0
- data/lib/conceptql/operators/numeric.rb +52 -29
- data/lib/conceptql/operators/numeric_filter.rb +68 -0
- data/lib/conceptql/operators/occurrence.rb +133 -48
- data/lib/conceptql/operators/one_in_two_out.rb +198 -62
- data/lib/conceptql/operators/operator.rb +321 -408
- data/lib/conceptql/operators/pass_thru.rb +9 -5
- data/lib/conceptql/operators/person.rb +12 -2
- data/lib/conceptql/operators/person_filter.rb +5 -3
- data/lib/conceptql/operators/place_of_service_filter.rb +11 -15
- data/lib/conceptql/operators/provenance.rb +25 -36
- data/lib/conceptql/operators/provider_filter.rb +40 -14
- data/lib/conceptql/operators/race.rb +48 -7
- data/lib/conceptql/operators/read.rb +77 -58
- data/lib/conceptql/operators/recall.rb +20 -20
- data/lib/conceptql/operators/snf.rb +19 -0
- data/lib/conceptql/operators/sum.rb +23 -12
- data/lib/conceptql/operators/temporal_operator.rb +80 -54
- data/lib/conceptql/operators/time_window.rb +13 -15
- data/lib/conceptql/operators/trim_date.rb +71 -0
- data/lib/conceptql/operators/trim_date_end.rb +20 -40
- data/lib/conceptql/operators/trim_date_start.rb +20 -43
- data/lib/conceptql/operators/union.rb +59 -35
- data/lib/conceptql/operators/vocabulary.rb +151 -0
- data/lib/conceptql/paths.rb +41 -0
- data/lib/conceptql/query.rb +168 -46
- 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 +6 -2
- data/lib/conceptql/rdbms/duckdb.rb +21 -0
- data/lib/conceptql/rdbms/generic.rb +116 -0
- data/lib/conceptql/rdbms/postgres.rb +47 -0
- data/lib/conceptql/rdbms/spark.rb +18 -0
- data/lib/conceptql/rdbms.rb +22 -0
- data/lib/conceptql/scope.rb +353 -41
- data/lib/conceptql/utils.rb +70 -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 +53 -10
- 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 +271 -2065
- data/.gitignore +0 -25
- data/Gemfile +0 -6
- data/Guardfile +0 -56
- data/LICENSE.txt +0 -22
- data/Rakefile +0 -35
- data/conceptql.gemspec +0 -31
- data/doc/ConceptQL Specification (alpha).pdf +0 -0
- data/doc/converter.rb +0 -33
- data/doc/diagram_0.png +0 -0
- data/doc/implementation_notes.md +0 -39
- data/doc/metadata.md +0 -89
- data/doc/spec/02f44ad35d266ddd0a4df1691d26bf4a297b30604fc3f44b0391d6d852d23a9f.png +0 -0
- data/doc/spec/0360fc0c2b7a88fd82ffc4d13387b76766649d5d42aa8f9349bbf60a81ac6119.png +0 -0
- data/doc/spec/04491942fcbd741982514f9eb12aeecf3d54b5b69a2b50c8331f7700169d5521.png +0 -0
- data/doc/spec/05f9b844571ffceeed2def3025fb60c68552817b8b73d3c8a76939dbc08b7c65.png +0 -0
- data/doc/spec/067241a3579767a802d4f8e20fd35b60adbe377c9a6512ef135f164a5accfb27.png +0 -0
- data/doc/spec/1102fa717b1c2df67af5220bf3ae219afafd79be7bba0c117e301983385ada52.png +0 -0
- data/doc/spec/11f57941951bad5a75f9a16f38a31a3c6bf3046a475aac6e398e780892fab4ad.png +0 -0
- data/doc/spec/15268bc45993d3f57ccf915877f91e48bdee684f24faa614249915833cac4af9.png +0 -0
- data/doc/spec/253845fe6162621af407ebd110296ff4f6d8a3f23ec75dfb4ea8cda30be71262.png +0 -0
- data/doc/spec/26fd52b5ac55438dd9f81b4a3f3913f1058c9f225c8a5e129007c1e9413d5881.png +0 -0
- data/doc/spec/2b57886a9cba66bb696e4b399c51ad0dc95cd64b952709fafc819a79d573f09e.png +0 -0
- data/doc/spec/307a8b5a7edd6e42f8be16523a4c939faf1a0533385c861d7004b6af8addd7d1.png +0 -0
- data/doc/spec/328467a6a419c7c05e299b8097e5e000686068ded8dc6d5f2e2de6f51976c315.png +0 -0
- data/doc/spec/39d6a8eb71cae51b1d6937c97134e51f04fd47c54535ff0915fe6a8b4f197fb2.png +0 -0
- data/doc/spec/3f46dee4d775d1a29d52b68af6552f8ea3abd8303094e749714fc77bd7958155.png +0 -0
- data/doc/spec/44ec6743d5d77d15b8a487c2058bf3e455d34adc91c46ea05767f6e0e471a75e.png +0 -0
- data/doc/spec/462153be527b28dc2cb5259c0aec62e1f529e8b60dc6e9c23fd1e06e8be933c9.png +0 -0
- data/doc/spec/4a3b47ed1c54f96ebdae693d41c36c51884c4546ef799a4108085708fb7b964e.png +0 -0
- data/doc/spec/514f263e976d07c0d9e0a86c79bcbdcddc7d444d7b72135294ad78758effd28f.png +0 -0
- data/doc/spec/58113a57a37431a402d2547369eba3a481bf1dbbfd82dc384406a5c91f6df01f.png +0 -0
- data/doc/spec/5d331d74c460d75814b2d3138a9b7d90b5ddb2dcd85e1f5f260d183745fc3a1e.png +0 -0
- data/doc/spec/5d6ff62038b75d6f240d65f35d1520a131c221f47d3801554c8c2be5d528ebb0.png +0 -0
- data/doc/spec/62323426e381ec21c967971a67e1f4a6d89dae92154bd937284e00b67f67fdd3.png +0 -0
- data/doc/spec/6705af65d728c0d5c50d6c4d46253017a91eb459dbb1f40f92449f05d5562f4a.png +0 -0
- data/doc/spec/68fac940a32c7e40caacf8e560c61da552d57633d015ba98f2e98ec040a00c5b.png +0 -0
- data/doc/spec/6a34c0ef589c9c976fe41f3e67e799e198499f5b9c3ebfd240fb91f73e893573.png +0 -0
- data/doc/spec/6b48534236697d1ccfa1f5403764782f9d228f9eb706789cfa80203882b7b13a.png +0 -0
- data/doc/spec/7aa76b4d29874719466c2cbafc9936e9f12e504bf31e1a09d26ca3fffa8ba1a6.png +0 -0
- data/doc/spec/7b9db2986ab9ada45cfb9451ef87ff1a2d99c908083334b7ccdceb8a92387fa9.png +0 -0
- data/doc/spec/8101d9b89d9ba8070d585432707b43a8acdb4c2a3e9d37c3f7114b5e3ea9e800.png +0 -0
- data/doc/spec/886bf85249a704668a55c5161bceaac10be4a41a94b91606f49851dfa017526c.png +0 -0
- data/doc/spec/8ed478d8c81a58a202d0c51348fca246df206fc24a0567b163d4e0bdab56ca46.png +0 -0
- data/doc/spec/9139440329dcb815df89bc70182c3827868402a74ff64d0253706dcaff723dca.png +0 -0
- data/doc/spec/99392f56dfb0e5be3f45a12a7f1ba846d094e430f526dfeaa30b606837cd34c0.png +0 -0
- data/doc/spec/a4450e8c0fe0e2fde92fe9bd61952f907b1976c1aa3ba963b809bed079d42b09.png +0 -0
- data/doc/spec/a4bc7382a1154ea9856544fd48418f3dd9ce474ca94b8859fc323749c6cc1f55.png +0 -0
- data/doc/spec/a79274742cf6fac6f6c9f4a0eb651aeb452f9c43b537c8e6ccaefecd05b7105c.png +0 -0
- data/doc/spec/a9b4528726adec2a90f3f00139d8d0492f13c51f03c2f9ed6a5134b1b26b44a9.png +0 -0
- data/doc/spec/af5ae3787e80bf0771f18f1a04fe4c5d9291e1e0f963ac408a7bc198d2f1ee28.png +0 -0
- data/doc/spec/ba572c4f4dbade65be55f141df16cf7b3e7d09e0aec4e4e5debc4f2075277371.png +0 -0
- data/doc/spec/ba90ef705f7be91c53c5eb4a81a439fa0f7c48532214bd3db3cc5c069160543e.png +0 -0
- data/doc/spec/c1d0402862221d85aceedc7d76b3f82149b612cbd972f14d0ca9011e1e2c455c.png +0 -0
- data/doc/spec/c2157d8a6b73abe4f22ba5042159f32502c74bf6d762be28d2df6831586822c7.png +0 -0
- data/doc/spec/c5329a7f4937096a57b2e01efb9d542f84a4e2329a1e9381d08c630583ccad37.png +0 -0
- data/doc/spec/c82077b9455d0f9abc2c45ee1a298e38b99c9ce9cd685f65d87b376d7718d7ad.png +0 -0
- data/doc/spec/c93dd18894a245a5647f99e1867d3779e4cd34c9c8f8860600ff0c837a5ffa53.png +0 -0
- data/doc/spec/cc960a268d51ccf2ebde657d36848f780213834844900018bce3d111843f7b0f.png +0 -0
- data/doc/spec/d39452b58257c95a7cba07afed4877417b0c227f3690e2bff22c9eca89eac845.png +0 -0
- data/doc/spec/d64993258ffbef9406d9ab9136de7af530626b3a69e9eeb75835e11f11dabf62.png +0 -0
- data/doc/spec/da450cdd0c94a1301bd98560339a45caa8041e09974352a56ecfb144e9a5e4d4.png +0 -0
- data/doc/spec/dbc66b3ae6bd7123d77dd04b64f8a24498d048725a55c5340b15f5ae0a1ff307.png +0 -0
- data/doc/spec/de589af36fa854e006a1563c93e644e2210f2a5616babb779f7f38aadb6c1ed7.png +0 -0
- data/doc/spec/defbd0b853d895802663f507761ad297d82e167f516c6082686a2a19b76012c5.png +0 -0
- data/doc/spec/e1cb0863b21e14256d61a54200316791f6547c78ba2f0156c110f4500f9bbd49.png +0 -0
- data/doc/spec/e8630103287f7c9d28eff40b3b1826e24846e776b877f7b8554257acbe621e1c.png +0 -0
- data/doc/spec/e9b384fa7dec5f1a06479c4b289e06b1e60e4f23f7630aff6d03c52595f500f8.png +0 -0
- data/doc/spec/ea935ac31f3b57ff373646780a1fba34a38c9e086dc771eb7fc16c65a7e20cfc.png +0 -0
- data/doc/spec/eb8f5511f7d88bd0f8ba73420fc10f7c78405db7f4373d778a827058707f888e.png +0 -0
- data/doc/spec/ebacbd092e3d1a3c7b745a381e51e8ff9d63a21db23a16940193e18e57bc866f.png +0 -0
- data/doc/spec/ed039f82867241393b1a6a7153d3690461103934c72c1f3eaa3d99a12bb40885.png +0 -0
- data/doc/spec/ee283d6a4b69cf10da2df703be3a16830be9cd8cd4f68c5f7afdf558ea28fa76.png +0 -0
- data/doc/spec/f0c734b099841a754ae0366afb00e992ad4814479b65e4a7de23c6e3dd85c09a.png +0 -0
- data/doc/spec/f6b4fc31703cfb6327bbbd4614af8bb72da6d39fa3d53ada63a70157f2fad80e.png +0 -0
- data/doc/spec/f766f2e3aa13420e3ba0f823ac7956b311ed7c6c20be26b72324fadd87f36712.png +0 -0
- data/doc/spec/ff7d5b5573d09bd7c4cdd3aeda124d18bf82ec46673a62881b399a75d69f3f53.png +0 -0
- data/doc/spec.md +0 -2258
- data/doc/spec.md.cql +0 -1930
- data/lib/conceptql/annotate_grapher.rb +0 -127
- data/lib/conceptql/fake_annotater.rb +0 -129
- data/lib/conceptql/knitter.rb +0 -221
- data/lib/conceptql/logger.rb +0 -10
- data/lib/conceptql/operators/complement.rb +0 -43
- data/lib/conceptql/operators/condition_occurrence_source_vocabulary_operator.rb +0 -34
- data/lib/conceptql/operators/condition_occurrence_source_vocabulary_operator_union.rb +0 -28
- data/lib/conceptql/operators/condition_type.rb +0 -79
- data/lib/conceptql/operators/cpt.rb +0 -28
- data/lib/conceptql/operators/cpt_or_hcpcs.rb +0 -27
- data/lib/conceptql/operators/drg.rb +0 -42
- data/lib/conceptql/operators/drug_type_concept.rb +0 -30
- data/lib/conceptql/operators/from_seer_visits.rb +0 -29
- data/lib/conceptql/operators/hcpcs.rb +0 -28
- data/lib/conceptql/operators/icd10.rb +0 -19
- data/lib/conceptql/operators/icd10_pcs.rb +0 -28
- data/lib/conceptql/operators/icd9.rb +0 -19
- data/lib/conceptql/operators/icd9_procedure.rb +0 -28
- data/lib/conceptql/operators/intersect.rb +0 -39
- data/lib/conceptql/operators/loinc.rb +0 -28
- data/lib/conceptql/operators/medcode.rb +0 -17
- data/lib/conceptql/operators/medcode_procedure.rb +0 -28
- data/lib/conceptql/operators/ndc.rb +0 -32
- data/lib/conceptql/operators/observation_by_enttype.rb +0 -32
- data/lib/conceptql/operators/observation_period.rb +0 -32
- data/lib/conceptql/operators/overlapped_by.rb +0 -26
- data/lib/conceptql/operators/overlaps.rb +0 -21
- data/lib/conceptql/operators/place_of_service_code.rb +0 -31
- data/lib/conceptql/operators/procedure_occurrence.rb +0 -27
- data/lib/conceptql/operators/prodcode.rb +0 -32
- data/lib/conceptql/operators/revenue_code.rb +0 -40
- data/lib/conceptql/operators/rxnorm.rb +0 -28
- data/lib/conceptql/operators/snomed.rb +0 -25
- data/lib/conceptql/operators/source_vocabulary_operator.rb +0 -88
- data/lib/conceptql/operators/standard_vocabulary_operator.rb +0 -66
- data/lib/conceptql/operators/started_by.rb +0 -23
- data/lib/conceptql/operators/to_seer_visits.rb +0 -29
- data/lib/conceptql/operators/visit_occurrence.rb +0 -32
- data/lib/conceptql/operators/vocabulary_operator.rb +0 -45
- data/lib/conceptql/query_modifiers/drug_query_modifier.rb +0 -45
- data/lib/conceptql/query_modifiers/pos_query_modifier.rb +0 -31
- data/lib/conceptql/sql_formatter.rb +0 -22
- data/test/all.rb +0 -3
- data/test/all_operations_test.rb +0 -45
- data/test/code_list_test.rb +0 -23
- data/test/data/omopv4/care_site.csv +0 -0
- data/test/data/omopv4/cohort.csv +0 -0
- data/test/data/omopv4/condition_era.csv +0 -0
- data/test/data/omopv4/condition_occurrence.csv +0 -34044
- data/test/data/omopv4/death.csv +0 -1
- data/test/data/omopv4/drug_cost.csv +0 -0
- data/test/data/omopv4/drug_era.csv +0 -0
- data/test/data/omopv4/drug_exposure.csv +0 -2
- data/test/data/omopv4/location.csv +0 -0
- data/test/data/omopv4/observation.csv +0 -2
- data/test/data/omopv4/observation_period.csv +0 -1
- data/test/data/omopv4/organization.csv +0 -0
- data/test/data/omopv4/payer_plan_period.csv +0 -0
- data/test/data/omopv4/person.csv +0 -250
- data/test/data/omopv4/procedure_cost.csv +0 -0
- data/test/data/omopv4/procedure_occurrence.csv +0 -35099
- data/test/data/omopv4/provider.csv +0 -0
- data/test/data/omopv4/visit_occurrence.csv +0 -14931
- data/test/data/omopv4_plus/care_site.csv +0 -0
- data/test/data/omopv4_plus/cohort.csv +0 -0
- data/test/data/omopv4_plus/concept.csv +0 -352
- data/test/data/omopv4_plus/condition_era.csv +0 -0
- data/test/data/omopv4_plus/condition_occurrence.csv +0 -46673
- data/test/data/omopv4_plus/death.csv +0 -9
- data/test/data/omopv4_plus/drug_cost.csv +0 -13921
- data/test/data/omopv4_plus/drug_era.csv +0 -0
- data/test/data/omopv4_plus/drug_exposure.csv +0 -13921
- data/test/data/omopv4_plus/headers/care_site.csv +0 -1
- data/test/data/omopv4_plus/headers/cohort.csv +0 -1
- data/test/data/omopv4_plus/headers/concept.csv +0 -1
- data/test/data/omopv4_plus/headers/condition_era.csv +0 -1
- data/test/data/omopv4_plus/headers/condition_occurrence.csv +0 -1
- data/test/data/omopv4_plus/headers/death.csv +0 -1
- data/test/data/omopv4_plus/headers/drug_cost.csv +0 -1
- data/test/data/omopv4_plus/headers/drug_era.csv +0 -1
- data/test/data/omopv4_plus/headers/drug_exposure.csv +0 -1
- data/test/data/omopv4_plus/headers/location.csv +0 -1
- data/test/data/omopv4_plus/headers/observation.csv +0 -1
- data/test/data/omopv4_plus/headers/observation_period.csv +0 -1
- data/test/data/omopv4_plus/headers/organization.csv +0 -1
- data/test/data/omopv4_plus/headers/payer_plan_period.csv +0 -1
- data/test/data/omopv4_plus/headers/person.csv +0 -1
- data/test/data/omopv4_plus/headers/procedure_cost.csv +0 -1
- data/test/data/omopv4_plus/headers/procedure_occurrence.csv +0 -1
- data/test/data/omopv4_plus/headers/provider.csv +0 -1
- data/test/data/omopv4_plus/headers/source_to_concept_map.csv +0 -1
- data/test/data/omopv4_plus/headers/visit_occurrence.csv +0 -1
- data/test/data/omopv4_plus/headers/vocabulary.csv +0 -1
- data/test/data/omopv4_plus/location.csv +0 -0
- data/test/data/omopv4_plus/observation.csv +0 -0
- data/test/data/omopv4_plus/observation_period.csv +0 -147
- data/test/data/omopv4_plus/organization.csv +0 -736
- data/test/data/omopv4_plus/payer_plan_period.csv +0 -808
- data/test/data/omopv4_plus/person.csv +0 -250
- data/test/data/omopv4_plus/procedure_cost.csv +0 -20123
- data/test/data/omopv4_plus/procedure_occurrence.csv +0 -27273
- data/test/data/omopv4_plus/provider.csv +0 -10193
- data/test/data/omopv4_plus/source_to_concept_map.csv +0 -285
- data/test/data/omopv4_plus/visit_occurrence.csv +0 -45125
- data/test/data/omopv4_plus/vocabulary.csv +0 -60
- data/test/db.rb +0 -15
- data/test/db_setup.rb +0 -408
- data/test/db_teardown.rb +0 -33
- data/test/fake_annotater_test.rb +0 -31
- data/test/helper.rb +0 -129
- data/test/knitter/conceptql.md.cql +0 -39
- data/test/knitter/conceptql.md.expect +0 -43
- data/test/knitter/empty.md.cql +0 -0
- data/test/knitter/except.md.cql +0 -13
- data/test/knitter/except.md.expect +0 -14
- data/test/knitter/fake.md.cql +0 -10
- data/test/knitter/fake.md.expect +0 -13
- data/test/knitter/many.md.cql +0 -7
- data/test/knitter/many.md.expect +0 -14
- data/test/knitter/no_conceptql.md.cql +0 -36
- data/test/knitter/title.md.cql +0 -12
- data/test/knitter/title.md.expect +0 -15
- data/test/knitter/union.md.cql +0 -11
- data/test/knitter/union.md.expect +0 -14
- data/test/knitter_test.rb +0 -69
- data/test/query_test.rb +0 -36
- data/test/results/omopv4/after/anno_1 +0 -25
- data/test/results/omopv4/after/anno_2 +0 -48
- data/test/results/omopv4/after/anno_3 +0 -34
- data/test/results/omopv4/after/anno_4 +0 -60
- data/test/results/omopv4/after/anno_5 +0 -68
- data/test/results/omopv4/after/anno_6 +0 -60
- data/test/results/omopv4/after/crit_at_least +0 -7
- data/test/results/omopv4/after/crit_basic +0 -32
- data/test/results/omopv4/after/crit_occurrences +0 -12
- data/test/results/omopv4/after/crit_within +0 -6
- data/test/results/omopv4/any_overlap/crit_basic1 +0 -15
- data/test/results/omopv4/any_overlap/crit_basic2 +0 -15
- data/test/results/omopv4/any_overlap/crit_occurrences1 +0 -2
- data/test/results/omopv4/any_overlap/crit_occurrences2 +0 -15
- data/test/results/omopv4/any_overlap/crit_within +0 -8
- data/test/results/omopv4/before/crit_at_least +0 -6
- data/test/results/omopv4/before/crit_basic1 +0 -48
- data/test/results/omopv4/before/crit_basic2 +0 -7
- data/test/results/omopv4/before/crit_occurrences +0 -13
- data/test/results/omopv4/before/crit_within +0 -18
- data/test/results/omopv4/co_reported/anno_1 +0 -43
- data/test/results/omopv4/co_reported/anno_2 +0 -66
- data/test/results/omopv4/complement/anno_duplicate_params +0 -52
- data/test/results/omopv4/complement/anno_invalid_params +0 -37
- data/test/results/omopv4/complement/anno_no_params +0 -18
- data/test/results/omopv4/complement/count_3way_intersect +0 -4
- data/test/results/omopv4/complement/count_3way_union +0 -4
- data/test/results/omopv4/complement/count_intersect +0 -3
- data/test/results/omopv4/complement/count_union +0 -3
- data/test/results/omopv4/complement/count_union_and_intersect +0 -4
- data/test/results/omopv4/complement/crit_3way_intersect +0 -1
- data/test/results/omopv4/complement/crit_3way_union +0 -1
- data/test/results/omopv4/complement/crit_basic1 +0 -33998
- data/test/results/omopv4/complement/crit_icd9_selector +0 -54
- data/test/results/omopv4/complement/crit_intersect +0 -1
- data/test/results/omopv4/complement/crit_union +0 -1
- data/test/results/omopv4/complement/crit_union_and_intersect +0 -1
- data/test/results/omopv4/complex/anno_1 +0 -85
- data/test/results/omopv4/complex/crit_1 +0 -2
- data/test/results/omopv4/complex/crit_2 +0 -2
- data/test/results/omopv4/complex/crit_3 +0 -2
- data/test/results/omopv4/complex/crit_4 +0 -5
- data/test/results/omopv4/complex/crit_5 +0 -6
- data/test/results/omopv4/complex/crit_6 +0 -28
- data/test/results/omopv4/complex/crit_7 +0 -46
- data/test/results/omopv4/complex/crit_out_of_order_ctes +0 -7
- data/test/results/omopv4/complex/scanno_1 +0 -3
- data/test/results/omopv4/concurrent_within/crit_icd9 +0 -54
- data/test/results/omopv4/concurrent_within/crit_icd9_and_place_of_service +0 -23
- data/test/results/omopv4/concurrent_within/crit_negative_start +0 -5
- data/test/results/omopv4/condition_type/anno_icd9 +0 -39
- data/test/results/omopv4/condition_type/count_condition_era +0 -2
- data/test/results/omopv4/condition_type/count_condition_era_30_day_window +0 -2
- data/test/results/omopv4/condition_type/count_ehr_problem_list +0 -2
- data/test/results/omopv4/condition_type/count_era_0 +0 -2
- data/test/results/omopv4/condition_type/count_inpatient +0 -3
- data/test/results/omopv4/condition_type/count_inpatient_detail +0 -2
- data/test/results/omopv4/condition_type/count_inpatient_header +0 -3
- data/test/results/omopv4/condition_type/count_inpatient_header_2 +0 -3
- data/test/results/omopv4/condition_type/count_inpatient_header_3 +0 -3
- data/test/results/omopv4/condition_type/count_inpatient_header_4 +0 -3
- data/test/results/omopv4/condition_type/count_inpatient_header_5 +0 -3
- data/test/results/omopv4/condition_type/count_inpatient_outpatient_detail +0 -3
- data/test/results/omopv4/condition_type/count_inpatient_primary +0 -2
- data/test/results/omopv4/condition_type/count_inpatient_primary_or_first +0 -3
- data/test/results/omopv4/condition_type/count_outpatient +0 -3
- data/test/results/omopv4/condition_type/count_outpatient_detail +0 -3
- data/test/results/omopv4/condition_type/count_outpatient_header +0 -2
- data/test/results/omopv4/condition_type/count_outpatient_primary +0 -3
- data/test/results/omopv4/condition_type/count_primary +0 -3
- data/test/results/omopv4/condition_type/crit_condition_era +0 -1
- data/test/results/omopv4/condition_type/crit_condition_era_30_day_window +0 -1
- data/test/results/omopv4/condition_type/crit_ehr_problem_list +0 -1
- data/test/results/omopv4/condition_type/crit_era_0 +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient_detail +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient_header +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient_header_2 +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient_header_3 +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient_header_4 +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient_header_5 +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient_primary +0 -1
- data/test/results/omopv4/condition_type/crit_inpatient_primary_or_first +0 -1
- data/test/results/omopv4/condition_type/crit_outpatient +0 -1
- data/test/results/omopv4/condition_type/crit_outpatient_detail +0 -1
- data/test/results/omopv4/condition_type/crit_outpatient_header +0 -1
- data/test/results/omopv4/condition_type/crit_outpatient_primary +0 -1
- data/test/results/omopv4/condition_type/crit_primary +0 -1
- data/test/results/omopv4/contains/crit_1 +0 -5
- data/test/results/omopv4/contains/crit_2 +0 -2
- data/test/results/omopv4/contains/crit_3 +0 -2
- data/test/results/omopv4/count/anno_multiple_upstreams +0 -52
- data/test/results/omopv4/count/anno_no_upstream1 +0 -18
- data/test/results/omopv4/count/anno_no_upstream2 +0 -25
- data/test/results/omopv4/count/crit_icd9_ndc +0 -8
- data/test/results/omopv4/count/crit_ndc +0 -5
- data/test/results/omopv4/count/crit_person +0 -254
- data/test/results/omopv4/cpt/anno_icd9_upstream +0 -40
- data/test/results/omopv4/cpt/anno_invalid_code +0 -22
- data/test/results/omopv4/cpt/count_1 +0 -3
- data/test/results/omopv4/cpt/crit_1 +0 -174
- data/test/results/omopv4/cpt/crit_2 +0 -1
- data/test/results/omopv4/cpt/scanno_1 +0 -17
- data/test/results/omopv4/cpt_or_hcpcs/anno_bad_format +0 -25
- data/test/results/omopv4/cpt_or_hcpcs/count_1 +0 -3
- data/test/results/omopv4/cpt_or_hcpcs/crit_1 +0 -179
- data/test/results/omopv4/cpt_or_hcpcs/crit_2 +0 -1
- data/test/results/omopv4/date_range/anno_1 +0 -15
- data/test/results/omopv4/date_range/anno_extra_argument +0 -24
- data/test/results/omopv4/date_range/anno_invalid_argument +0 -25
- data/test/results/omopv4/date_range/anno_missing_argument1 +0 -20
- data/test/results/omopv4/date_range/anno_missing_argument2 +0 -20
- data/test/results/omopv4/date_range/anno_no_upstreams +0 -38
- data/test/results/omopv4/date_range/count_1 +0 -3
- data/test/results/omopv4/date_range/count_2 +0 -3
- data/test/results/omopv4/date_range/crit_1 +0 -1
- data/test/results/omopv4/date_range/crit_2 +0 -1
- data/test/results/omopv4/death/anno_multiple_upstreams +0 -50
- data/test/results/omopv4/death/anno_no_upstreams +0 -22
- data/test/results/omopv4/death/crit_basic +0 -5
- data/test/results/omopv4/death/crit_person +0 -5
- data/test/results/omopv4/drug_type_concept/anno_has_upstreams +0 -37
- data/test/results/omopv4/drug_type_concept/anno_no_arguments +0 -18
- data/test/results/omopv4/drug_type_concept/crit_basic1 +0 -5
- data/test/results/omopv4/drug_type_concept/crit_basic2 +0 -2
- data/test/results/omopv4/during/crit_1 +0 -15
- data/test/results/omopv4/during/crit_2 +0 -2
- data/test/results/omopv4/equal/crit_1 +0 -5
- data/test/results/omopv4/equal/crit_2 +0 -5
- data/test/results/omopv4/except/anno_1 +0 -42
- data/test/results/omopv4/except/anno_2 +0 -43
- data/test/results/omopv4/except/count_complex +0 -5
- data/test/results/omopv4/except/crit_412_cpt +0 -54
- data/test/results/omopv4/except/crit_412_inpatient +0 -46
- data/test/results/omopv4/except/crit_complex +0 -1
- data/test/results/omopv4/filter/crit_1 +0 -54
- data/test/results/omopv4/first/anno_argument +0 -25
- data/test/results/omopv4/first/anno_no_upstream +0 -18
- data/test/results/omopv4/first/crit_cpt +0 -207
- data/test/results/omopv4/first/crit_icd9 +0 -42
- data/test/results/omopv4/first/crit_union +0 -45
- data/test/results/omopv4/from/anno_has_upstreams +0 -39
- data/test/results/omopv4/from/anno_multiple_arguments +0 -24
- data/test/results/omopv4/from/count_condition_occurrence +0 -3
- data/test/results/omopv4/from/count_observation_period +0 -3
- data/test/results/omopv4/from/count_person +0 -3
- data/test/results/omopv4/from_seer_visits/anno_multiple_upstreams +0 -78
- data/test/results/omopv4/from_seer_visits/anno_no_upstream +0 -18
- data/test/results/omopv4/from_seer_visits/crit_1 +0 -6
- data/test/results/omopv4/from_seer_visits/crit_2 +0 -5
- data/test/results/omopv4/from_seer_visits/crit_3 +0 -5
- data/test/results/omopv4/from_seer_visits/crit_4 +0 -6
- data/test/results/omopv4/gender/anno_has_upstreams +0 -39
- data/test/results/omopv4/gender/crit_male +0 -130
- data/test/results/omopv4/hcpcs/anno_bad_format +0 -24
- data/test/results/omopv4/hcpcs/crit_A0382 +0 -9
- data/test/results/omopv4/icd10/anno_bad_format +0 -22
- data/test/results/omopv4/icd10/anno_has_upstreams +0 -40
- data/test/results/omopv4/icd10/crit_1 +0 -5
- data/test/results/omopv4/icd10pcs/anno_bad_format +0 -28
- data/test/results/omopv4/icd10pcs/anno_has_upstreams +0 -40
- data/test/results/omopv4/icd10pcs/crit_1 +0 -2
- data/test/results/omopv4/icd9/anno_empty_label +0 -15
- data/test/results/omopv4/icd9/anno_invalid_code +0 -21
- data/test/results/omopv4/icd9/crit_1 +0 -54
- data/test/results/omopv4/icd9_procedure/crit_1 +0 -5
- data/test/results/omopv4/intersect/anno_412_inpatient +0 -42
- data/test/results/omopv4/intersect/anno_has_arguments +0 -25
- data/test/results/omopv4/intersect/anno_no_upstream +0 -18
- data/test/results/omopv4/intersect/crit_412_inpatient +0 -12
- data/test/results/omopv4/intersect/crit_412_male +0 -182
- data/test/results/omopv4/intersect/crit_complex +0 -118
- data/test/results/omopv4/invalid/anno_bad_op +0 -55
- data/test/results/omopv4/invalid/scanno_1 +0 -23
- data/test/results/omopv4/last/crit_icd9 +0 -42
- data/test/results/omopv4/loinc/crit_basic +0 -5
- data/test/results/omopv4/ndc/crit_basic +0 -5
- data/test/results/omopv4/numeric/anno_multiple_upstreams +0 -59
- data/test/results/omopv4/numeric/num_values_1 +0 -254
- data/test/results/omopv4/numeric/num_values_2 +0 -5
- data/test/results/omopv4/numeric/num_values_3 +0 -5
- data/test/results/omopv4/observation_period/anno_has_arguments +0 -36
- data/test/results/omopv4/observation_period/anno_multiple_upstreams +0 -51
- data/test/results/omopv4/observation_period/count_all_periods +0 -3
- data/test/results/omopv4/observation_period/crit_female +0 -2
- data/test/results/omopv4/observation_period/crit_icd9 +0 -5
- data/test/results/omopv4/observation_period/crit_male +0 -5
- data/test/results/omopv4/occurrence/anno_no_upstream +0 -22
- data/test/results/omopv4/occurrence/cc_412_410 +0 -1
- data/test/results/omopv4/occurrence/count_412_410 +0 -3
- data/test/results/omopv4/occurrence/crit_1 +0 -16
- data/test/results/omopv4/occurrence/crit_2 +0 -2
- data/test/results/omopv4/occurrence/crit_3 +0 -42
- data/test/results/omopv4/one_in_two_out/anno_has_arguments +0 -27
- data/test/results/omopv4/one_in_two_out/anno_multiple_upstreams +0 -54
- data/test/results/omopv4/one_in_two_out/anno_no_upstream +0 -20
- data/test/results/omopv4/one_in_two_out/count_1 +0 -3
- data/test/results/omopv4/one_in_two_out/crit_hcpcs +0 -7
- data/test/results/omopv4/one_in_two_out/crit_icd9 +0 -21
- data/test/results/omopv4/overlapped_by/crit_1 +0 -5
- data/test/results/omopv4/overlapped_by/crit_2 +0 -2
- data/test/results/omopv4/overlapped_by/crit_3 +0 -5
- data/test/results/omopv4/overlapped_by/crit_4 +0 -2
- data/test/results/omopv4/overlaps/crit_1 +0 -5
- data/test/results/omopv4/overlaps/crit_2 +0 -2
- data/test/results/omopv4/overlaps/crit_3 +0 -5
- data/test/results/omopv4/overlaps/crit_4 +0 -2
- data/test/results/omopv4/person/anno_has_arguments +0 -22
- data/test/results/omopv4/person/anno_multiple_upstreams +0 -52
- data/test/results/omopv4/person/count_2 +0 -3
- data/test/results/omopv4/person/crit_1 +0 -42
- data/test/results/omopv4/person/crit_2 +0 -1
- data/test/results/omopv4/person_filter/count_1 +0 -4
- data/test/results/omopv4/person_filter/crit_1 +0 -54
- data/test/results/omopv4/person_filter/crit_2 +0 -5
- data/test/results/omopv4/person_filter/crit_3 +0 -32
- data/test/results/omopv4/person_filter/crit_4 +0 -52
- data/test/results/omopv4/person_filter/crit_5 +0 -1
- data/test/results/omopv4/place_of_service_code/anno_has_upstreams +0 -37
- data/test/results/omopv4/place_of_service_code/anno_no_arguments +0 -18
- data/test/results/omopv4/place_of_service_code/crit_basic +0 -174
- data/test/results/omopv4/place_of_service_filter/anno_1 +0 -29
- data/test/results/omopv4/procedure_occurrence/anno_has_arguments +0 -37
- data/test/results/omopv4/procedure_occurrence/anno_multiple_upstreams +0 -51
- data/test/results/omopv4/procedure_occurrence/count_gender +0 -3
- data/test/results/omopv4/procedure_occurrence/count_icd9 +0 -3
- data/test/results/omopv4/procedure_occurrence/count_started_by +0 -3
- data/test/results/omopv4/procedure_occurrence/crit_gender +0 -1
- data/test/results/omopv4/procedure_occurrence/crit_icd9 +0 -1
- data/test/results/omopv4/procedure_occurrence/crit_started_by +0 -1
- data/test/results/omopv4/provenance/anno_1 +0 -29
- data/test/results/omopv4/provider_filter/anno_1 +0 -29
- data/test/results/omopv4/race/anno_1 +0 -37
- data/test/results/omopv4/race/anno_2 +0 -18
- data/test/results/omopv4/race/crit_1 +0 -28
- data/test/results/omopv4/read/anno_1 +0 -21
- data/test/results/omopv4/read/crit_1 +0 -2
- data/test/results/omopv4/recall/anno_1 +0 -54
- data/test/results/omopv4/recall/anno_2 +0 -66
- data/test/results/omopv4/recall/anno_3 +0 -20
- data/test/results/omopv4/recall/anno_4 +0 -18
- data/test/results/omopv4/recall/anno_5 +0 -24
- data/test/results/omopv4/recall/anno_6 +0 -270
- data/test/results/omopv4/recall/crit_1 +0 -21
- data/test/results/omopv4/recall/crit_2 +0 -54
- data/test/results/omopv4/recall/crit_3 +0 -2
- data/test/results/omopv4/recall/crit_cte_1 +0 -42
- data/test/results/omopv4/recall/crit_cte_2 +0 -42
- data/test/results/omopv4/recall/crit_nested_perm_0 +0 -54
- data/test/results/omopv4/revenue_code/crit_1 +0 -2
- data/test/results/omopv4/revenue_code/crit_basic +0 -2
- data/test/results/omopv4/revenue_code/domains_1 +0 -3
- data/test/results/omopv4/revenue_code/domains_drg100 +0 -3
- data/test/results/omopv4/rxnorm/crit_1 +0 -5
- data/test/results/omopv4/snomed/crit_1 +0 -84
- data/test/results/omopv4/started_by/crit_1 +0 -5
- data/test/results/omopv4/started_by/crit_2 +0 -2
- data/test/results/omopv4/started_by/crit_3 +0 -2
- data/test/results/omopv4/sum/anno_1 +0 -18
- data/test/results/omopv4/sum/anno_2 +0 -36
- data/test/results/omopv4/sum/num_1 +0 -5
- data/test/results/omopv4/sum/num_2 +0 -8
- data/test/results/omopv4/sum/num_3 +0 -254
- data/test/results/omopv4/time_window/anno_1 +0 -20
- data/test/results/omopv4/time_window/anno_2 +0 -40
- data/test/results/omopv4/time_window/anno_3 +0 -36
- data/test/results/omopv4/time_window/anno_4 +0 -39
- data/test/results/omopv4/time_window/anno_5 +0 -57
- data/test/results/omopv4/time_window/crit_1 +0 -54
- data/test/results/omopv4/time_window/crit_2 +0 -174
- data/test/results/omopv4/time_window/crit_3 +0 -54
- data/test/results/omopv4/time_window/crit_4 +0 -174
- data/test/results/omopv4/trim_date_end/crit_1 +0 -5
- data/test/results/omopv4/trim_date_end/crit_2 +0 -2
- data/test/results/omopv4/trim_date_end/crit_3 +0 -6
- data/test/results/omopv4/trim_date_end/crit_at_least +0 -5
- data/test/results/omopv4/trim_date_end/crit_occurrences_1 +0 -2
- data/test/results/omopv4/trim_date_end/crit_occurrences_2 +0 -6
- data/test/results/omopv4/trim_date_end/crit_within +0 -5
- data/test/results/omopv4/trim_date_start/crit_1 +0 -5
- data/test/results/omopv4/trim_date_start/crit_2 +0 -2
- data/test/results/omopv4/trim_date_start/crit_3 +0 -6
- data/test/results/omopv4/trim_date_start/crit_at_least +0 -5
- data/test/results/omopv4/trim_date_start/crit_occurrences_1 +0 -2
- data/test/results/omopv4/trim_date_start/crit_occurrences_2 +0 -6
- data/test/results/omopv4/trim_date_start/crit_within +0 -5
- data/test/results/omopv4/union/anno_1 +0 -43
- data/test/results/omopv4/union/anno_2 +0 -74
- data/test/results/omopv4/union/anno_3 +0 -18
- data/test/results/omopv4/union/anno_4 +0 -25
- data/test/results/omopv4/union/anno_5 +0 -33
- data/test/results/omopv4/union/anno_6 +0 -46
- data/test/results/omopv4/union/cc_1 +0 -1
- data/test/results/omopv4/union/cc_2 +0 -1
- data/test/results/omopv4/union/cc_3 +0 -1
- data/test/results/omopv4/union/cc_4 +0 -1
- data/test/results/omopv4/union/cc_5 +0 -1
- data/test/results/omopv4/union/count_1 +0 -3
- data/test/results/omopv4/union/count_2 +0 -3
- data/test/results/omopv4/union/count_3 +0 -3
- data/test/results/omopv4/union/count_4 +0 -3
- data/test/results/omopv4/union/count_5 +0 -4
- data/test/results/omopv4/union/scanno_1 +0 -22
- data/test/results/omopv4/union/scanno_2 +0 -36
- data/test/results/omopv4/visit_occurrence/anno_1 +0 -52
- data/test/results/omopv4/visit_occurrence/anno_2 +0 -37
- data/test/results/omopv4/visit_occurrence/crit_1 +0 -54
- data/test/results/omopv4/visit_occurrence/crit_2 +0 -7566
- data/test/results/omopv4/visit_occurrence/crit_3 +0 -14935
- data/test/results/omopv4_plus/after/anno_1 +0 -25
- data/test/results/omopv4_plus/after/anno_2 +0 -48
- data/test/results/omopv4_plus/after/anno_3 +0 -34
- data/test/results/omopv4_plus/after/anno_4 +0 -60
- data/test/results/omopv4_plus/after/anno_5 +0 -68
- data/test/results/omopv4_plus/after/anno_6 +0 -60
- data/test/results/omopv4_plus/after/crit_at_least +0 -7
- data/test/results/omopv4_plus/after/crit_basic +0 -32
- data/test/results/omopv4_plus/after/crit_occurrences +0 -12
- data/test/results/omopv4_plus/after/crit_within +0 -5
- data/test/results/omopv4_plus/any_overlap/crit_basic1 +0 -14
- data/test/results/omopv4_plus/any_overlap/crit_basic2 +0 -14
- data/test/results/omopv4_plus/any_overlap/crit_occurrences1 +0 -2
- data/test/results/omopv4_plus/any_overlap/crit_occurrences2 +0 -14
- data/test/results/omopv4_plus/any_overlap/crit_within +0 -8
- data/test/results/omopv4_plus/before/crit_at_least +0 -6
- data/test/results/omopv4_plus/before/crit_basic1 +0 -48
- data/test/results/omopv4_plus/before/crit_basic2 +0 -8
- data/test/results/omopv4_plus/before/crit_occurrences +0 -13
- data/test/results/omopv4_plus/before/crit_within +0 -17
- data/test/results/omopv4_plus/co_reported/anno_1 +0 -43
- data/test/results/omopv4_plus/co_reported/anno_2 +0 -66
- data/test/results/omopv4_plus/co_reported/anno_3 +0 -47
- data/test/results/omopv4_plus/complement/anno_duplicate_params +0 -52
- data/test/results/omopv4_plus/complement/anno_invalid_params +0 -37
- data/test/results/omopv4_plus/complement/anno_no_params +0 -18
- data/test/results/omopv4_plus/complement/count_3way_intersect +0 -4
- data/test/results/omopv4_plus/complement/count_3way_union +0 -4
- data/test/results/omopv4_plus/complement/count_intersect +0 -3
- data/test/results/omopv4_plus/complement/count_union +0 -3
- data/test/results/omopv4_plus/complement/count_union_and_intersect +0 -4
- data/test/results/omopv4_plus/complement/crit_basic1 +0 -52483
- data/test/results/omopv4_plus/complement/crit_icd9_selector +0 -52
- data/test/results/omopv4_plus/complex/anno_1 +0 -85
- data/test/results/omopv4_plus/complex/crit_1 +0 -2
- data/test/results/omopv4_plus/complex/crit_2 +0 -2
- data/test/results/omopv4_plus/complex/crit_3 +0 -2
- data/test/results/omopv4_plus/complex/crit_4 +0 -2
- data/test/results/omopv4_plus/complex/crit_5 +0 -2
- data/test/results/omopv4_plus/complex/crit_6 +0 -24
- data/test/results/omopv4_plus/complex/crit_7 +0 -45
- data/test/results/omopv4_plus/complex/crit_out_of_order_ctes +0 -15
- data/test/results/omopv4_plus/complex/scanno_1 +0 -108
- data/test/results/omopv4_plus/concurrent_within/crit_icd9 +0 -52
- data/test/results/omopv4_plus/concurrent_within/crit_icd9_and_place_of_service +0 -21
- data/test/results/omopv4_plus/concurrent_within/crit_negative_start +0 -5
- data/test/results/omopv4_plus/condition_type/anno_icd9 +0 -39
- data/test/results/omopv4_plus/condition_type/count_condition_era +0 -2
- data/test/results/omopv4_plus/condition_type/count_condition_era_30_day_window +0 -2
- data/test/results/omopv4_plus/condition_type/count_ehr_problem_list +0 -2
- data/test/results/omopv4_plus/condition_type/count_era_0 +0 -2
- data/test/results/omopv4_plus/condition_type/count_inpatient +0 -3
- data/test/results/omopv4_plus/condition_type/count_inpatient_detail +0 -2
- data/test/results/omopv4_plus/condition_type/count_inpatient_header +0 -3
- data/test/results/omopv4_plus/condition_type/count_inpatient_header_2 +0 -3
- data/test/results/omopv4_plus/condition_type/count_inpatient_header_3 +0 -3
- data/test/results/omopv4_plus/condition_type/count_inpatient_header_4 +0 -3
- data/test/results/omopv4_plus/condition_type/count_inpatient_header_5 +0 -3
- data/test/results/omopv4_plus/condition_type/count_inpatient_outpatient_detail +0 -3
- data/test/results/omopv4_plus/condition_type/count_inpatient_primary +0 -3
- data/test/results/omopv4_plus/condition_type/count_inpatient_primary_or_first +0 -3
- data/test/results/omopv4_plus/condition_type/count_outpatient +0 -3
- data/test/results/omopv4_plus/condition_type/count_outpatient_detail +0 -2
- data/test/results/omopv4_plus/condition_type/count_outpatient_header +0 -3
- data/test/results/omopv4_plus/condition_type/count_outpatient_primary +0 -3
- data/test/results/omopv4_plus/condition_type/count_primary +0 -3
- data/test/results/omopv4_plus/contains/crit_1 +0 -5
- data/test/results/omopv4_plus/contains/crit_2 +0 -2
- data/test/results/omopv4_plus/contains/crit_3 +0 -2
- data/test/results/omopv4_plus/count/anno_multiple_upstreams +0 -52
- data/test/results/omopv4_plus/count/anno_no_upstream1 +0 -18
- data/test/results/omopv4_plus/count/anno_no_upstream2 +0 -25
- data/test/results/omopv4_plus/count/crit_icd9_ndc +0 -5
- data/test/results/omopv4_plus/count/crit_ndc +0 -2
- data/test/results/omopv4_plus/count/crit_person +0 -254
- data/test/results/omopv4_plus/cpt/anno_icd9_upstream +0 -40
- data/test/results/omopv4_plus/cpt/anno_invalid_code +0 -22
- data/test/results/omopv4_plus/cpt/count_1 +0 -3
- data/test/results/omopv4_plus/cpt/crit_1 +0 -158
- data/test/results/omopv4_plus/cpt/scanno_1 +0 -17
- data/test/results/omopv4_plus/cpt_or_hcpcs/anno_bad_format +0 -25
- data/test/results/omopv4_plus/cpt_or_hcpcs/count_1 +0 -3
- data/test/results/omopv4_plus/cpt_or_hcpcs/crit_1 +0 -161
- data/test/results/omopv4_plus/date_range/anno_1 +0 -15
- data/test/results/omopv4_plus/date_range/anno_extra_argument +0 -24
- data/test/results/omopv4_plus/date_range/anno_invalid_argument +0 -25
- data/test/results/omopv4_plus/date_range/anno_missing_argument1 +0 -20
- data/test/results/omopv4_plus/date_range/anno_missing_argument2 +0 -20
- data/test/results/omopv4_plus/date_range/anno_no_upstreams +0 -38
- data/test/results/omopv4_plus/date_range/count_1 +0 -3
- data/test/results/omopv4_plus/date_range/count_2 +0 -3
- data/test/results/omopv4_plus/death/anno_multiple_upstreams +0 -50
- data/test/results/omopv4_plus/death/anno_no_upstreams +0 -22
- data/test/results/omopv4_plus/death/crit_basic +0 -14
- data/test/results/omopv4_plus/death/crit_person +0 -14
- data/test/results/omopv4_plus/drug_type_concept/anno_has_upstreams +0 -37
- data/test/results/omopv4_plus/drug_type_concept/anno_no_arguments +0 -18
- data/test/results/omopv4_plus/drug_type_concept/crit_basic1 +0 -2
- data/test/results/omopv4_plus/drug_type_concept/crit_basic2 +0 -2
- data/test/results/omopv4_plus/during/crit_1 +0 -14
- data/test/results/omopv4_plus/during/crit_2 +0 -2
- data/test/results/omopv4_plus/equal/crit_1 +0 -2
- data/test/results/omopv4_plus/equal/crit_2 +0 -2
- data/test/results/omopv4_plus/except/anno_1 +0 -42
- data/test/results/omopv4_plus/except/anno_2 +0 -43
- data/test/results/omopv4_plus/except/count_complex +0 -5
- data/test/results/omopv4_plus/except/crit_412_cpt +0 -52
- data/test/results/omopv4_plus/except/crit_412_inpatient +0 -45
- data/test/results/omopv4_plus/filter/crit_1 +0 -52
- data/test/results/omopv4_plus/first/anno_argument +0 -25
- data/test/results/omopv4_plus/first/anno_no_upstream +0 -18
- data/test/results/omopv4_plus/first/crit_cpt +0 -180
- data/test/results/omopv4_plus/first/crit_icd9 +0 -41
- data/test/results/omopv4_plus/first/crit_union +0 -52
- data/test/results/omopv4_plus/from/anno_has_upstreams +0 -39
- data/test/results/omopv4_plus/from/anno_multiple_arguments +0 -24
- data/test/results/omopv4_plus/from/count_condition_occurrence +0 -3
- data/test/results/omopv4_plus/from/count_observation_period +0 -3
- data/test/results/omopv4_plus/from/count_person +0 -3
- data/test/results/omopv4_plus/from_seer_visits/anno_multiple_upstreams +0 -78
- data/test/results/omopv4_plus/from_seer_visits/anno_no_upstream +0 -18
- data/test/results/omopv4_plus/from_seer_visits/crit_1 +0 -2
- data/test/results/omopv4_plus/from_seer_visits/crit_2 +0 -2
- data/test/results/omopv4_plus/from_seer_visits/crit_3 +0 -2
- data/test/results/omopv4_plus/from_seer_visits/crit_4 +0 -2
- data/test/results/omopv4_plus/gender/anno_has_upstreams +0 -39
- data/test/results/omopv4_plus/gender/crit_male +0 -128
- data/test/results/omopv4_plus/hcpcs/anno_bad_format +0 -24
- data/test/results/omopv4_plus/hcpcs/crit_A0382 +0 -7
- data/test/results/omopv4_plus/icd10/anno_bad_format +0 -22
- data/test/results/omopv4_plus/icd10/anno_has_upstreams +0 -40
- data/test/results/omopv4_plus/icd10/crit_1 +0 -2
- data/test/results/omopv4_plus/icd10pcs/anno_bad_format +0 -28
- data/test/results/omopv4_plus/icd10pcs/anno_has_upstreams +0 -40
- data/test/results/omopv4_plus/icd10pcs/crit_1 +0 -2
- data/test/results/omopv4_plus/icd9/anno_empty_label +0 -15
- data/test/results/omopv4_plus/icd9/anno_invalid_code +0 -21
- data/test/results/omopv4_plus/icd9/anno_valid_code +0 -3
- data/test/results/omopv4_plus/icd9/crit_1 +0 -52
- data/test/results/omopv4_plus/icd9_procedure/crit_1 +0 -5
- data/test/results/omopv4_plus/intersect/anno_412_inpatient +0 -42
- data/test/results/omopv4_plus/intersect/anno_has_arguments +0 -25
- data/test/results/omopv4_plus/intersect/anno_no_upstream +0 -18
- data/test/results/omopv4_plus/intersect/crit_412_inpatient +0 -11
- data/test/results/omopv4_plus/intersect/crit_412_male +0 -178
- data/test/results/omopv4_plus/intersect/crit_complex +0 -110
- data/test/results/omopv4_plus/invalid/anno_bad_op +0 -55
- data/test/results/omopv4_plus/invalid/scanno_1 +0 -23
- data/test/results/omopv4_plus/last/crit_icd9 +0 -41
- data/test/results/omopv4_plus/loinc/crit_basic +0 -2
- data/test/results/omopv4_plus/ndc/crit_basic +0 -2
- data/test/results/omopv4_plus/ndc/results_1 +0 -41
- data/test/results/omopv4_plus/numeric/anno_multiple_upstreams +0 -59
- data/test/results/omopv4_plus/numeric/num_values_1 +0 -254
- data/test/results/omopv4_plus/numeric/num_values_2 +0 -5
- data/test/results/omopv4_plus/numeric/num_values_3 +0 -5
- data/test/results/omopv4_plus/observation_period/anno_has_arguments +0 -36
- data/test/results/omopv4_plus/observation_period/anno_multiple_upstreams +0 -51
- data/test/results/omopv4_plus/observation_period/count_all_periods +0 -3
- data/test/results/omopv4_plus/observation_period/crit_female +0 -87
- data/test/results/omopv4_plus/observation_period/crit_icd9 +0 -28
- data/test/results/omopv4_plus/observation_period/crit_male +0 -75
- data/test/results/omopv4_plus/occurrence/anno_no_upstream +0 -22
- data/test/results/omopv4_plus/occurrence/count_412_410 +0 -3
- data/test/results/omopv4_plus/occurrence/crit_1 +0 -15
- data/test/results/omopv4_plus/occurrence/crit_2 +0 -2
- data/test/results/omopv4_plus/occurrence/crit_3 +0 -41
- data/test/results/omopv4_plus/one_in_two_out/anno_has_arguments +0 -27
- data/test/results/omopv4_plus/one_in_two_out/anno_multiple_upstreams +0 -54
- data/test/results/omopv4_plus/one_in_two_out/anno_no_upstream +0 -20
- data/test/results/omopv4_plus/one_in_two_out/count_1 +0 -3
- data/test/results/omopv4_plus/one_in_two_out/count_same_as_1 +0 -3
- data/test/results/omopv4_plus/one_in_two_out/crit_hcpcs +0 -2
- data/test/results/omopv4_plus/one_in_two_out/crit_icd9 +0 -19
- data/test/results/omopv4_plus/one_in_two_out/results_1 +0 -803
- data/test/results/omopv4_plus/one_in_two_out/results_2 +0 -803
- data/test/results/omopv4_plus/overlapped_by/crit_1 +0 -5
- data/test/results/omopv4_plus/overlapped_by/crit_2 +0 -2
- data/test/results/omopv4_plus/overlapped_by/crit_3 +0 -5
- data/test/results/omopv4_plus/overlapped_by/crit_4 +0 -2
- data/test/results/omopv4_plus/overlaps/crit_1 +0 -5
- data/test/results/omopv4_plus/overlaps/crit_2 +0 -2
- data/test/results/omopv4_plus/overlaps/crit_3 +0 -5
- data/test/results/omopv4_plus/overlaps/crit_4 +0 -2
- data/test/results/omopv4_plus/person/anno_has_arguments +0 -22
- data/test/results/omopv4_plus/person/anno_multiple_upstreams +0 -52
- data/test/results/omopv4_plus/person/count_2 +0 -3
- data/test/results/omopv4_plus/person/crit_1 +0 -41
- data/test/results/omopv4_plus/person_filter/count_1 +0 -4
- data/test/results/omopv4_plus/person_filter/crit_1 +0 -52
- data/test/results/omopv4_plus/person_filter/crit_2 +0 -10
- data/test/results/omopv4_plus/person_filter/crit_3 +0 -32
- data/test/results/omopv4_plus/person_filter/crit_4 +0 -50
- data/test/results/omopv4_plus/place_of_service_code/anno_has_upstreams +0 -37
- data/test/results/omopv4_plus/place_of_service_code/anno_no_arguments +0 -18
- data/test/results/omopv4_plus/place_of_service_code/crit_basic +0 -157
- data/test/results/omopv4_plus/place_of_service_filter/anno_1 +0 -29
- data/test/results/omopv4_plus/procedure_occurrence/anno_has_arguments +0 -37
- data/test/results/omopv4_plus/procedure_occurrence/anno_multiple_upstreams +0 -51
- data/test/results/omopv4_plus/procedure_occurrence/count_gender +0 -3
- data/test/results/omopv4_plus/procedure_occurrence/count_icd9 +0 -3
- data/test/results/omopv4_plus/procedure_occurrence/count_started_by +0 -3
- data/test/results/omopv4_plus/provenance/anno_1 +0 -29
- data/test/results/omopv4_plus/provenance/anno_bad_keyword +0 -38
- data/test/results/omopv4_plus/provenance/count_1 +0 -3
- data/test/results/omopv4_plus/provenance/count_2 +0 -3
- data/test/results/omopv4_plus/provider_filter/anno_1 +0 -29
- data/test/results/omopv4_plus/race/anno_1 +0 -37
- data/test/results/omopv4_plus/race/anno_2 +0 -18
- data/test/results/omopv4_plus/race/crit_1 +0 -32
- data/test/results/omopv4_plus/read/anno_1 +0 -15
- data/test/results/omopv4_plus/read/crit_1 +0 -2
- data/test/results/omopv4_plus/recall/anno_1 +0 -54
- data/test/results/omopv4_plus/recall/anno_2 +0 -66
- data/test/results/omopv4_plus/recall/anno_3 +0 -20
- data/test/results/omopv4_plus/recall/anno_4 +0 -18
- data/test/results/omopv4_plus/recall/anno_5 +0 -24
- data/test/results/omopv4_plus/recall/anno_6 +0 -270
- data/test/results/omopv4_plus/recall/crit_1 +0 -19
- data/test/results/omopv4_plus/recall/crit_2 +0 -52
- data/test/results/omopv4_plus/recall/crit_3 +0 -2
- data/test/results/omopv4_plus/recall/crit_cte_1 +0 -41
- data/test/results/omopv4_plus/recall/crit_cte_2 +0 -41
- data/test/results/omopv4_plus/recall/crit_nested_perm_0 +0 -52
- data/test/results/omopv4_plus/revenue_code/crit_1 +0 -2
- data/test/results/omopv4_plus/revenue_code/crit_basic +0 -2
- data/test/results/omopv4_plus/revenue_code/domains_1 +0 -3
- data/test/results/omopv4_plus/revenue_code/domains_drg100 +0 -3
- data/test/results/omopv4_plus/rxnorm/crit_1 +0 -2
- data/test/results/omopv4_plus/snomed/crit_1 +0 -2
- data/test/results/omopv4_plus/started_by/crit_1 +0 -5
- data/test/results/omopv4_plus/started_by/crit_2 +0 -2
- data/test/results/omopv4_plus/started_by/crit_3 +0 -2
- data/test/results/omopv4_plus/sum/anno_1 +0 -18
- data/test/results/omopv4_plus/sum/anno_2 +0 -36
- data/test/results/omopv4_plus/sum/num_1 +0 -2
- data/test/results/omopv4_plus/sum/num_2 +0 -5
- data/test/results/omopv4_plus/sum/num_3 +0 -254
- data/test/results/omopv4_plus/time_window/anno_1 +0 -20
- data/test/results/omopv4_plus/time_window/anno_2 +0 -40
- data/test/results/omopv4_plus/time_window/anno_3 +0 -36
- data/test/results/omopv4_plus/time_window/anno_4 +0 -39
- data/test/results/omopv4_plus/time_window/anno_5 +0 -57
- data/test/results/omopv4_plus/time_window/crit_1 +0 -52
- data/test/results/omopv4_plus/time_window/crit_2 +0 -157
- data/test/results/omopv4_plus/time_window/crit_3 +0 -52
- data/test/results/omopv4_plus/time_window/crit_4 +0 -157
- data/test/results/omopv4_plus/trim_date_end/crit_1 +0 -5
- data/test/results/omopv4_plus/trim_date_end/crit_2 +0 -2
- data/test/results/omopv4_plus/trim_date_end/crit_3 +0 -6
- data/test/results/omopv4_plus/trim_date_end/crit_at_least +0 -5
- data/test/results/omopv4_plus/trim_date_end/crit_occurrences_1 +0 -2
- data/test/results/omopv4_plus/trim_date_end/crit_occurrences_2 +0 -6
- data/test/results/omopv4_plus/trim_date_end/crit_within +0 -5
- data/test/results/omopv4_plus/trim_date_start/crit_1 +0 -5
- data/test/results/omopv4_plus/trim_date_start/crit_2 +0 -2
- data/test/results/omopv4_plus/trim_date_start/crit_3 +0 -6
- data/test/results/omopv4_plus/trim_date_start/crit_at_least +0 -5
- data/test/results/omopv4_plus/trim_date_start/crit_occurrences_1 +0 -2
- data/test/results/omopv4_plus/trim_date_start/crit_occurrences_2 +0 -6
- data/test/results/omopv4_plus/trim_date_start/crit_within +0 -5
- data/test/results/omopv4_plus/union/anno_1 +0 -43
- data/test/results/omopv4_plus/union/anno_2 +0 -74
- data/test/results/omopv4_plus/union/anno_3 +0 -18
- data/test/results/omopv4_plus/union/anno_4 +0 -25
- data/test/results/omopv4_plus/union/anno_5 +0 -33
- data/test/results/omopv4_plus/union/anno_6 +0 -46
- data/test/results/omopv4_plus/union/count_1 +0 -3
- data/test/results/omopv4_plus/union/count_2 +0 -3
- data/test/results/omopv4_plus/union/count_3 +0 -3
- data/test/results/omopv4_plus/union/count_4 +0 -3
- data/test/results/omopv4_plus/union/count_5 +0 -4
- data/test/results/omopv4_plus/union/optcc_1 +0 -3
- data/test/results/omopv4_plus/union/optcc_2 +0 -3
- data/test/results/omopv4_plus/union/optcc_3 +0 -3
- data/test/results/omopv4_plus/union/optcc_4 +0 -3
- data/test/results/omopv4_plus/union/optcc_5 +0 -3
- data/test/results/omopv4_plus/union/optcc_6 +0 -3
- data/test/results/omopv4_plus/union/scanno_1 +0 -22
- data/test/results/omopv4_plus/union/scanno_2 +0 -36
- data/test/results/omopv4_plus/visit_occurrence/anno_1 +0 -52
- data/test/results/omopv4_plus/visit_occurrence/anno_2 +0 -37
- data/test/results/omopv4_plus/visit_occurrence/crit_1 +0 -52
- data/test/results/omopv4_plus/visit_occurrence/crit_2 +0 -22945
- data/test/results/omopv4_plus/visit_occurrence/crit_3 +0 -46851
- data/test/statements/after/anno_1 +0 -7
- data/test/statements/after/anno_2 +0 -16
- data/test/statements/after/anno_3 +0 -9
- data/test/statements/after/anno_4 +0 -19
- data/test/statements/after/anno_5 +0 -21
- data/test/statements/after/anno_6 +0 -16
- data/test/statements/after/crit_at_least +0 -21
- data/test/statements/after/crit_basic +0 -20
- data/test/statements/after/crit_occurrences +0 -21
- data/test/statements/after/crit_within +0 -21
- data/test/statements/any_overlap/crit_basic1 +0 -16
- data/test/statements/any_overlap/crit_basic2 +0 -16
- data/test/statements/any_overlap/crit_occurrences1 +0 -17
- data/test/statements/any_overlap/crit_occurrences2 +0 -17
- data/test/statements/any_overlap/crit_within +0 -17
- data/test/statements/before/crit_at_least +0 -14
- data/test/statements/before/crit_basic1 +0 -13
- data/test/statements/before/crit_basic2 +0 -16
- data/test/statements/before/crit_occurrences +0 -14
- data/test/statements/before/crit_within +0 -14
- data/test/statements/co_reported/anno_1 +0 -13
- data/test/statements/co_reported/anno_2 +0 -21
- data/test/statements/co_reported/anno_3 +0 -14
- data/test/statements/complement/anno_duplicate_params +0 -11
- data/test/statements/complement/anno_invalid_params +0 -8
- data/test/statements/complement/anno_no_params +0 -3
- data/test/statements/complement/count_3way_intersect +0 -24
- data/test/statements/complement/count_3way_union +0 -18
- data/test/statements/complement/count_intersect +0 -17
- data/test/statements/complement/count_union +0 -14
- data/test/statements/complement/count_union_and_intersect +0 -27
- data/test/statements/complement/crit_basic1 +0 -7
- data/test/statements/complement/crit_icd9_selector +0 -10
- data/test/statements/complex/anno_1 +0 -29
- data/test/statements/complex/crit_1 +0 -278
- data/test/statements/complex/crit_2 +0 -43
- data/test/statements/complex/crit_3 +0 -54
- data/test/statements/complex/crit_4 +0 -17
- data/test/statements/complex/crit_5 +0 -17
- data/test/statements/complex/crit_6 +0 -20
- data/test/statements/complex/crit_7 +0 -14
- data/test/statements/complex/crit_out_of_order_ctes +0 -39
- data/test/statements/complex/scanno_1 +0 -1508
- data/test/statements/concurrent_within/crit_icd9 +0 -11
- data/test/statements/concurrent_within/crit_icd9_and_place_of_service +0 -15
- data/test/statements/concurrent_within/crit_negative_start +0 -15
- data/test/statements/condition_type/anno_icd9 +0 -7
- data/test/statements/condition_type/count_condition_era +0 -4
- data/test/statements/condition_type/count_condition_era_30_day_window +0 -4
- data/test/statements/condition_type/count_ehr_problem_list +0 -4
- data/test/statements/condition_type/count_era_0 +0 -4
- data/test/statements/condition_type/count_inpatient +0 -4
- data/test/statements/condition_type/count_inpatient_detail +0 -4
- data/test/statements/condition_type/count_inpatient_header +0 -4
- data/test/statements/condition_type/count_inpatient_header_2 +0 -4
- data/test/statements/condition_type/count_inpatient_header_3 +0 -4
- data/test/statements/condition_type/count_inpatient_header_4 +0 -4
- data/test/statements/condition_type/count_inpatient_header_5 +0 -4
- data/test/statements/condition_type/count_inpatient_outpatient_detail +0 -5
- data/test/statements/condition_type/count_inpatient_primary +0 -4
- data/test/statements/condition_type/count_inpatient_primary_or_first +0 -4
- data/test/statements/condition_type/count_outpatient +0 -4
- data/test/statements/condition_type/count_outpatient_detail +0 -4
- data/test/statements/condition_type/count_outpatient_header +0 -4
- data/test/statements/condition_type/count_outpatient_primary +0 -4
- data/test/statements/condition_type/count_primary +0 -4
- data/test/statements/contains/crit_1 +0 -16
- data/test/statements/contains/crit_2 +0 -16
- data/test/statements/contains/crit_3 +0 -16
- data/test/statements/count/anno_multiple_upstreams +0 -11
- data/test/statements/count/anno_no_upstream1 +0 -3
- data/test/statements/count/anno_no_upstream2 +0 -4
- data/test/statements/count/crit_icd9_ndc +0 -15
- data/test/statements/count/crit_ndc +0 -11
- data/test/statements/count/crit_person +0 -7
- data/test/statements/cpt/anno_icd9_upstream +0 -7
- data/test/statements/cpt/anno_invalid_code +0 -5
- data/test/statements/cpt/count_1 +0 -4
- data/test/statements/cpt/crit_1 +0 -4
- data/test/statements/cpt/scanno_1 +0 -4
- data/test/statements/cpt_or_hcpcs/anno_bad_format +0 -7
- data/test/statements/cpt_or_hcpcs/count_1 +0 -5
- data/test/statements/cpt_or_hcpcs/crit_1 +0 -5
- data/test/statements/date_range/anno_1 +0 -7
- data/test/statements/date_range/anno_extra_argument +0 -8
- data/test/statements/date_range/anno_invalid_argument +0 -7
- data/test/statements/date_range/anno_missing_argument1 +0 -6
- data/test/statements/date_range/anno_missing_argument2 +0 -6
- data/test/statements/date_range/anno_no_upstreams +0 -11
- data/test/statements/date_range/count_1 +0 -7
- data/test/statements/date_range/count_2 +0 -7
- data/test/statements/death/anno_multiple_upstreams +0 -10
- data/test/statements/death/anno_no_upstreams +0 -4
- data/test/statements/death/crit_basic +0 -3
- data/test/statements/death/crit_person +0 -7
- data/test/statements/drug_type_concept/anno_has_upstreams +0 -8
- data/test/statements/drug_type_concept/anno_no_arguments +0 -3
- data/test/statements/drug_type_concept/crit_basic1 +0 -4
- data/test/statements/drug_type_concept/crit_basic2 +0 -4
- data/test/statements/during/crit_1 +0 -16
- data/test/statements/during/crit_2 +0 -16
- data/test/statements/equal/crit_1 +0 -17
- data/test/statements/equal/crit_2 +0 -21
- data/test/statements/except/anno_1 +0 -13
- data/test/statements/except/anno_2 +0 -14
- data/test/statements/except/count_complex +0 -31
- data/test/statements/except/crit_412_cpt +0 -13
- data/test/statements/except/crit_412_inpatient +0 -13
- data/test/statements/filter/crit_1 +0 -15
- data/test/statements/first/anno_argument +0 -4
- data/test/statements/first/anno_no_upstream +0 -3
- data/test/statements/first/crit_cpt +0 -7
- data/test/statements/first/crit_icd9 +0 -7
- data/test/statements/first/crit_union +0 -14
- data/test/statements/from/anno_has_upstreams +0 -7
- data/test/statements/from/anno_multiple_arguments +0 -5
- data/test/statements/from_seer_visits/anno_multiple_upstreams +0 -17
- data/test/statements/from_seer_visits/anno_no_upstream +0 -3
- data/test/statements/from_seer_visits/crit_1 +0 -10
- data/test/statements/from_seer_visits/crit_2 +0 -11
- data/test/statements/from_seer_visits/crit_3 +0 -11
- data/test/statements/from_seer_visits/crit_4 +0 -12
- data/test/statements/gender/anno_has_upstreams +0 -7
- data/test/statements/gender/crit_male +0 -4
- data/test/statements/hcpcs/anno_bad_format +0 -6
- data/test/statements/hcpcs/crit_A0382 +0 -4
- data/test/statements/icd10/anno_bad_format +0 -5
- data/test/statements/icd10/anno_has_upstreams +0 -7
- data/test/statements/icd10/crit_1 +0 -4
- data/test/statements/icd10pcs/anno_bad_format +0 -6
- data/test/statements/icd10pcs/anno_has_upstreams +0 -7
- data/test/statements/icd10pcs/crit_1 +0 -4
- data/test/statements/icd9/anno_empty_label +0 -7
- data/test/statements/icd9/anno_invalid_code +0 -4
- data/test/statements/icd9/anno_valid_code +0 -4
- data/test/statements/icd9/crit_1 +0 -4
- data/test/statements/icd9_procedure/crit_1 +0 -4
- data/test/statements/intersect/anno_412_inpatient +0 -11
- data/test/statements/intersect/anno_has_arguments +0 -4
- data/test/statements/intersect/anno_no_upstream +0 -3
- data/test/statements/intersect/crit_412_inpatient +0 -11
- data/test/statements/intersect/crit_412_male +0 -11
- data/test/statements/intersect/crit_complex +0 -19
- data/test/statements/invalid/anno_bad_op +0 -13
- data/test/statements/invalid/scanno_1 +0 -7
- data/test/statements/last/crit_icd9 +0 -7
- data/test/statements/loinc/crit_basic +0 -4
- data/test/statements/ndc/crit_basic +0 -4
- data/test/statements/ndc/results_1 +0 -4
- data/test/statements/numeric/anno_multiple_upstreams +0 -11
- data/test/statements/numeric/num_values_1 +0 -4
- data/test/statements/numeric/num_values_2 +0 -8
- data/test/statements/numeric/num_values_3 +0 -8
- data/test/statements/observation_period/anno_has_arguments +0 -8
- data/test/statements/observation_period/anno_multiple_upstreams +0 -11
- data/test/statements/observation_period/count_all_periods +0 -4
- data/test/statements/observation_period/crit_female +0 -7
- data/test/statements/observation_period/crit_icd9 +0 -7
- data/test/statements/observation_period/crit_male +0 -7
- data/test/statements/occurrence/anno_no_upstream +0 -3
- data/test/statements/occurrence/count_412_410 +0 -17
- data/test/statements/occurrence/crit_1 +0 -8
- data/test/statements/occurrence/crit_2 +0 -11
- data/test/statements/occurrence/crit_3 +0 -11
- data/test/statements/one_in_two_out/anno_has_arguments +0 -8
- data/test/statements/one_in_two_out/anno_multiple_upstreams +0 -15
- data/test/statements/one_in_two_out/anno_no_upstream +0 -7
- data/test/statements/one_in_two_out/count_1 +0 -10
- data/test/statements/one_in_two_out/count_same_as_1 +0 -11
- data/test/statements/one_in_two_out/crit_hcpcs +0 -10
- data/test/statements/one_in_two_out/crit_icd9 +0 -11
- data/test/statements/one_in_two_out/results_1 +0 -9
- data/test/statements/one_in_two_out/results_2 +0 -9
- data/test/statements/overlapped_by/crit_1 +0 -16
- data/test/statements/overlapped_by/crit_2 +0 -16
- data/test/statements/overlapped_by/crit_3 +0 -16
- data/test/statements/overlapped_by/crit_4 +0 -16
- data/test/statements/overlaps/crit_1 +0 -16
- data/test/statements/overlaps/crit_2 +0 -16
- data/test/statements/overlaps/crit_3 +0 -16
- data/test/statements/overlaps/crit_4 +0 -16
- data/test/statements/person/anno_has_arguments +0 -4
- data/test/statements/person/anno_multiple_upstreams +0 -11
- data/test/statements/person/count_2 +0 -3
- data/test/statements/person/crit_1 +0 -7
- data/test/statements/person_filter/count_1 +0 -20
- data/test/statements/person_filter/crit_1 +0 -20
- data/test/statements/person_filter/crit_2 +0 -13
- data/test/statements/person_filter/crit_3 +0 -13
- data/test/statements/person_filter/crit_4 +0 -13
- data/test/statements/place_of_service_code/anno_has_upstreams +0 -8
- data/test/statements/place_of_service_code/anno_no_arguments +0 -3
- data/test/statements/place_of_service_code/crit_basic +0 -4
- data/test/statements/place_of_service_filter/anno_1 +0 -8
- data/test/statements/procedure_occurrence/anno_has_arguments +0 -8
- data/test/statements/procedure_occurrence/anno_multiple_upstreams +0 -11
- data/test/statements/procedure_occurrence/count_gender +0 -7
- data/test/statements/procedure_occurrence/count_icd9 +0 -7
- data/test/statements/procedure_occurrence/count_started_by +0 -19
- data/test/statements/provenance/anno_1 +0 -8
- data/test/statements/provenance/anno_bad_keyword +0 -10
- data/test/statements/provenance/count_1 +0 -8
- data/test/statements/provenance/count_2 +0 -8
- data/test/statements/provider_filter/anno_1 +0 -10
- data/test/statements/race/anno_1 +0 -8
- data/test/statements/race/anno_2 +0 -3
- data/test/statements/race/crit_1 +0 -4
- data/test/statements/read/anno_1 +0 -4
- data/test/statements/read/crit_1 +0 -8
- data/test/statements/recall/anno_1 +0 -16
- data/test/statements/recall/anno_2 +0 -18
- data/test/statements/recall/anno_3 +0 -4
- data/test/statements/recall/anno_4 +0 -3
- data/test/statements/recall/anno_5 +0 -5
- data/test/statements/recall/anno_6 +0 -107
- data/test/statements/recall/crit_1 +0 -17
- data/test/statements/recall/crit_2 +0 -14
- data/test/statements/recall/crit_3 +0 -16
- data/test/statements/recall/crit_cte_1 +0 -17
- data/test/statements/recall/crit_cte_2 +0 -17
- data/test/statements/recall/crit_nested_perm_0 +0 -28
- data/test/statements/revenue_code/crit_1 +0 -4
- data/test/statements/revenue_code/crit_basic +0 -4
- data/test/statements/revenue_code/domains_1 +0 -4
- data/test/statements/revenue_code/domains_drg100 +0 -4
- data/test/statements/rxnorm/crit_1 +0 -4
- data/test/statements/snomed/crit_1 +0 -4
- data/test/statements/started_by/crit_1 +0 -16
- data/test/statements/started_by/crit_2 +0 -16
- data/test/statements/started_by/crit_3 +0 -16
- data/test/statements/sum/anno_1 +0 -3
- data/test/statements/sum/anno_2 +0 -8
- data/test/statements/sum/num_1 +0 -11
- data/test/statements/sum/num_2 +0 -15
- data/test/statements/sum/num_3 +0 -7
- data/test/statements/time_window/anno_1 +0 -7
- data/test/statements/time_window/anno_2 +0 -11
- data/test/statements/time_window/anno_3 +0 -11
- data/test/statements/time_window/anno_4 +0 -12
- data/test/statements/time_window/anno_5 +0 -15
- data/test/statements/time_window/crit_1 +0 -11
- data/test/statements/time_window/crit_2 +0 -11
- data/test/statements/time_window/crit_3 +0 -11
- data/test/statements/time_window/crit_4 +0 -11
- data/test/statements/trim_date_end/crit_1 +0 -16
- data/test/statements/trim_date_end/crit_2 +0 -16
- data/test/statements/trim_date_end/crit_3 +0 -16
- data/test/statements/trim_date_end/crit_at_least +0 -17
- data/test/statements/trim_date_end/crit_occurrences_1 +0 -17
- data/test/statements/trim_date_end/crit_occurrences_2 +0 -17
- data/test/statements/trim_date_end/crit_within +0 -17
- data/test/statements/trim_date_start/crit_1 +0 -16
- data/test/statements/trim_date_start/crit_2 +0 -16
- data/test/statements/trim_date_start/crit_3 +0 -16
- data/test/statements/trim_date_start/crit_at_least +0 -17
- data/test/statements/trim_date_start/crit_occurrences_1 +0 -17
- data/test/statements/trim_date_start/crit_occurrences_2 +0 -17
- data/test/statements/trim_date_start/crit_within +0 -17
- data/test/statements/union/anno_1 +0 -11
- data/test/statements/union/anno_2 +0 -18
- data/test/statements/union/anno_3 +0 -3
- data/test/statements/union/anno_4 +0 -4
- data/test/statements/union/anno_5 +0 -7
- data/test/statements/union/anno_6 +0 -10
- data/test/statements/union/count_1 +0 -11
- data/test/statements/union/count_2 +0 -11
- data/test/statements/union/count_3 +0 -15
- data/test/statements/union/count_4 +0 -18
- data/test/statements/union/count_5 +0 -18
- data/test/statements/union/scanno_1 +0 -3
- data/test/statements/union/scanno_2 +0 -18
- data/test/statements/visit_occurrence/anno_1 +0 -11
- data/test/statements/visit_occurrence/anno_2 +0 -8
- data/test/statements/visit_occurrence/crit_1 +0 -7
- data/test/statements/visit_occurrence/crit_2 +0 -7
- 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
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
|
|
Binary file
|
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
|
data/doc/implementation_notes.md
DELETED
|
@@ -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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|