conceptql 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +176 -0
  3. data/README.md +4 -2
  4. data/assets/diagram/diagram.css +331 -0
  5. data/assets/diagram/fonts/OFL.txt +93 -0
  6. data/assets/diagram/fonts/Roboto-400.ttf +0 -0
  7. data/assets/diagram/fonts/Roboto-700.ttf +0 -0
  8. data/assets/diagram/fonts/Roboto-Italic-400.ttf +0 -0
  9. data/assets/diagram/fonts/Roboto-Italic-Latin.woff2 +0 -0
  10. data/assets/diagram/fonts/Roboto-Normal-Latin.woff2 +0 -0
  11. data/assets/diagram/operators.svg +224 -0
  12. data/config/vocabularies.csv +85 -85
  13. data/docs/spec/README.md +2624 -0
  14. data/docs/spec/examples/after-operator.json +562 -0
  15. data/docs/spec/examples/any-overlap-operator.json +106 -0
  16. data/docs/spec/examples/before-operator.json +437 -0
  17. data/docs/spec/examples/co-reported-operator.json +168 -0
  18. data/docs/spec/examples/contains-operator.json +97 -0
  19. data/docs/spec/examples/date-range-operator.json +275 -0
  20. data/docs/spec/examples/death-operator.json +103 -0
  21. data/docs/spec/examples/during-operator.json +178 -0
  22. data/docs/spec/examples/episode-operator.json +80 -0
  23. data/docs/spec/examples/equal-operator.json +79 -0
  24. data/docs/spec/examples/ethnicity-operator.json +86 -0
  25. data/docs/spec/examples/except-operator.json +536 -0
  26. data/docs/spec/examples/filter-operator.json +218 -0
  27. data/docs/spec/examples/first-operator.json +148 -0
  28. data/docs/spec/examples/gender-operator.json +257 -0
  29. data/docs/spec/examples/hospice-operator.json +40 -0
  30. data/docs/spec/examples/hospitalization-operator.json +131 -0
  31. data/docs/spec/examples/information-periods-operator.json +131 -0
  32. data/docs/spec/examples/last-operator.json +148 -0
  33. data/docs/spec/examples/match-operator.json +186 -0
  34. data/docs/spec/examples/nth-occurrence-operator.json +300 -0
  35. data/docs/spec/examples/numeric-filter-operator.json +77 -0
  36. data/docs/spec/examples/one-in-two-out-operator.json +158 -0
  37. data/docs/spec/examples/person-filter-operator.json +919 -0
  38. data/docs/spec/examples/person-operator.json +274 -0
  39. data/docs/spec/examples/place-of-service-filter-operator.json +57 -0
  40. data/docs/spec/examples/provenance-operator.json +148 -0
  41. data/docs/spec/examples/provider-filter-operator.json +77 -0
  42. data/docs/spec/examples/race-operator.json +131 -0
  43. data/docs/spec/examples/recall-operator.json +289 -0
  44. data/docs/spec/examples/snf-operator.json +40 -0
  45. data/docs/spec/examples/time-window-operator.json +736 -0
  46. data/docs/spec/examples/trim-date-end-operator.json +201 -0
  47. data/docs/spec/examples/trim-date-start-operator.json +201 -0
  48. data/docs/spec/examples/union-operator.json +547 -0
  49. data/docs/spec/examples/vocabulary-operator.json +232 -0
  50. data/lib/conceptql/behaviors/metadatable.rb +68 -2
  51. data/lib/conceptql/behaviors/provenanceable.rb +4 -1
  52. data/lib/conceptql/behaviors/utilizable.rb +3 -0
  53. data/lib/conceptql/code_case_mismatch_error.rb +50 -0
  54. data/lib/conceptql/data_model/gdm.rb +23 -2
  55. data/lib/conceptql/diagram_renderer/app.rb +59 -0
  56. data/lib/conceptql/diagram_renderer/configuration.rb +87 -0
  57. data/lib/conceptql/diagram_renderer/diagram_data.rb +80 -0
  58. data/lib/conceptql/diagram_renderer/drawing.rb +255 -0
  59. data/lib/conceptql/diagram_renderer/geometry.rb +380 -0
  60. data/lib/conceptql/diagram_renderer/input_error.rb +11 -0
  61. data/lib/conceptql/diagram_renderer/js_format.rb +112 -0
  62. data/lib/conceptql/diagram_renderer/resvg.rb +120 -0
  63. data/lib/conceptql/diagram_renderer/sprite.rb +73 -0
  64. data/lib/conceptql/diagram_renderer/static.rb +70 -0
  65. data/lib/conceptql/diagram_renderer/svg.rb +73 -0
  66. data/lib/conceptql/diagram_renderer/tree_layout.rb +287 -0
  67. data/lib/conceptql/diagram_renderer.rb +82 -0
  68. data/lib/conceptql/lexicon/lexicon_strategy.rb +16 -0
  69. data/lib/conceptql/lexicon.rb +63 -11
  70. data/lib/conceptql/nodifier.rb +5 -3
  71. data/lib/conceptql/operators/after.rb +15 -1
  72. data/lib/conceptql/operators/any_overlap.rb +6 -1
  73. data/lib/conceptql/operators/before.rb +11 -1
  74. data/lib/conceptql/operators/binary_operator_operator.rb +12 -2
  75. data/lib/conceptql/operators/co_reported.rb +9 -4
  76. data/lib/conceptql/operators/contains.rb +6 -1
  77. data/lib/conceptql/operators/count.rb +2 -0
  78. data/lib/conceptql/operators/date_range.rb +15 -3
  79. data/lib/conceptql/operators/death.rb +5 -1
  80. data/lib/conceptql/operators/dedup.rb +2 -0
  81. data/lib/conceptql/operators/during.rb +6 -1
  82. data/lib/conceptql/operators/episode.rb +13 -2
  83. data/lib/conceptql/operators/equal.rb +11 -1
  84. data/lib/conceptql/operators/ethnicity.rb +19 -7
  85. data/lib/conceptql/operators/except.rb +10 -1
  86. data/lib/conceptql/operators/filter.rb +6 -1
  87. data/lib/conceptql/operators/first.rb +19 -9
  88. data/lib/conceptql/operators/from.rb +3 -0
  89. data/lib/conceptql/operators/gender.rb +10 -2
  90. data/lib/conceptql/operators/hospice.rb +7 -1
  91. data/lib/conceptql/operators/hospitalization.rb +6 -1
  92. data/lib/conceptql/operators/information_periods.rb +26 -7
  93. data/lib/conceptql/operators/invalid.rb +4 -0
  94. data/lib/conceptql/operators/last.rb +19 -9
  95. data/lib/conceptql/operators/match.rb +6 -1
  96. data/lib/conceptql/operators/multiple_vocabularies.rb +17 -3
  97. data/lib/conceptql/operators/numeric.rb +4 -0
  98. data/lib/conceptql/operators/numeric_filter.rb +13 -3
  99. data/lib/conceptql/operators/occurrence.rb +33 -12
  100. data/lib/conceptql/operators/one_in_two_out.rb +22 -5
  101. data/lib/conceptql/operators/operator.rb +8 -4
  102. data/lib/conceptql/operators/person.rb +5 -1
  103. data/lib/conceptql/operators/person_filter.rb +14 -1
  104. data/lib/conceptql/operators/place_of_service_filter.rb +14 -3
  105. data/lib/conceptql/operators/provenance.rb +17 -8
  106. data/lib/conceptql/operators/provider_filter.rb +18 -6
  107. data/lib/conceptql/operators/race.rb +14 -9
  108. data/lib/conceptql/operators/read.rb +11 -1
  109. data/lib/conceptql/operators/recall.rb +34 -2
  110. data/lib/conceptql/operators/snf.rb +7 -1
  111. data/lib/conceptql/operators/sum.rb +4 -0
  112. data/lib/conceptql/operators/temporal_operator.rb +4 -2
  113. data/lib/conceptql/operators/time_window.rb +27 -4
  114. data/lib/conceptql/operators/trim_date.rb +6 -14
  115. data/lib/conceptql/operators/trim_date_end.rb +9 -3
  116. data/lib/conceptql/operators/trim_date_start.rb +9 -3
  117. data/lib/conceptql/operators/union.rb +13 -1
  118. data/lib/conceptql/operators/vocabulary.rb +80 -6
  119. data/lib/conceptql/paths.rb +9 -1
  120. data/lib/conceptql/version.rb +1 -1
  121. data/lib/conceptql/vocabularies/drg_systems.rb +3 -2
  122. data/lib/conceptql/vocabularies/entry.rb +14 -11
  123. data/lib/conceptql/vocabularies/vocabulary_class_factory.rb +2 -1
  124. data/lib/conceptql.rb +3 -0
  125. metadata +75 -2
  126. data/doc/spec.md +0 -2091
@@ -0,0 +1,736 @@
1
+ {
2
+ "spec_id": "time-window-operator",
3
+ "examples": [
4
+ {
5
+ "title": "All Diagnoses of Diabetes (ICD-9 250.01) within 30 days of an MI",
6
+ "statement": [
7
+ "during",
8
+ {
9
+ "left": ["icd9", "250.01"],
10
+ "right": [
11
+ "time_window",
12
+ ["icd9", "412"],
13
+ {
14
+ "start": "-30d",
15
+ "end": "30d"
16
+ }
17
+ ]
18
+ }
19
+ ],
20
+ "help": true,
21
+ "columns": [
22
+ "person_id",
23
+ "criterion_id",
24
+ "criterion_table",
25
+ "criterion_domain",
26
+ "start_date",
27
+ "end_date",
28
+ "source_value"
29
+ ],
30
+ "rows": [
31
+ [
32
+ 96,
33
+ 46366,
34
+ "observations",
35
+ "condition_occurrence",
36
+ "2008-09-13",
37
+ "2008-09-13",
38
+ "25001"
39
+ ],
40
+ [
41
+ 223,
42
+ 81480,
43
+ "observations",
44
+ "condition_occurrence",
45
+ "2008-07-03",
46
+ "2008-07-03",
47
+ "25001"
48
+ ]
49
+ ],
50
+ "tree": {
51
+ "format": "conceptql-diagram/v1",
52
+ "statements": [
53
+ {
54
+ "name": "during",
55
+ "base": "filter",
56
+ "humanName": "During",
57
+ "outputTypes": ["condition_occurrence"],
58
+ "parameters": {},
59
+ "values": [],
60
+ "children": [
61
+ {
62
+ "name": "icd9",
63
+ "base": "selection",
64
+ "humanName": "ICD-9 CM",
65
+ "vocabularyId": "ICD9CM",
66
+ "outputTypes": ["condition_occurrence"],
67
+ "parameters": {},
68
+ "values": ["250.01"],
69
+ "children": [],
70
+ "counts": {
71
+ "condition_occurrence": {
72
+ "rows": 82,
73
+ "n": 45
74
+ }
75
+ }
76
+ },
77
+ {
78
+ "name": "time_window",
79
+ "base": "temporal",
80
+ "humanName": "Time Window",
81
+ "outputTypes": ["condition_occurrence"],
82
+ "parameters": {
83
+ "start": "-30d",
84
+ "end": "30d"
85
+ },
86
+ "values": [],
87
+ "children": [
88
+ {
89
+ "name": "icd9",
90
+ "base": "selection",
91
+ "humanName": "ICD-9 CM",
92
+ "vocabularyId": "ICD9CM",
93
+ "outputTypes": ["condition_occurrence"],
94
+ "parameters": {},
95
+ "values": ["412"],
96
+ "children": [],
97
+ "counts": {
98
+ "condition_occurrence": {
99
+ "rows": 48,
100
+ "n": 37
101
+ }
102
+ }
103
+ }
104
+ ],
105
+ "counts": {
106
+ "condition_occurrence": {
107
+ "rows": 48,
108
+ "n": 37
109
+ }
110
+ }
111
+ }
112
+ ],
113
+ "counts": {
114
+ "condition_occurrence": {
115
+ "rows": 2,
116
+ "n": 2
117
+ }
118
+ }
119
+ }
120
+ ]
121
+ }
122
+ },
123
+ {
124
+ "title": "Shift the dates of all MIs back by 200 years",
125
+ "statement": [
126
+ "time_window",
127
+ ["icd9", "412"],
128
+ {
129
+ "start": "-200y",
130
+ "end": "-200y"
131
+ }
132
+ ],
133
+ "help": true,
134
+ "columns": [
135
+ "person_id",
136
+ "criterion_id",
137
+ "criterion_table",
138
+ "criterion_domain",
139
+ "start_date",
140
+ "end_date",
141
+ "source_value"
142
+ ],
143
+ "rows": [
144
+ [
145
+ 11,
146
+ 82614,
147
+ "observations",
148
+ "condition_occurrence",
149
+ "1808-10-29",
150
+ "1808-10-29",
151
+ "412"
152
+ ],
153
+ [
154
+ 17,
155
+ 27269,
156
+ "observations",
157
+ "condition_occurrence",
158
+ "1808-08-25",
159
+ "1808-08-25",
160
+ "412"
161
+ ],
162
+ [
163
+ 17,
164
+ 46165,
165
+ "observations",
166
+ "condition_occurrence",
167
+ "1809-04-30",
168
+ "1809-04-30",
169
+ "412"
170
+ ],
171
+ [
172
+ 38,
173
+ 40556,
174
+ "observations",
175
+ "condition_occurrence",
176
+ "1810-02-12",
177
+ "1810-02-12",
178
+ "412"
179
+ ],
180
+ [
181
+ 54,
182
+ 74606,
183
+ "observations",
184
+ "condition_occurrence",
185
+ "1808-06-05",
186
+ "1808-06-05",
187
+ "412"
188
+ ],
189
+ [
190
+ 60,
191
+ 986,
192
+ "observations",
193
+ "condition_occurrence",
194
+ "1809-07-19",
195
+ "1809-07-22",
196
+ "412"
197
+ ],
198
+ [
199
+ 66,
200
+ 16171,
201
+ "observations",
202
+ "condition_occurrence",
203
+ "1809-07-25",
204
+ "1809-07-25",
205
+ "412"
206
+ ],
207
+ [
208
+ 73,
209
+ 52843,
210
+ "observations",
211
+ "condition_occurrence",
212
+ "1808-11-16",
213
+ "1808-11-16",
214
+ "412"
215
+ ],
216
+ [
217
+ 77,
218
+ 58165,
219
+ "observations",
220
+ "condition_occurrence",
221
+ "1810-10-06",
222
+ "1810-10-06",
223
+ "412"
224
+ ],
225
+ [
226
+ 81,
227
+ 1405,
228
+ "observations",
229
+ "condition_occurrence",
230
+ "1809-01-28",
231
+ "1809-01-30",
232
+ "412"
233
+ ]
234
+ ],
235
+ "tree": {
236
+ "format": "conceptql-diagram/v1",
237
+ "statements": [
238
+ {
239
+ "name": "time_window",
240
+ "base": "temporal",
241
+ "humanName": "Time Window",
242
+ "outputTypes": ["condition_occurrence"],
243
+ "parameters": {
244
+ "start": "-200y",
245
+ "end": "-200y"
246
+ },
247
+ "values": [],
248
+ "children": [
249
+ {
250
+ "name": "icd9",
251
+ "base": "selection",
252
+ "humanName": "ICD-9 CM",
253
+ "vocabularyId": "ICD9CM",
254
+ "outputTypes": ["condition_occurrence"],
255
+ "parameters": {},
256
+ "values": ["412"],
257
+ "children": [],
258
+ "counts": {
259
+ "condition_occurrence": {
260
+ "rows": 48,
261
+ "n": 37
262
+ }
263
+ }
264
+ }
265
+ ],
266
+ "counts": {
267
+ "condition_occurrence": {
268
+ "rows": 48,
269
+ "n": 37
270
+ }
271
+ }
272
+ }
273
+ ]
274
+ }
275
+ },
276
+ {
277
+ "title": "Widen the dates of all MIs to run from 2 months and 2 days before the MI to 1 year and 3 days after it",
278
+ "statement": [
279
+ "time_window",
280
+ ["icd9", "412"],
281
+ {
282
+ "start": "-2m-2d",
283
+ "end": "3d1y"
284
+ }
285
+ ],
286
+ "help": true,
287
+ "columns": [
288
+ "person_id",
289
+ "criterion_id",
290
+ "criterion_table",
291
+ "criterion_domain",
292
+ "start_date",
293
+ "end_date",
294
+ "source_value"
295
+ ],
296
+ "rows": [
297
+ [
298
+ 11,
299
+ 82614,
300
+ "observations",
301
+ "condition_occurrence",
302
+ "2008-08-27",
303
+ "2009-11-01",
304
+ "412"
305
+ ],
306
+ [
307
+ 17,
308
+ 27269,
309
+ "observations",
310
+ "condition_occurrence",
311
+ "2008-06-23",
312
+ "2009-08-28",
313
+ "412"
314
+ ],
315
+ [
316
+ 17,
317
+ 46165,
318
+ "observations",
319
+ "condition_occurrence",
320
+ "2009-02-26",
321
+ "2010-05-03",
322
+ "412"
323
+ ],
324
+ [
325
+ 38,
326
+ 40556,
327
+ "observations",
328
+ "condition_occurrence",
329
+ "2009-12-10",
330
+ "2011-02-15",
331
+ "412"
332
+ ],
333
+ [
334
+ 54,
335
+ 74606,
336
+ "observations",
337
+ "condition_occurrence",
338
+ "2008-04-03",
339
+ "2009-06-08",
340
+ "412"
341
+ ],
342
+ [
343
+ 60,
344
+ 986,
345
+ "observations",
346
+ "condition_occurrence",
347
+ "2009-05-17",
348
+ "2010-07-25",
349
+ "412"
350
+ ],
351
+ [
352
+ 66,
353
+ 16171,
354
+ "observations",
355
+ "condition_occurrence",
356
+ "2009-05-23",
357
+ "2010-07-28",
358
+ "412"
359
+ ],
360
+ [
361
+ 73,
362
+ 52843,
363
+ "observations",
364
+ "condition_occurrence",
365
+ "2008-09-14",
366
+ "2009-11-19",
367
+ "412"
368
+ ],
369
+ [
370
+ 77,
371
+ 58165,
372
+ "observations",
373
+ "condition_occurrence",
374
+ "2010-08-04",
375
+ "2011-10-09",
376
+ "412"
377
+ ],
378
+ [
379
+ 81,
380
+ 1405,
381
+ "observations",
382
+ "condition_occurrence",
383
+ "2008-11-26",
384
+ "2010-02-02",
385
+ "412"
386
+ ]
387
+ ],
388
+ "tree": {
389
+ "format": "conceptql-diagram/v1",
390
+ "statements": [
391
+ {
392
+ "name": "time_window",
393
+ "base": "temporal",
394
+ "humanName": "Time Window",
395
+ "outputTypes": ["condition_occurrence"],
396
+ "parameters": {
397
+ "start": "-2m-2d",
398
+ "end": "3d1y"
399
+ },
400
+ "values": [],
401
+ "children": [
402
+ {
403
+ "name": "icd9",
404
+ "base": "selection",
405
+ "humanName": "ICD-9 CM",
406
+ "vocabularyId": "ICD9CM",
407
+ "outputTypes": ["condition_occurrence"],
408
+ "parameters": {},
409
+ "values": ["412"],
410
+ "children": [],
411
+ "counts": {
412
+ "condition_occurrence": {
413
+ "rows": 48,
414
+ "n": 37
415
+ }
416
+ }
417
+ }
418
+ ],
419
+ "counts": {
420
+ "condition_occurrence": {
421
+ "rows": 48,
422
+ "n": 37
423
+ }
424
+ }
425
+ }
426
+ ]
427
+ }
428
+ },
429
+ {
430
+ "title": "Collapse the date range of all MIs to the start date: leave start_date unchanged and set end_date to start_date",
431
+ "statement": [
432
+ "time_window",
433
+ ["icd9", "412"],
434
+ {
435
+ "start": "",
436
+ "end": "start"
437
+ }
438
+ ],
439
+ "help": true,
440
+ "columns": [
441
+ "person_id",
442
+ "criterion_id",
443
+ "criterion_table",
444
+ "criterion_domain",
445
+ "start_date",
446
+ "end_date",
447
+ "source_value"
448
+ ],
449
+ "rows": [
450
+ [
451
+ 11,
452
+ 82614,
453
+ "observations",
454
+ "condition_occurrence",
455
+ "2008-10-29",
456
+ "2008-10-29",
457
+ "412"
458
+ ],
459
+ [
460
+ 17,
461
+ 27269,
462
+ "observations",
463
+ "condition_occurrence",
464
+ "2008-08-25",
465
+ "2008-08-25",
466
+ "412"
467
+ ],
468
+ [
469
+ 17,
470
+ 46165,
471
+ "observations",
472
+ "condition_occurrence",
473
+ "2009-04-30",
474
+ "2009-04-30",
475
+ "412"
476
+ ],
477
+ [
478
+ 38,
479
+ 40556,
480
+ "observations",
481
+ "condition_occurrence",
482
+ "2010-02-12",
483
+ "2010-02-12",
484
+ "412"
485
+ ],
486
+ [
487
+ 54,
488
+ 74606,
489
+ "observations",
490
+ "condition_occurrence",
491
+ "2008-06-05",
492
+ "2008-06-05",
493
+ "412"
494
+ ],
495
+ [
496
+ 60,
497
+ 986,
498
+ "observations",
499
+ "condition_occurrence",
500
+ "2009-07-19",
501
+ "2009-07-19",
502
+ "412"
503
+ ],
504
+ [
505
+ 66,
506
+ 16171,
507
+ "observations",
508
+ "condition_occurrence",
509
+ "2009-07-25",
510
+ "2009-07-25",
511
+ "412"
512
+ ],
513
+ [
514
+ 73,
515
+ 52843,
516
+ "observations",
517
+ "condition_occurrence",
518
+ "2008-11-16",
519
+ "2008-11-16",
520
+ "412"
521
+ ],
522
+ [
523
+ 77,
524
+ 58165,
525
+ "observations",
526
+ "condition_occurrence",
527
+ "2010-10-06",
528
+ "2010-10-06",
529
+ "412"
530
+ ],
531
+ [
532
+ 81,
533
+ 1405,
534
+ "observations",
535
+ "condition_occurrence",
536
+ "2009-01-28",
537
+ "2009-01-28",
538
+ "412"
539
+ ]
540
+ ],
541
+ "tree": {
542
+ "format": "conceptql-diagram/v1",
543
+ "statements": [
544
+ {
545
+ "name": "time_window",
546
+ "base": "temporal",
547
+ "humanName": "Time Window",
548
+ "outputTypes": ["condition_occurrence"],
549
+ "parameters": {
550
+ "start": "",
551
+ "end": "start"
552
+ },
553
+ "values": [],
554
+ "children": [
555
+ {
556
+ "name": "icd9",
557
+ "base": "selection",
558
+ "humanName": "ICD-9 CM",
559
+ "vocabularyId": "ICD9CM",
560
+ "outputTypes": ["condition_occurrence"],
561
+ "parameters": {},
562
+ "values": ["412"],
563
+ "children": [],
564
+ "counts": {
565
+ "condition_occurrence": {
566
+ "rows": 48,
567
+ "n": 37
568
+ }
569
+ }
570
+ }
571
+ ],
572
+ "counts": {
573
+ "condition_occurrence": {
574
+ "rows": 48,
575
+ "n": 37
576
+ }
577
+ }
578
+ }
579
+ ]
580
+ }
581
+ },
582
+ {
583
+ "title": "Nonsensical, but allowed: swap the start_date and end_date",
584
+ "statement": [
585
+ "time_window",
586
+ ["icd9", "412"],
587
+ {
588
+ "start": "end",
589
+ "end": "start"
590
+ }
591
+ ],
592
+ "help": true,
593
+ "columns": [
594
+ "person_id",
595
+ "criterion_id",
596
+ "criterion_table",
597
+ "criterion_domain",
598
+ "start_date",
599
+ "end_date",
600
+ "source_value"
601
+ ],
602
+ "rows": [
603
+ [
604
+ 11,
605
+ 82614,
606
+ "observations",
607
+ "condition_occurrence",
608
+ "2008-10-29",
609
+ "2008-10-29",
610
+ "412"
611
+ ],
612
+ [
613
+ 17,
614
+ 27269,
615
+ "observations",
616
+ "condition_occurrence",
617
+ "2008-08-25",
618
+ "2008-08-25",
619
+ "412"
620
+ ],
621
+ [
622
+ 17,
623
+ 46165,
624
+ "observations",
625
+ "condition_occurrence",
626
+ "2009-04-30",
627
+ "2009-04-30",
628
+ "412"
629
+ ],
630
+ [
631
+ 38,
632
+ 40556,
633
+ "observations",
634
+ "condition_occurrence",
635
+ "2010-02-12",
636
+ "2010-02-12",
637
+ "412"
638
+ ],
639
+ [
640
+ 54,
641
+ 74606,
642
+ "observations",
643
+ "condition_occurrence",
644
+ "2008-06-05",
645
+ "2008-06-05",
646
+ "412"
647
+ ],
648
+ [
649
+ 60,
650
+ 986,
651
+ "observations",
652
+ "condition_occurrence",
653
+ "2009-07-22",
654
+ "2009-07-19",
655
+ "412"
656
+ ],
657
+ [
658
+ 66,
659
+ 16171,
660
+ "observations",
661
+ "condition_occurrence",
662
+ "2009-07-25",
663
+ "2009-07-25",
664
+ "412"
665
+ ],
666
+ [
667
+ 73,
668
+ 52843,
669
+ "observations",
670
+ "condition_occurrence",
671
+ "2008-11-16",
672
+ "2008-11-16",
673
+ "412"
674
+ ],
675
+ [
676
+ 77,
677
+ 58165,
678
+ "observations",
679
+ "condition_occurrence",
680
+ "2010-10-06",
681
+ "2010-10-06",
682
+ "412"
683
+ ],
684
+ [
685
+ 81,
686
+ 1405,
687
+ "observations",
688
+ "condition_occurrence",
689
+ "2009-01-30",
690
+ "2009-01-28",
691
+ "412"
692
+ ]
693
+ ],
694
+ "tree": {
695
+ "format": "conceptql-diagram/v1",
696
+ "statements": [
697
+ {
698
+ "name": "time_window",
699
+ "base": "temporal",
700
+ "humanName": "Time Window",
701
+ "outputTypes": ["condition_occurrence"],
702
+ "parameters": {
703
+ "start": "end",
704
+ "end": "start"
705
+ },
706
+ "values": [],
707
+ "children": [
708
+ {
709
+ "name": "icd9",
710
+ "base": "selection",
711
+ "humanName": "ICD-9 CM",
712
+ "vocabularyId": "ICD9CM",
713
+ "outputTypes": ["condition_occurrence"],
714
+ "parameters": {},
715
+ "values": ["412"],
716
+ "children": [],
717
+ "counts": {
718
+ "condition_occurrence": {
719
+ "rows": 48,
720
+ "n": 37
721
+ }
722
+ }
723
+ }
724
+ ],
725
+ "counts": {
726
+ "condition_occurrence": {
727
+ "rows": 48,
728
+ "n": 37
729
+ }
730
+ }
731
+ }
732
+ ]
733
+ }
734
+ }
735
+ ]
736
+ }