File size: 375,974 Bytes
3d16fe6
896453f
 
1f7780e
896453f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b7f52a5
fcf298e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-sources/data-model-erd" data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.10.0"><title data-rh=true>Data Model & Entity Relationship Diagram | Open Navigator</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"/><meta data-rh=true property=og:image content=https://www.communityone.com/img/docusaurus-social-card.jpg /><meta data-rh=true name=twitter:image content=https://www.communityone.com/img/docusaurus-social-card.jpg /><meta data-rh=true property=og:url content=https://www.communityone.com/docs/data-sources/data-model-erd /><meta data-rh=true property=og:locale content=en /><meta data-rh=true name=docusaurus_locale content=en /><meta data-rh=true name=docsearch:language content=en /><meta data-rh=true name=keywords content="civic engagement, policy tracking, meeting minutes, nonprofit tracking, municipal government, advocacy, open data, local government"/><meta data-rh=true property=og:type content=website /><meta data-rh=true property=og:site_name content="Open Navigator"/><meta data-rh=true name=twitter:card content=summary_large_image /><meta data-rh=true name=docusaurus_version content=current /><meta data-rh=true name=docusaurus_tag content=docs-default-current /><meta data-rh=true name=docsearch:version content=current /><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current /><meta data-rh=true property=og:title content="Data Model & Entity Relationship Diagram | Open Navigator"/><meta data-rh=true name=description content="Comprehensive overview of all data entities extracted, processed, and uploaded to HuggingFace datasets."/><meta data-rh=true property=og:description content="Comprehensive overview of all data entities extracted, processed, and uploaded to HuggingFace datasets."/><link data-rh=true rel=icon href=/img/favicon.ico /><link data-rh=true rel=canonical href=https://www.communityone.com/docs/data-sources/data-model-erd /><link data-rh=true rel=alternate href=https://www.communityone.com/docs/data-sources/data-model-erd hreflang=en /><link data-rh=true rel=alternate href=https://www.communityone.com/docs/data-sources/data-model-erd hreflang=x-default /><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://www.communityone.com/docs/data-sources/data-model-erd","name":"Data Model & Entity Relationship Diagram","position":1}]}</script><link rel=alternate type=application/rss+xml href=/blog/rss.xml title="Open Navigator RSS Feed"><link rel=alternate type=application/atom+xml href=/blog/atom.xml title="Open Navigator Atom Feed"><link rel=preconnect href=https://www.google-analytics.com><link rel=preconnect href=https://www.googletagmanager.com><script async src="https://www.googletagmanager.com/gtag/js?id=G-5EQV815915"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-5EQV815915",{anonymize_ip:!0})</script><link rel=stylesheet href=/assets/css/styles.c89d6b2d.css /><script src=/assets/js/runtime~main.c8fa085e.js defer></script><script src=/assets/js/main.6e24e536.js defer></script></head><body><svg style="display: none;"><defs>
<symbol id=theme-svg-external-link viewBox="0 0 24 24"><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme-7e9")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/img/communityone_logo.svg /><script type=application/ld+json>{"@context":"https://schema.org","@type":"Organization","address":{"@type":"PostalAddress","addressCountry":"US","addressLocality":"Tuscaloosa","addressRegion":"AL","postalCode":"35406","streetAddress":"5617 Lakeridge Court"},"contactPoint":{"@type":"ContactPoint","availableLanguage":["English"],"contactType":"Customer Service","email":"johnbowyer@communityone.com"},"description":"Track 90,000+ jurisdictions, 1.8M nonprofits, and analyze meeting minutes with AI. The open path to everything local.","email":"johnbowyer@communityone.com","legalName":"CommunityOne","logo":"https://www.communityone.com/img/communityone_logo.svg","name":"CommunityOne","sameAs":["https://www.facebook.com/communityone","https://www.instagram.com/communityone","https://twitter.com/communityone","https://www.linkedin.com/company/communityone","https://www.youtube.com/@communityone","https://discord.gg/communityone","https://github.com/getcommunityone/open-navigator"],"url":"https://www.communityone.com"}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"WebSite","alternateName":"CommunityOne Open Navigator","description":"AI-powered civic engagement platform tracking jurisdictions, nonprofits, and government meetings","name":"Open Navigator","potentialAction":{"@type":"SearchAction","query-input":"required name=search_term_string","target":{"@type":"EntryPoint","urlTemplate":"https://www.communityone.com/search?q={search_term_string}"}},"url":"https://www.communityone.com"}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"SoftwareApplication","aggregateRating":{"@type":"AggregateRating","ratingCount":"1","ratingValue":"5"},"applicationCategory":"BusinessApplication","description":"Track 90,000+ jurisdictions, 1.8M nonprofits, and analyze meeting minutes with AI","featureList":["Track 90,000+ jurisdictions","Monitor 1.8M nonprofits","Analyze meeting minutes","Legislative bill tracking","Campaign finance data"],"name":"Open Navigator","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"operatingSystem":"Web","screenshot":"https://www.communityone.com/img/docusaurus-social-card.jpg","softwareVersion":"1.0.0"}</script><div role=region aria-label="Skip to main content"><a class=skipToContent_fXgn href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a href=https://www.communityone.com target=_self rel="noopener noreferrer" class=navbar__brand><div class=navbar__logo><img src=/img/communityone_logo.svg alt="CommunityOne Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"/><img src=/img/communityone_logo.svg alt="CommunityOne Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"/></div><b class="navbar__title text--truncate">Open Navigator Home</b></a><a class="navbar__item navbar__link" href=/docs/intro>Getting Started</a><a class="navbar__item navbar__link" href=/docs/for-families>Families & Individuals</a><a class="navbar__item navbar__link" href=/docs/for-advocates>Policy Makers</a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/docs/for-developers>Developers</a><a class="navbar__item navbar__link" href=/docs/data-sources/citations>Data and Terms</a><a class="navbar__item navbar__link" href=/blog>Blog</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href=https://github.com/getcommunityone/open-navigator-for-engagement target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type=button disabled title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill=currentColor d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill=currentColor d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill=currentColor d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"/></svg></button></div><div class=navbarSearchContainer_Bca1></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class=docsWrapper_hBAB><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type=button></button><div class=docRoot_UBD9><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class=sidebarViewport_aRkj><div class=sidebar_njMd><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true href=/docs/for-developers><span title="Developers & Technical Users" class=categoryLinkLabel_W154>Developers & Technical Users</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/for-developers><span title="For Developers & Technical Users" class=linkLabel_WmDU>For Developers & Technical Users</span></a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/quickstart><span title="Setup & Installation" class=categoryLinkLabel_W154>Setup & Installation</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true tabindex=0 href=/docs/data-sources/citations><span title="Data Sources (Technical)" class=categoryLinkLabel_W154>Data Sources (Technical)</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/citations><span title="Data and Citations" class=linkLabel_WmDU>Data and Citations</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/legal-compliance><span title="Legal & Compliance" class=linkLabel_WmDU>Legal & Compliance</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/docs/data-sources/data-model-erd><span title="Data Model & Entity Relationship Diagram" class=linkLabel_WmDU>Data Model & Entity Relationship Diagram</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/jurisdiction-discovery><span title="Jurisdiction Discovery System" class=linkLabel_WmDU>Jurisdiction Discovery System</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/census-data><span title="Census Bureau Data URL Fix" class=linkLabel_WmDU>Census Bureau Data URL Fix</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/huggingface-datasets><span title="βœ… Confirmed: HuggingFace Datasets That WILL Help" class=linkLabel_WmDU>βœ… Confirmed: HuggingFace Datasets That WILL Help</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/url-datasets><span title="🎯 ANSWER: Yes, You Should Look at Those Datasets!" class=linkLabel_WmDU>🎯 ANSWER: Yes, You Should Look at Those Datasets!</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/youtube-discovery><span title="YouTube Channel Discovery - Issues & Solutions" class=linkLabel_WmDU>YouTube Channel Discovery - Issues & Solutions</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/video-channels><span title="Video Channel Discovery: Current State & Enhancement Plan" class=linkLabel_WmDU>Video Channel Discovery: Current State & Enhancement Plan</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/open-source-repositories><span title="Open Source Repository Data Sources" class=linkLabel_WmDU>Open Source Repository Data Sources</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/ballot-election-sources><span title="Ballot Measures & Election Results" class=linkLabel_WmDU>Ballot Measures & Election Results</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/polling-survey-sources><span title="Public Opinion & Survey Data" class=linkLabel_WmDU>Public Opinion & Survey Data</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/factcheck-sources><span title="Fact-Checking & Claim Verification" class=linkLabel_WmDU>Fact-Checking & Claim Verification</span></a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/guides/jurisdiction-setup><span title="How-To Guides" class=categoryLinkLabel_W154>How-To Guides</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/integrations/mcp-server><span title=Integrations class=categoryLinkLabel_W154>Integrations</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/deployment/databricks-apps><span title=Deployment class=categoryLinkLabel_W154>Deployment</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/development/database-setup><span title=Development class=categoryLinkLabel_W154>Development</span></a></div></ul></ul></nav></div></div></aside><main class=docMainContainer_TBSr><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_VOVn"><div class=docItemContainer_Djhp><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label=Breadcrumbs><ul class=breadcrumbs><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_YNFT><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li class=breadcrumbs__item><span class=breadcrumbs__link>Developers & Technical Users</span><li class=breadcrumbs__item><span class=breadcrumbs__link>Data Sources (Technical)</span><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Data Model & Entity Relationship Diagram</span></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type=button class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Data Model & Entity Relationship Diagram</h1></header>
<p>Comprehensive overview of all data entities extracted, processed, and uploaded to HuggingFace datasets.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-huggingface-dataset-structure>οΏ½ HuggingFace Dataset Structure<a href=#-huggingface-dataset-structure class=hash-link aria-label="Direct link to οΏ½ HuggingFace Dataset Structure" title="Direct link to οΏ½ HuggingFace Dataset Structure" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=current-datasets-being-uploaded>Current Datasets Being Uploaded<a href=#current-datasets-being-uploaded class=hash-link aria-label="Direct link to Current Datasets Being Uploaded" title="Direct link to Current Datasets Being Uploaded" translate=no>​</a></h3>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">open-navigator-data/</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ jurisdictions/          # πŸ›οΈ Core jurisdiction data</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ cities              # 19,000+ incorporated places</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ counties            # 3,144 U.S. counties</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ states              # 50 states + DC, territories</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ school_districts    # 13,000+ districts (NCES data)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── census_data         # Basic FIPS codes & census year reference</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ demographics/           # πŸ‘₯ Comprehensive demographic data (U.S. Census)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ population          # Total population, age distribution</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ race_ethnicity      # Race and ethnicity breakdowns</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ income_economics    # Income, poverty, SNAP benefits</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ education           # Educational attainment levels</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ housing             # Housing units, ownership, values</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ employment          # Unemployment, labor force participation</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── health_insurance    # Insurance coverage (uninsured, Medicaid, Medicare)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ social/                 # πŸ“± Social media presence</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ twitter             # Twitter/X accounts</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ facebook            # Facebook pages</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ instagram           # Instagram accounts</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── linkedin            # LinkedIn pages</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ videos/                 # πŸ“Ή Video & streaming platforms</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ youtube_channels    # Government YouTube channels</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ vimeo              # Vimeo accounts</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── livestreams        # Live meeting streams</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ platforms/              # πŸ–₯️ Meeting management systems</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ legistar           # Legistar URLs</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ granicus           # Granicus links</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ suiteone           # SuiteOne systems</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── civicplus          # CivicPlus platforms</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ domains/                # 🌐 Official government websites</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ gsa_domains        # .gov domain registry</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ municipal_websites # City/county websites</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── state_portals      # State government sites</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ events/                 # πŸ“‹ Meetings, Hearings & Public Events</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ events             # Government meetings, public hearings, community forums, town halls</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ event_participants # Officials and organizations participating in events</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ event_agenda_items # Individual agenda topics discussed</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ event_documents    # Agendas, minutes, presentations, handouts</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ event_media        # Video recordings, livestreams, audio files</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── event_bills        # Bills discussed or considered at meetings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ contacts/               # πŸ‘₯ All People - Officials, Candidates, Donors, Constituents</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ officials          # Elected and appointed officials (mayors, council members, legislators)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ official_roles     # Current and historical positions held</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ official_contacts  # Email, phone, office addresses</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ official_identifiers # External IDs (Twitter, OpenStates, Ballotpedia)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ official_links     # Websites, social media profiles</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ candidates         # Political candidates (House, Senate, President - FEC data)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ nonprofit_donors   # Nonprofit leadership political giving (FEC analysis)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── constituents       # Donors, volunteers, members, beneficiaries (all people)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ nonprofits/             # 🏒 Nonprofit organizations & churches</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ irs_eobmf          # IRS EO-BMF bulk data (1.9M+ organizations) - PRIMARY SOURCE</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ irs_nonprofits     # Legacy IRS 990 data (deprecated - use irs_eobmf)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ propublica_data    # ProPublica API (financials, NTEE codes)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ everyorg_data      # Every.org API (missions, causes, logos)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ nonprofit_990s     # Detailed Form 990 financials (yearly filings)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ congregations      # πŸ› Church & congregation data (ARDA, HIFLD, NCS)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ constituents       # 🀝 Donors, volunteers, members, beneficiaries (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ donations          # πŸ’ Financial contributions and in-kind gifts (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ campaigns          # πŸ“£ Fundraising campaigns and appeals (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ memberships        # 🎫 Member enrollment and renewals (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ volunteer_activities # πŸ™‹ Volunteer hours and activities (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ program_delivery   # 🎯 Programs and services delivered (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── program_outcomes   # πŸ“Š Impact metrics and outcome measurements (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ grants/                 # πŸ’΅ Grant funding transactions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ nonprofit_grants   # Grants to nonprofits (from 990 Schedule I)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ government_grants  # Government grants to orgs/jurisdictions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ foundation_grants  # Private foundation grants</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── federal_grants     # Federal funding programs</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ causes/                 # 🎯 Cause & category taxonomy</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ ntee_codes         # IRS NTEE classification system</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── everyorg_causes    # Every.org cause tags</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ budgets/                # πŸ’° Government budgets & finances</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ city_budgets       # City/municipal budgets & spending</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ county_budgets     # County budgets & expenditures</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ state_budgets      # State government finances</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ school_budgets     # School district finances (NCES F-33)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bond_debt          # Municipal bonds & debt obligations</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ budget_line_items  # πŸ“Š Detailed budget categories & line items</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── budget_deltas      # πŸ” Budget-to-Minutes Delta analysis (political economy)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ decisions/              # βš–οΈ Policy decisions & political economy analysis</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ policy_decisions   # Extracted decisions from meetings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ decision_frames    # Frame analysis (rhetoric patterns)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ decision_options   # Options considered & rejected</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ decision_tradeoffs # Tradeoffs discussed (cost vs benefit, etc.)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ stakeholder_positions # πŸ‘₯ Who spoke for/against (Influence Radar)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ decision_votes     # Detailed vote records per decision</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ deferral_patterns  # πŸ“… Stalling detection (same topic, multiple deferrals)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ deferral_instances # Individual tabling events linked to patterns</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ keyword_density    # Quantitative indicators (grant/taxpayer/emergency)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── deferral_patterns  # Tabled/delayed decisions (temporal analysis)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ elections/              # πŸ“… Election cycles & temporal analysis</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ election_cycles    # Election dates & periods</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── election_influences # Pre/post-election decision patterns</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ campaigns/              # πŸ’° Political campaign finance (FEC data)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ committees         # PACs, Super PACs, campaign committees</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── contributions      # Individual political contributions $200+</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ civic/                  # πŸ—³οΈ Google Civic & Wikidata</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ civic_divisions    # OCD divisions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ representatives    # From Google Civic API</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ wikidata_entities  # Structured entities</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── dbpedia_resources  # Wikipedia infobox data</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ ballots/                # πŸ—³οΈ Ballot initiatives & referendums</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ state_measures      # State propositions (fluoridation votes!)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ local_measures      # City/county ballot questions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── election_results    # Historical voting outcomes</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ bills/                  # πŸ“œ Legislation & Lawmaking</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bills              # Bills and resolutions (1.5M+ from all 50 states)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bill_actions       # Bill history (introduced, committee, floor vote, signed)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bill_sponsorships  # Primary sponsors and co-sponsors</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bill_abstracts     # Bill summaries and descriptions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bill_versions      # Different versions of bill text (introduced, amended, enrolled)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bill_version_links # Links to PDF/HTML bill text</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bill_documents     # Supporting documents (fiscal notes, amendments, analysis)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bill_document_links # Links to supporting documents</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ bill_subjects      # Subject/topic tags per bill</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ legislative_sessions # Session identifiers (2023 Regular, 2024 Special, etc.)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ vote_events        # Roll call votes on bills</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ vote_counts        # Vote tallies (yes, no, abstain, absent)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── individual_votes   # Individual legislator votes (yes/no/abstain)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ topics/                 # 🎯 Advocacy causes & campaigns</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ topic_definitions   # Validated survey questions from Roper Center</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ survey_questions    # Public opinion question wording library</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ jurisdiction_topics # What each city is discussing</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── advocacy_alerts     # Opportunities for engagement</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ surveys/                # πŸ“Š Public opinion research & polling data</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ survey_providers    # Polling organizations (Gallup, Pew, Roper, etc.)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ survey_studies      # Individual survey studies/waves</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ survey_variables    # Questions/items asked in surveys</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ survey_responses    # Aggregate and individual response data</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ ipoll_metadata      # Roper iPoll catalog metadata</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── survey_crosstabs    # Breakdowns by demographics, geography</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ factchecks/             # βœ… Fact-checking & claim verification</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ claim_reviews       # Google Fact Check API (ClaimReview schema)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ politifact          # PolitiFact Truth-O-Meter ratings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ factcheck_org       # FactCheck.org verified claims</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── verified_claims     # Aggregated fact-check database</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ civic_tech/             # πŸ’» Open source projects & hackathons</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ github_repositories # Civic tech projects (GitHub API)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ project_metadata    # Code for America, USDR, Civic Tech Field Guide</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ contributors        # Maintainers and core contributors</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ project_issues      # Good first issues, contribution opportunities</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ hackathons          # Civic hackathon events</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ hackathon_projects  # Projects built at hackathons</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ brigade_chapters    # Code for America brigade locations</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── project_funding     # GitHub Sponsors, grants, OpenCollective</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ community_solutions/    # 🌟 Community engagement & use cases</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ engagement_spectrum # Spectrum of Community Engagement to Ownership</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ use_case_catalog   # Harvard Data-Smart City Solutions examples</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ data_academies     # Brookings Institution training programs</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ success_stories    # Real-world outcomes (Providence, Portland, Tempe)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ metric_templates   # Pre-built analytics for common challenges</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── workflow_guides    # Step-by-step community data workflows</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ analytics/              # πŸ“Š Time dimensions & metric views</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ date_dimension      # Date/time reference table (YYYY-MM-DD, day_of_week, fiscal_year)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ temporal_relationships  # Time-series joins for all entities</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ metric_views        # Pre-computed analytics (advocacy, spending, nonprofit impact)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ aggregated_stats    # Monthly/quarterly/yearly rollups</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── dashboard_metrics   # Real-time dashboard data feeds</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ standards/              # 🌐 Schema.org, Popolo, CEDS, IATI exports</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ schema_org_jsonld   # JSON-LD exports (Event, Person, Organization, Legislation, ClaimReview)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ popolo_exports      # Popolo-compliant JSON (Person, Organization, Membership, VoteEvent)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ ceds_aligned        # CEDS-compliant education data (Element IDs, Option Sets)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ ocd_divisions       # Open Civic Data division IDs</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ iati_activities     # IATI Standard v2.03 XML (programs, grants, humanitarian aid)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── rdf_triples         # RDF/Turtle semantic web exports</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ vocabulary/             # πŸ”§ OMOP-inspired concept & terminology (SYSTEM-INTERNAL)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ concept             # Master concept table (cities, causes, officials)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ vocabulary          # Vocabulary sources (OCD_ID, IRS_NTEE, US_Census)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ concept_class       # Concept classifications (City, County, 501c3, Mayor)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   β”œβ”€β”€ concept_relationship # Relationships (City β†’ County, Topic β†’ Legislation)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚   └── domain              # Domain groupings (Jurisdiction, Nonprofit, Policy)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">└── exports/                # πŸ“€ API-ready formatted exports</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    β”œβ”€β”€ csv_bulk            # CSV downloads for all datasets</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    β”œβ”€β”€ json_api            # REST API JSON responses</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    β”œβ”€β”€ graphql_schema      # GraphQL schema definitions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    └── parquet_optimized   # Compressed Parquet (default format)</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=parquet-file-naming-convention>Parquet File Naming Convention<a href=#parquet-file-naming-convention class=hash-link aria-label="Direct link to Parquet File Naming Convention" title="Direct link to Parquet File Naming Convention" translate=no>​</a></h3>
<p><strong>Rule:</strong> Use underscores (<code>_</code>) consistently, NOT hyphens (<code>-</code>)</p>
<p><strong>Format:</strong> <code>{category}_{subcategory}.parquet</code></p>
<p><strong>Examples:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">βœ… CORRECT (using underscores):</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions_cities.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions_counties.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions_states.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions_school_districts.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">social_twitter.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">social_facebook.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">videos_youtube_channels.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">events_events.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_officials.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bills.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_organizations.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_financials.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_programs.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_locations.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_irs_eobmf.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_constituents.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_donations.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_campaigns.parquet        # Nonprofit fundraising campaigns (NOT political)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_candidates.parquet         # Political candidates (FEC)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_nonprofit_donors.parquet   # Nonprofit leadership political giving (FEC analysis)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_constituents.parquet       # Donors, volunteers, members, beneficiaries</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">campaigns_committees.parquet        # Political committees/PACs (FEC)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">campaigns_contributions.parquet     # Political contributions (FEC)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_memberships.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_volunteer_activities.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_program_delivery.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_program_outcomes.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">grants_federal_grants.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_officials.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_official_roles.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_official_contacts.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_official_identifiers.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_official_links.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_candidates.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_nonprofit_donors.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_constituents.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bills.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_actions.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_sponsorships.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_abstracts.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_versions.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_version_links.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_documents.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_document_links.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_subjects.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_legislative_sessions.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_vote_events.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_vote_counts.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_individual_votes.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">events.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_participants.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_agenda_items.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_documents.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_media.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_bills.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">budgets_city_budgets.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_national_polls.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_roper_questions.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_survey_providers.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_survey_studies.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_survey_variables.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_survey_responses.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_ipoll_metadata.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">factchecks_claim_reviews.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">factchecks_politifact.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">analytics_date_dimension.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">analytics_metric_views.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">analytics_temporal_relationships.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards_schema_org_jsonld.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards_popolo_exports.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards_ceds_aligned.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards_iati_activities.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">vocabulary_concept.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">vocabulary_vocabulary.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">vocabulary_concept_class.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">vocabulary_concept_relationship.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">❌ INCORRECT (using hyphens):</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions-cities.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">social-twitter.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">meetings-government-meetings.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys-national-polls.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">factchecks-claim-reviews.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">analytics-date-dimension.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards-schema-org.parquet</span><br/></div></code></pre></div></div>
<p><strong>Why Underscores?</strong></p>
<ul>
<li class="">βœ… Python-friendly variable names (can use <code>data.jurisdictions_cities</code>)</li>
<li class="">βœ… SQL-compatible column names</li>
<li class="">βœ… Consistent with folder structure (<code>school_districts</code>, not <code>school-districts</code>)</li>
<li class="">βœ… Better for programmatic access</li>
<li class="">βœ… Avoids shell escaping issues</li>
</ul>
<p><strong>Repository Name Exception:</strong></p>
<ul>
<li class="">HuggingFace repo: <code>CommunityOne/open-navigator-data</code> (hyphen is fine for URLs)</li>
<li class="">File names inside repo: Use underscores (<code>jurisdictions_cities.parquet</code>)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-data-extraction-pipeline>πŸ”„ Data Extraction Pipeline<a href=#-data-extraction-pipeline class=hash-link aria-label="Direct link to πŸ”„ Data Extraction Pipeline" title="Direct link to πŸ”„ Data Extraction Pipeline" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=phase-1-discovery-bronze-layer>Phase 1: Discovery (Bronze Layer)<a href=#phase-1-discovery-bronze-layer class=hash-link aria-label="Direct link to Phase 1: Discovery (Bronze Layer)" title="Direct link to Phase 1: Discovery (Bronze Layer)" translate=no>​</a></h3>
<ol>
<li class=""><strong>Census Data</strong> β†’ Jurisdictions list</li>
<li class=""><strong>GSA Domains</strong> β†’ Government websites</li>
<li class=""><strong>NCES</strong> β†’ School districts with financial data (F-33 forms)</li>
<li class=""><strong>IRS EO-BMF</strong> β†’ ALL 1.9M+ U.S. tax-exempt organizations (PRIMARY SOURCE)</li>
<li class=""><strong>IRS TEOS</strong> β†’ Legacy nonprofit EINs (deprecated - use IRS EO-BMF)</li>
<li class=""><strong>Census of Governments</strong> β†’ Municipal budgets & finances</li>
<li class=""><strong>URL Discovery</strong> β†’ Meeting platforms, YouTube, budget PDFs</li>
<li class=""><strong>Social Media</strong> β†’ Twitter, Facebook accounts</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=phase-2-enrichment-silver-layer>Phase 2: Enrichment (Silver Layer)<a href=#phase-2-enrichment-silver-layer class=hash-link aria-label="Direct link to Phase 2: Enrichment (Silver Layer)" title="Direct link to Phase 2: Enrichment (Silver Layer)" translate=no>​</a></h3>
<ol>
<li class=""><strong>IRS EO-BMF</strong> β†’ Complete nonprofit registry with 28 data fields per organization</li>
<li class=""><strong>ProPublica Nonprofit Explorer</strong> β†’ Enhanced financial data, detailed 990 filings</li>
<li class=""><strong>Every.org API</strong> β†’ Nonprofit causes, missions, logos</li>
<li class=""><strong>ARDA (Association of Religion Data Archives)</strong> β†’ Congregation characteristics, health ministries</li>
<li class=""><strong>HIFLD Places of Worship</strong> β†’ Geospatial church locations (350K+ congregations)</li>
<li class=""><strong>National Congregations Study</strong> β†’ Social service provision patterns</li>
<li class=""><strong>NCES F-33 Finance Survey</strong> β†’ School district budgets, per-pupil spending</li>
<li class=""><strong>Census Annual Survey</strong> β†’ State/local government finances</li>
<li class=""><strong>Municipal Securities Rulemaking Board (EMMA)</strong> β†’ Bond debt data</li>
<li class=""><strong>YouTube API</strong> β†’ Channel statistics</li>
<li class=""><strong>Open States PostgreSQL Database</strong> β†’ Complete legislative data (~10 GB monthly dump)<!-- -->
<ul>
<li class=""><strong>8,600+ people</strong> (legislators, governors, mayors) across all 50 states + DC + Puerto Rico</li>
<li class=""><strong>1.5M+ bills</strong> with full text and history</li>
<li class=""><strong>13M+ bill actions</strong> (introduced, committee, amendments, floor votes, signed)</li>
<li class=""><strong>7.2M+ sponsorships</strong> (primary sponsors and co-sponsors)</li>
<li class=""><strong>3.5M+ bill versions</strong> (as introduced, committee substitute, enrolled, enacted)</li>
<li class=""><strong>180K+ events</strong> (legislative meetings, hearings, committee sessions)</li>
<li class=""><strong>835K+ event participants</strong> (who spoke, testified, or attended)</li>
<li class=""><strong>524K+ agenda items</strong> from meetings</li>
<li class=""><strong>Vote events</strong> with individual legislator positions</li>
<li class=""><strong>Organizations</strong> (legislative bodies, committees)</li>
<li class=""><strong>Jurisdictions</strong> (states, territories)</li>
<li class="">Updated monthly from <a href=https://data.openstates.org/postgres/monthly/ target=_blank rel="noopener noreferrer" class="">https://data.openstates.org/postgres/monthly/</a></li>
</ul>
</li>
<li class=""><strong>OpenStates People Repository</strong> β†’ Current legislator contact info<!-- -->
<ul>
<li class="">GitHub repo: <a href=https://github.com/openstates/people target=_blank rel="noopener noreferrer" class="">https://github.com/openstates/people</a></li>
<li class="">YAML files with email, phone, district offices</li>
<li class="">Social media profiles and website links</li>
<li class="">Updated daily via automated scrapers</li>
</ul>
</li>
<li class=""><strong>Wikidata SPARQL</strong> β†’ Entity relationships</li>
<li class=""><strong>DBpedia</strong> β†’ Wikipedia structured data</li>
<li class=""><strong>Google Civic</strong> β†’ Representatives</li>
<li class=""><strong>OpenFEC API</strong> β†’ Political contributions, candidates, committees (campaign finance)</li>
<li class=""><strong>GitHub API</strong> β†’ Civic tech projects, contributors, issues</li>
<li class=""><strong>Civic Tech Field Guide</strong> β†’ Curated project taxonomy</li>
<li class=""><strong>Code for America</strong> β†’ Brigade projects and hackathons</li>
<li class=""><strong>Digital Public Goods Alliance</strong> β†’ DPG-certified open source projects</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=phase-3-processing-gold-layer>Phase 3: Processing (Gold Layer)<a href=#phase-3-processing-gold-layer class=hash-link aria-label="Direct link to Phase 3: Processing (Gold Layer)" title="Direct link to Phase 3: Processing (Gold Layer)" translate=no>​</a></h3>
<ol>
<li class=""><strong>Meeting Extraction</strong> β†’ Agenda/minutes text</li>
<li class=""><strong>Video Transcripts</strong> β†’ YouTube captions</li>
<li class=""><strong>Document Analysis</strong> β†’ Keyword detection</li>
<li class=""><strong>Relationship Mapping</strong> β†’ Entity connections</li>
<li class=""><strong>Oral Health Filtering</strong> β†’ Topic classification</li>
<li class=""><strong>Temporal Indexing</strong> β†’ Date dimension table, time-series relationships</li>
<li class=""><strong>Metric View Creation</strong> β†’ Pre-computed analytics (advocacy activity, government spending, nonprofit impact)</li>
<li class=""><strong>Schema.org JSON-LD</strong> β†’ Structured data exports (Event, Person, Organization, Legislation, ClaimReview)</li>
<li class=""><strong>Popolo Compliance</strong> β†’ Open government standard exports (Person, Organization, Membership, VoteEvent)</li>
<li class=""><strong>CEDS Alignment</strong> β†’ Education data mapping to NCES Element IDs and Option Sets</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=new-dataset-categories-explained>New Dataset Categories Explained<a href=#new-dataset-categories-explained class=hash-link aria-label="Direct link to New Dataset Categories Explained" title="Direct link to New Dataset Categories Explained" translate=no>​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=-analytics-datasets>πŸ“Š Analytics Datasets<a href=#-analytics-datasets class=hash-link aria-label="Direct link to πŸ“Š Analytics Datasets" title="Direct link to πŸ“Š Analytics Datasets" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Enable time-series analysis, trend detection, and dashboard metrics without complex SQL queries.</p>
<table><thead><tr><th>Dataset<th>Description<th>Refresh Frequency<tbody><tr><td><code>analytics_date_dimension</code><td>Calendar reference table with fiscal years, quarters, day-of-week, holidays<td>Static (updated annually)<tr><td><code>analytics_temporal_relationships</code><td>Pre-joined date keys for all time-based entities (meetings, votes, budgets, filings)<td>Daily<tr><td><code>analytics_metric_views</code><td>Pre-computed analytics like advocacy_activity, government_spending, nonprofit_impact<td>Hourly<tr><td><code>analytics_aggregated_stats</code><td>Monthly/quarterly/yearly rollups (meeting counts, budget totals, grant sums)<td>Daily<tr><td><code>analytics_dashboard_metrics</code><td>Real-time feeds for dashboards (active meetings today, trending topics, hot ballot measures)<td>Every 5 minutes</table>
<p><strong>Example Use Case:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Instead of complex joins, use metric view:</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> analytics_metric_views </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> metric_name </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'advocacy_activity'</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'ocd-division/country:us/state:al/place:birmingham'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> date_period </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2024-Q1'</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=-standards-compliant-exports>🌐 Standards-Compliant Exports<a href=#-standards-compliant-exports class=hash-link aria-label="Direct link to 🌐 Standards-Compliant Exports" title="Direct link to 🌐 Standards-Compliant Exports" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Maximum interoperability with civic tech platforms, search engines, and semantic web tools.</p>
<table><thead><tr><th>Dataset<th>Standard<th>Use Case<th>Consumers<tbody><tr><td><code>standards_schema_org_jsonld</code><td>Schema.org JSON-LD<td>Google Search rich results, voice assistants<td>Google, Bing, Alexa, Siri<tr><td><code>standards_popolo_exports</code><td>Popolo Project<td>Civic tech platform integration<td>mySociety, OpenNorth, Sunlight Foundation<tr><td><code>standards_ceds_aligned</code><td>Common Education Data Standards<td>Education data exchange, NCES reporting<td>State education depts, Ed-Fi, IMS Global<tr><td><code>standards_ocd_divisions</code><td>Open Civic Data IDs<td>Cross-platform jurisdiction referencing<td>Google Civic, Ballotpedia, Vote Smart<tr><td><code>standards_rdf_triples</code><td>RDF/Turtle<td>Linked open data, knowledge graphs<td>DBpedia, Wikidata, SPARQL endpoints</table>
<p><strong>Example Schema.org Export:</strong></p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-json codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"@context"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://schema.org"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"GovernmentOrganization"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham City Council"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"address"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"PostalAddress"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"addressLocality"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"addressRegion"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"AL"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"event"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Event"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Regular City Council Meeting"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"startDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-15T18:00:00-06:00"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>}</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=-fact-checking-datasets>βœ… Fact-Checking Datasets<a href=#-fact-checking-datasets class=hash-link aria-label="Direct link to βœ… Fact-Checking Datasets" title="Direct link to βœ… Fact-Checking Datasets" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Verify claims made in meetings, legislation, and political speech.</p>
<table><thead><tr><th>Dataset<th>Source<th>Fields<th>Update Frequency<tbody><tr><td><code>factchecks_claim_reviews</code><td>Google Fact Check API<td>claimReviewed, reviewRating, author, datePublished<td>Daily<tr><td><code>factchecks_politifact</code><td>PolitiFact web scraping<td>claim, ruling, truth_o_meter, context<td>Daily<tr><td><code>factchecks_factcheck_org</code><td>FactCheck.org API/scraping<td>claim, verdict, analysis, sources<td>Daily<tr><td><code>factchecks_verified_claims</code><td>Aggregated + deduplicated<td>claim_text, consensus_rating, verification_sources<td>Daily</table>
<p><strong>Integration with Meetings:</strong></p>
<ul>
<li class="">Cross-reference meeting transcripts with verified claims</li>
<li class="">Flag unverified statements in legislative debates</li>
<li class="">Track politician accuracy scores over time</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-complete-data-model-erd>οΏ½πŸ“Š Complete Data Model (ERD)<a href=#-complete-data-model-erd class=hash-link aria-label="Direct link to οΏ½πŸ“Š Complete Data Model (ERD)" title="Direct link to οΏ½πŸ“Š Complete Data Model (ERD)" translate=no>​</a></h2>
<div class=zoomableContainer_eg3Q><h3 class=diagramTitle_wap7>Interactive Entity Relationship Diagram</h3><div class=controls_qlC_><span class=controlsLabel_Q_lQ>πŸ’‘ <strong>Tip:</strong> Use mouse wheel to zoom, click and drag to pan, or use the controls below</span></div><div class=zoomControls_aMCc><button class=zoomButton_CYM3 title="Zoom In">πŸ”+</button><button class=zoomButton_CYM3 title="Zoom Out">πŸ”βˆ’</button><button class=zoomButton_CYM3 title="Reset View">⟲ Reset</button></div><div class="react-transform-wrapper transform-component-module_wrapper__SPB86 transformWrapper_r8lz"><div class="react-transform-component transform-component-module_content__FBWxo transformContent_iWjG" style="transform:translate(0px, 0px) scale(6)"><div class=mermaidWrapper_atLc></div></div></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=️-political-economy-analysis-framework>βš–οΈ Political Economy Analysis Framework<a href=#️-political-economy-analysis-framework class=hash-link aria-label="Direct link to βš–οΈ Political Economy Analysis Framework" title="Direct link to βš–οΈ Political Economy Analysis Framework" translate=no>​</a></h2>
<p>The ERD includes specialized entities for <strong>political economy analysis</strong> - understanding the "WHY" behind government decisions, not just the "WHAT". These entities support a 4-step advocacy framework to expose gaps between rhetoric and reality:</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=the-4-step-framework-for-effective-change>The 4-Step Framework for Effective Change<a href=#the-4-step-framework-for-effective-change class=hash-link aria-label="Direct link to The 4-Step Framework for Effective Change" title="Direct link to The 4-Step Framework for Effective Change" translate=no>​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=step-1-rhetoric-gap---frame-analysis>Step 1: Rhetoric Gap - <strong>Frame Analysis</strong><a href=#step-1-rhetoric-gap---frame-analysis class=hash-link aria-label="Direct link to step-1-rhetoric-gap---frame-analysis" title="Direct link to step-1-rhetoric-gap---frame-analysis" translate=no>​</a></h4>
<p><strong>Goal:</strong> Establish they ALREADY agree it's important (stop the "need" debate)</p>
<p><strong>ERD Support:</strong></p>
<ul>
<li class=""><strong>DECISION_FRAME</strong>: Tracks how decisions are framed ("public health" vs "fiscal responsibility" vs "equity")</li>
<li class=""><strong>KEYWORD_DENSITY</strong>: Measures rhetoric patterns ("priority", "essential", "critical" per 1000 words)</li>
<li class=""><strong>POLICY_DECISION.primary_frame</strong>: Primary framing language used</li>
</ul>
<p><strong>Analysis Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">Frame Distribution:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  12x public health</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   8x fiscal responsibility  </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   5x equity/access</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   3x economic development</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β†’ They SAY oral health is a "priority" - hold them to it!</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=step-2-displacement-matrix---budget-to-minutes-delta>Step 2: Displacement Matrix - <strong>Budget-to-Minutes Delta</strong><a href=#step-2-displacement-matrix---budget-to-minutes-delta class=hash-link aria-label="Direct link to step-2-displacement-matrix---budget-to-minutes-delta" title="Direct link to step-2-displacement-matrix---budget-to-minutes-delta" translate=no>​</a></h4>
<p><strong>Goal:</strong> Show they HAD the money (stop the "budget constraint" excuse)</p>
<p><strong>ERD Support:</strong></p>
<ul>
<li class=""><strong>BUDGET_LINE_ITEM</strong>: Detailed budget categories with year-over-year changes</li>
<li class=""><strong>BUDGET_DELTA</strong>: Compares meeting rhetoric to actual funding changes</li>
<li class=""><strong>BUDGET_DELTA.delta_type</strong>: Classifies as "Expansion", "Lip Service", or "Hidden Priority"</li>
<li class=""><strong>BUDGET_DELTA.delta_score</strong>: Quantifies rhetoric vs reality gap (-1 to +1)</li>
</ul>
<p><strong>Analysis Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">🎭 Lip Service Detected:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   β€’ School dental program: -$50,000 decrease</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     Mentioned 12x in meetings as "critical for children"</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     Logic: PERFORMATIVE POLITICS</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">πŸ’° Hidden Priority (Where the money REALLY went):</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   β€’ IT Infrastructure: +$200,000 increase</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     Only mentioned 1x in meetings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     Logic: Bureaucratic inertia - avoiding scrutiny</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=step-3-influence-radar---stakeholder-analysis>Step 3: Influence Radar - <strong>Stakeholder Analysis</strong><a href=#step-3-influence-radar---stakeholder-analysis class=hash-link aria-label="Direct link to step-3-influence-radar---stakeholder-analysis" title="Direct link to step-3-influence-radar---stakeholder-analysis" translate=no>​</a></h4>
<p><strong>Goal:</strong> Name who's blocking it (force personal accountability)</p>
<p><strong>ERD Support:</strong></p>
<ul>
<li class=""><strong>STAKEHOLDER_POSITION</strong>: Who spoke for/against with their arguments</li>
<li class=""><strong>STAKEHOLDER_POSITION.speaking_order</strong>: Track who speaks when (early speakers often most influential)</li>
<li class=""><strong>DECISION_VOTE</strong>: Individual vote records with stated reasons</li>
<li class=""><strong>DECISION_VOTE.switched_position</strong>: Flag when officials change their stance</li>
</ul>
<p><strong>Analysis Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">πŸ‘₯ Blocking Coalition:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   β€’ Taxpayer Association (opponent) - spoke 1st</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     Argument: "Cost concerns in tight budget"</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     Counter: School nurses budget UP $300K same meeting</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   β€’ Council Member Smith (voted NO)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     Stated reason: "Need more study"</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     Pattern: Has voted NO on 3 oral health items since 2022</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=step-4-deferral-pattern---temporal-voting-analysis>Step 4: Deferral Pattern - <strong>Temporal Voting Analysis</strong><a href=#step-4-deferral-pattern---temporal-voting-analysis class=hash-link aria-label="Direct link to step-4-deferral-pattern---temporal-voting-analysis" title="Direct link to step-4-deferral-pattern---temporal-voting-analysis" translate=no>​</a></h4>
<p><strong>Goal:</strong> Show they're stalling, not studying (expose the tactic)</p>
<p><strong>ERD Support:</strong></p>
<ul>
<li class=""><strong>DEFERRAL_PATTERN</strong>: Tracks same topic across multiple meetings<!-- -->
<ul>
<li class=""><code>first_mentioned</code>: When decision was first introduced</li>
<li class=""><code>last_discussed</code>: Most recent tabling date</li>
<li class=""><code>total_deferrals</code>: How many times tabled/postponed</li>
<li class=""><code>months_in_limbo</code>: Time elapsed since first mention</li>
<li class=""><code>pattern_type</code>: "Rationale of Attrition" / "Sincere Analysis" / "Political Timing"</li>
<li class=""><code>strategic_inference</code>: Inferred reason for delay</li>
<li class=""><code>next_review_date</code>: When scheduled to revisit (if stated)</li>
</ul>
</li>
<li class=""><strong>DEFERRAL_INSTANCE</strong>: Individual tabling events with dates<!-- -->
<ul>
<li class=""><code>deferral_date</code>: When it was tabled</li>
<li class=""><code>stated_reason</code>: Official justification given</li>
<li class=""><code>speaker</code>: Who gave the reason</li>
<li class=""><code>months_since_first</code>: Time elapsed</li>
<li class=""><code>reason_changed</code>: Flag for shifting justifications</li>
</ul>
</li>
<li class=""><strong>POLICY_DECISION.outcome</strong>: Captures "tabled/deferred/postponed"</li>
<li class=""><strong>DECISION_OPTION.rejection_reason</strong>: Stated excuses for delay</li>
<li class=""><strong>ELECTION_CYCLE</strong>: Links decisions to election timelines</li>
<li class=""><strong>ELECTION_CYCLE.pre_election_spike_detected</strong>: Flag incumbent protection patterns</li>
</ul>
<p><strong>Complete Date Tracking:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- All dates needed to track stalling:</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">MEETING</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date              </span><span class="token comment" style=color:#999988;font-style:italic>-- When meeting occurred</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">POLICY_DECISION</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date      </span><span class="token comment" style=color:#999988;font-style:italic>-- When decision was discussed</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">DEFERRAL_PATTERN</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">first_mentioned  </span><span class="token comment" style=color:#999988;font-style:italic>-- First introduction date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">DEFERRAL_PATTERN</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">last_discussed   </span><span class="token comment" style=color:#999988;font-style:italic>-- Most recent tabling</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">DEFERRAL_INSTANCE</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">deferral_date   </span><span class="token comment" style=color:#999988;font-style:italic>-- Each individual deferral</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">ELECTION_CYCLE</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">election_date      </span><span class="token comment" style=color:#999988;font-style:italic>-- Election timing context</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">DECISION_VOTE</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">days_since_election </span><span class="token comment" style=color:#999988;font-style:italic>-- Temporal political context</span><br/></div></code></pre></div></div>
<p><strong>Analysis Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">πŸ“… Stalling Pattern DETECTED:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   β€’ Topic: "Fluoridation proposal"</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   β€’ First mentioned: 2020-03-15 (4 years, 1 month ago)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   β€’ Total deferrals: 4 times</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   β€’ Pattern type: Rationale of Attrition</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   πŸ“Š Timeline of Shifting Justifications:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     - 2020-03: "Need more study" (12mo before election)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     - 2020-09: "Budget constraints" (6mo before election)  </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     - 2022-01: "Need public input" (new council members)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">     - 2024-05: "Awaiting staff report" (still pending)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   πŸ” Strategic Inference:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   "They're NOT studying - they're AVOIDING! The board isn't </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   debating the merit; they're waiting for the advocate's </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   momentum to fade before the next election cycle."</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">   🚨 Discomfort Score: 10/10 (Extremely politically sensitive)</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=quantitative-why-indicators>Quantitative "Why" Indicators<a href=#quantitative-why-indicators class=hash-link aria-label='Direct link to Quantitative "Why" Indicators' title='Direct link to Quantitative "Why" Indicators' translate=no>​</a></h3>
<p>Additional metrics to infer governance logic:</p>
<table><thead><tr><th>Entity<th>Metric<th>Reveals<tbody><tr><td><strong>POLICY_DECISION.contention_score</strong><td>Ratio of dissent (0-100)<td>Political sensitivity of topic<tr><td><strong>KEYWORD_DENSITY</strong><td>"grant" vs "taxpayer" frequency<td>Decision driver: outside funding vs local demand<tr><td><strong>KEYWORD_DENSITY</strong><td>"emergency" occurrence<td>Reactive vs planned governance<tr><td><strong>ELECTION_CYCLE.avg_project_cost_before</strong><td>Spending spikes pre-election<td>Incumbency protection tactics<tr><td><strong>BUDGET_DELTA.underlying_logic</strong><td>Genuine vs Performative vs Bureaucratic<td>Real priorities revealed</table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=implementation-files>Implementation Files<a href=#implementation-files class=hash-link aria-label="Direct link to Implementation Files" title="Direct link to Implementation Files" translate=no>​</a></h3>
<p>These analyses are <strong>fully implemented</strong> in the codebase:</p>
<ul>
<li class=""><code>extraction/decision_analyzer.py</code> - Frame analysis, stakeholder extraction</li>
<li class=""><code>extraction/budget_analyzer.py</code> - Budget delta calculation, opportunity cost mapping</li>
<li class=""><code>extraction/temporal_analyzer.py</code> - Election cycle analysis, deferral patterns</li>
<li class=""><code>examples/tuscaloosa_political_economy.py</code> - Complete end-to-end analysis</li>
</ul>
<p>See <strong><a class="" href=/docs/guides/political-economy>Political Economy Analysis Guide</a></strong> for detailed implementation status and usage examples.</p>
<hr/>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-data-standards--interoperability>🌐 Data Standards & Interoperability<a href=#-data-standards--interoperability class=hash-link aria-label="Direct link to 🌐 Data Standards & Interoperability" title="Direct link to 🌐 Data Standards & Interoperability" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=popolo-project-alignment>Popolo Project Alignment<a href=#popolo-project-alignment class=hash-link aria-label="Direct link to Popolo Project Alignment" title="Direct link to Popolo Project Alignment" translate=no>​</a></h3>
<p>Our data model follows the <a href=https://www.popoloproject.com/ target=_blank rel="noopener noreferrer" class="">Popolo Project</a> specification for representing people, organizations, and elected positions. Popolo is an international open government data standard adopted by 30+ civic tech organizations worldwide including mySociety, Sunlight Foundation, OpenNorth, and Civic Commons.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=popolo-class-mappings>Popolo Class Mappings<a href=#popolo-class-mappings class=hash-link aria-label="Direct link to Popolo Class Mappings" title="Direct link to Popolo Class Mappings" translate=no>​</a></h4>
<table><thead><tr><th>Popolo Class<th>Our Entity<th>Description<th>Key Fields<tbody><tr><td><strong>Person</strong><td>LEADER<td>Elected officials, government employees<td><code>full_name</code>, <code>email</code>, <code>phone</code>, <code>photo_url</code><tr><td><strong>Organization</strong><td>ORGANIZATION<td>Nonprofits, government agencies, companies<td><code>name</code>, <code>org_type</code>, <code>address</code>, <code>website</code><tr><td><strong>Membership</strong><td>LEADER ↔ ORGANIZATION<td>Relationship between people and organizations<td><code>leader_id</code>, <code>jurisdiction_id</code>, <code>term_start</code>, <code>term_end</code><tr><td><strong>Post</strong><td>LEADER.position_type<td>Positions within organizations<td><code>title</code>, <code>office</code>, <code>position_type</code><tr><td><strong>Contact Detail</strong><td>Embedded fields<td>Communication methods<td><code>email</code>, <code>phone</code>, <code>website</code> in multiple entities<tr><td><strong>Motion</strong><td>AGENDA, LEGISLATION<td>Formal proposals for decision<td><code>title</code>, <code>description</code>, <code>status</code><tr><td><strong>Vote Event</strong><td>VOTE<td>Voting on motions/bills<td><code>vote_date</code>, <code>item_description</code><tr><td><strong>Count</strong><td>VOTE, LEGISLATION<td>Vote tallies<td><code>vote_yes</code>, <code>vote_no</code>, <code>vote_value</code><tr><td><strong>Area</strong><td>JURISDICTION<td>Geographic/political boundaries<td><code>jurisdiction_type</code>, <code>state_code</code>, <code>county_name</code><tr><td><strong>Event</strong><td>MEETING<td>Gatherings with agendas<td><code>meeting_date</code>, <code>meeting_type</code>, <code>body_name</code><tr><td><strong>Speech</strong><td>MINUTES, VIDEO<td>Spoken statements<td><code>transcript_text</code>, <code>summary_text</code></table>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=schemaorg-type-mappings>Schema.org Type Mappings<a href=#schemaorg-type-mappings class=hash-link aria-label="Direct link to Schema.org Type Mappings" title="Direct link to Schema.org Type Mappings" translate=no>​</a></h4>
<p>Our entities map to <a href=https://schema.org/ target=_blank rel="noopener noreferrer" class="">Schema.org</a> types for SEO-optimized structured data and semantic web compatibility:</p>
<table><thead><tr><th>Our Entity<th>Schema.org Type<th>Properties<th>JSON-LD Export<tbody><tr><td>JURISDICTION<td><a href=https://schema.org/AdministrativeArea target=_blank rel="noopener noreferrer" class="">AdministrativeArea</a><td>name, address, geo, telephone, url<td>βœ… City/county pages<tr><td>MEETING<td><a href=https://schema.org/Event target=_blank rel="noopener noreferrer" class="">Event</a><td>name, startDate, endDate, location, organizer<td>βœ… Google Calendar rich results<tr><td>LEADER<td><a href=https://schema.org/Person target=_blank rel="noopener noreferrer" class="">Person</a> + <a href=https://schema.org/GovernmentOfficial target=_blank rel="noopener noreferrer" class="">GovernmentOfficial</a><td>name, email, telephone, jobTitle<td>βœ… Official profiles<tr><td>ORGANIZATION<td><a href=https://schema.org/Organization target=_blank rel="noopener noreferrer" class="">Organization</a> + <a href=https://schema.org/NGO target=_blank rel="noopener noreferrer" class="">NGO</a><td>name, address, telephone, foundingDate<td>βœ… Nonprofit listings<tr><td>LEGISLATION<td><a href=https://schema.org/Legislation target=_blank rel="noopener noreferrer" class="">Legislation</a><td>name, legislationDate, legislationPassedBy<td>βœ… Bill tracking<tr><td>BALLOT_MEASURE<td><a href=https://schema.org/Legislation target=_blank rel="noopener noreferrer" class="">Legislation</a><td>name, datePosted, legislationChanges<td>βœ… Ballot guides<tr><td>VOTE<td><a href=https://schema.org/VoteAction target=_blank rel="noopener noreferrer" class="">VoteAction</a><td>agent, candidate, actionOption<td>βœ… Voting records<tr><td>FACT_CHECK<td><a href=https://schema.org/ClaimReview target=_blank rel="noopener noreferrer" class="">ClaimReview</a><td>claimReviewed, reviewRating, author<td>βœ… Google Fact Check Explorer<tr><td>SCHOOL_DISTRICT<td><a href=https://schema.org/EducationalOrganization target=_blank rel="noopener noreferrer" class="">EducationalOrganization</a><td>name, numberOfStudents, address<td>βœ… School district info<tr><td>VIDEO<td><a href=https://schema.org/VideoObject target=_blank rel="noopener noreferrer" class="">VideoObject</a><td>name, description, uploadDate, duration<td>βœ… YouTube integration<tr><td>DOCUMENT<td><a href=https://schema.org/DigitalDocument target=_blank rel="noopener noreferrer" class="">DigitalDocument</a><td>name, fileFormat, datePublished<td>βœ… Document library<tr><td><strong>Microsoft CDM Nonprofit Entities</strong><td><td><td><tr><td>CONSTITUENT<td><a href=https://schema.org/Person target=_blank rel="noopener noreferrer" class="">Person</a><td>name, email, telephone, address<td>βœ… Donor/volunteer profiles<tr><td>DONATION<td><a href=https://schema.org/DonateAction target=_blank rel="noopener noreferrer" class="">DonateAction</a><td>agent (Person), recipient (Organization), price<td>βœ… Donation receipts<tr><td>CAMPAIGN<td><a href=https://schema.org/FundingScheme target=_blank rel="noopener noreferrer" class="">FundingScheme</a><td>name, startDate, endDate, url<td>βœ… Fundraising campaigns<tr><td>MEMBERSHIP<td><a href=https://schema.org/ProgramMembership target=_blank rel="noopener noreferrer" class="">ProgramMembership</a><td>member (Person), hostingOrganization, membershipNumber<td>βœ… Member cards<tr><td>VOLUNTEER_ACTIVITY<td><a href=https://schema.org/VolunteerAction target=_blank rel="noopener noreferrer" class="">VolunteerAction</a><td>agent (Person), startTime, endTime, location<td>βœ… Volunteer tracking<tr><td>PROGRAM_DELIVERY<td><a href=https://schema.org/Service target=_blank rel="noopener noreferrer" class="">Service</a><td>name, provider, serviceType, areaServed<td>βœ… Program catalog<tr><td>PROGRAM_OUTCOME<td><a href=https://schema.org/Observation target=_blank rel="noopener noreferrer" class="">Observation</a><td>measurementTechnique, measuredValue, observationDate<td>βœ… Impact reporting</table>
<p><strong>Example: Meeting as Schema.org Event</strong></p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-json codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"@context"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://schema.org"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Event"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"@id"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://www.communityone.com/meetings/city-council-2024-01-15"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham City Council Regular Meeting"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"description"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Monthly city council meeting covering budget, zoning, and public health initiatives"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"startDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-15T18:00:00-06:00"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"endDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-15T20:30:00-06:00"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"eventStatus"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://schema.org/EventScheduled"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"eventAttendanceMode"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://schema.org/MixedEventAttendanceMode"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"location"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Place"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham City Hall"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"address"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">      </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"PostalAddress"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">      </span><span class="token property" style=color:#36acaa>"streetAddress"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"710 N 20th St"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">      </span><span class="token property" style=color:#36acaa>"addressLocality"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">      </span><span class="token property" style=color:#36acaa>"addressRegion"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"AL"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">      </span><span class="token property" style=color:#36acaa>"postalCode"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"35203"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token punctuation" style=color:#393A34>}</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"organizer"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"GovernmentOrganization"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham City Council"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"url"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://www.birminghamal.gov/council/"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"recordedIn"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"VideoObject"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"City Council Meeting Recording"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"uploadDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-16"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"duration"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"PT2H30M"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"thumbnailUrl"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://example.com/thumbnail.jpg"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"contentUrl"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://youtube.com/watch?v=example"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"subEvent"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">      </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Event"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">      </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Public Comment Period"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">      </span><span class="token property" style=color:#36acaa>"startDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-15T18:15:00-06:00"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token punctuation" style=color:#393A34>}</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>]</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>}</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=common-education-data-standards-ceds-alignment>Common Education Data Standards (CEDS) Alignment<a href=#common-education-data-standards-ceds-alignment class=hash-link aria-label="Direct link to Common Education Data Standards (CEDS) Alignment" title="Direct link to Common Education Data Standards (CEDS) Alignment" translate=no>​</a></h4>
<p>Our SCHOOL_DISTRICT entity follows <a href=https://ceds.ed.gov/ target=_blank rel="noopener noreferrer" class="">CEDS</a> specifications for education data interoperability:</p>
<table><thead><tr><th>Our Field<th>CEDS Element<th>Element ID<th>NCES Alignment<tbody><tr><td><code>nces_id</code><td>LEA Identifier (NCES)<td>000827<td>CCD LEA ID<tr><td><code>district_name</code><td>Name of Institution<td>000168<td>Official district name<tr><td><code>district_type</code><td>LEA Type<td>000108<td>Regular/Specialized/Service Agency<tr><td><code>total_students</code><td>Student Count<td>001475<td>Fall enrollment<tr><td><code>total_schools</code><td>Number of Schools<td>000856<td>Operational schools count<tr><td><code>total_revenue</code><td>Total Revenue<td>000612<td>F-33 Survey Line A09<tr><td><code>total_expenditures</code><td>Total Expenditures<td>000611<td>F-33 Survey Line B13<tr><td><code>per_pupil_spending</code><td>Expenditure per Student<td>000613<td>Total exp / enrollment<tr><td><code>federal_revenue</code><td>Federal Revenue<td>000614<td>ESEA Title I, IDEA<tr><td><code>state_revenue</code><td>State Revenue<td>000615<td>State aid formulas<tr><td><code>local_revenue</code><td>Local Revenue<td>000616<td>Property tax, bonds<tr><td><code>superintendent</code><td>Chief Administrator<td>000240<td>District superintendent<tr><td><code>school_year</code><td>School Year<td>000243<td>YYYY-YYYY format</table>
<p><strong>CEDS Option Sets:</strong></p>
<ul>
<li class=""><strong>LEA Type</strong> (000108): Regular local school district, Specialized (charter/magnet), Supervisory Union, Service Agency, State/Federal Agency</li>
<li class=""><strong>Operational Status</strong> (000533): Open, Closed, New, Changed Agency, Temporarily Closed</li>
<li class=""><strong>Locale Type</strong> (001315): City (Large/Midsize/Small), Suburb, Town, Rural (NCES Urban-centric codes)</li>
</ul>
<p><strong>Benefits:</strong></p>
<ul>
<li class="">βœ… Compatible with NCES Common Core of Data (CCD) and F-33 Finance Survey</li>
<li class="">βœ… Aligns with Ed-Fi Alliance, IMS Global, and SIF Association standards</li>
<li class="">βœ… Supports federal reporting for ESSA, Title I, IDEA compliance</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=microsoft-common-data-model-for-nonprofits>Microsoft Common Data Model for Nonprofits<a href=#microsoft-common-data-model-for-nonprofits class=hash-link aria-label="Direct link to Microsoft Common Data Model for Nonprofits" title="Direct link to Microsoft Common Data Model for Nonprofits" translate=no>​</a></h4>
<p>Our nonprofit constituent management entities follow <a href=https://github.com/microsoft/Nonprofits/ target=_blank rel="noopener noreferrer" class="">Microsoft's Common Data Model for Nonprofits</a>, enabling seamless integration with Dynamics 365 and Power Platform:</p>
<table><thead><tr><th>Our Entity<th>Microsoft CDM Entity<th>Description<th>Key Relationships<tbody><tr><td>CONSTITUENT<td>Constituent<td>Donors, volunteers, members, beneficiaries<td>β†’ DONATION, MEMBERSHIP, VOLUNTEER_ACTIVITY<tr><td>DONATION<td>Donation<td>Financial contributions and in-kind gifts<td>← CONSTITUENT, β†’ CAMPAIGN, β†’ DESIGNATION<tr><td>CAMPAIGN<td>Campaign<td>Fundraising campaigns and appeals<td>β†’ DONATION<tr><td>DESIGNATION<td>Designation<td>Fund allocation (programs, unrestricted, endowment)<td>← DONATION<tr><td>MEMBERSHIP<td>Membership<td>Member enrollment and renewals<td>← CONSTITUENT, ← ORGANIZATION<tr><td>VOLUNTEER_ACTIVITY<td>Volunteer Preference<td>Volunteer activities and hours<td>← CONSTITUENT<tr><td>PROGRAM_DELIVERY<td>Delivery Framework<td>Programs and services delivered<td>← ORGANIZATION, β†’ PROGRAM_OUTCOME<tr><td>PROGRAM_OUTCOME<td>Objective<td>Measurable impact and KPIs<td>← PROGRAM_DELIVERY</table>
<p><strong>Microsoft CDM Core Patterns:</strong></p>
<ol>
<li class=""><strong>Constituent-Centric Design</strong>: All engagement activities (donations, volunteering, membership) link to CONSTITUENT</li>
<li class=""><strong>Designation-Based Accounting</strong>: Donations are allocated to specific designations (funds, programs, campaigns)</li>
<li class=""><strong>Campaign Tracking</strong>: Multi-channel fundraising campaigns track goals, raised amounts, donor counts</li>
<li class=""><strong>Outcome Measurement</strong>: Programs track objectives with target vs. actual metrics</li>
<li class=""><strong>Temporal Tracking</strong>: Start/end dates on memberships, campaigns, and programs for lifecycle management</li>
</ol>
<p><strong>Integration Points:</strong></p>
<table><thead><tr><th>Microsoft Product<th>Integration Type<th>Use Case<tbody><tr><td><strong>Dynamics 365 Nonprofit</strong><td>Native CDM compatibility<td>CRM for constituent relationship management<tr><td><strong>Power BI</strong><td>Direct data connection<td>Fundraising dashboards, donor analytics<tr><td><strong>Power Apps</strong><td>Low-code app builder<td>Volunteer management apps, event registration<tr><td><strong>Power Automate</strong><td>Workflow automation<td>Donation receipts, membership renewals<tr><td><strong>Azure Synapse</strong><td>Cloud analytics<td>Large-scale constituent analytics</table>
<p><strong>Example: Constituent-Donation Relationship</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Find top 10 donors by lifetime giving</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">first_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">last_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">email</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">lifetime_giving_total</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">donation_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> donation_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">amount</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_donation</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>MAX</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">donation_date</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> last_donation_date</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> CONSTITUENT c</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DONATION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_type </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Donor'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">first_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">last_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">email</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">lifetime_giving_total</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">lifetime_giving_total </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LIMIT</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>10</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Benefits:</strong></p>
<ul>
<li class="">βœ… <strong>Microsoft Ecosystem</strong>: Native compatibility with Dynamics 365, Power Platform, Azure</li>
<li class="">βœ… <strong>Industry Standard</strong>: Used by large nonprofits (United Way, Boys & Girls Clubs, etc.)</li>
<li class="">βœ… <strong>Grant Reporting</strong>: Built-in support for outcome tracking and funder reporting</li>
<li class="">βœ… <strong>LYBNT Analysis</strong>: "Last Year But Not This Year" donor reactivation queries</li>
<li class="">βœ… <strong>Constituent 360</strong>: Unified view of all engagement touchpoints</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=underlying-standards>Underlying Standards<a href=#underlying-standards class=hash-link aria-label="Direct link to Underlying Standards" title="Direct link to Underlying Standards" translate=no>​</a></h4>
<p>Popolo builds upon W3C, IETF, and DCMI specifications for maximum interoperability:</p>
<table><thead><tr><th>Standard<th>Use Case<th>Example in Our Model<tbody><tr><td><strong>FOAF</strong> (Friend of a Friend)<td>Social network, people relationships<td>LEADER connections, ORGANIZATION networks<tr><td><strong>vCard</strong> (IETF RFC 6350)<td>Contact information<td>email, phone, address fields across entities<tr><td><strong>Schema.org</strong><td>Structured web data<td>Meeting metadata, organization profiles for SEO<tr><td><strong>DCMI Terms</strong><td>Metadata, provenance<td><code>created_at</code>, <code>updated_at</code>, <code>source_url</code> timestamps<tr><td><strong>W3C Organization Ontology</strong><td>Hierarchical organizations<td>Government hierarchy, nonprofit structures<tr><td><strong>ISA Location Core Vocabulary</strong><td>Address standardization<td><code>address</code>, <code>city</code>, <code>state_code</code>, <code>latitude</code>, <code>longitude</code><tr><td><strong>GeoNames Ontology</strong><td>Geographic identifiers<td>Place names, jurisdiction boundaries<tr><td><strong>SKOS</strong><td>Taxonomies and classification<td>NTEE codes, policy topic categories</table>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=benefits-of-standards-compliance>Benefits of Standards Compliance<a href=#benefits-of-standards-compliance class=hash-link aria-label="Direct link to Benefits of Standards Compliance" title="Direct link to Benefits of Standards Compliance" translate=no>​</a></h4>
<ol>
<li class=""><strong>Interoperability</strong>: Data can be easily shared with other civic tech platforms</li>
<li class=""><strong>API Compatibility</strong>: Standard field names work with existing tools (e.g., EveryPolitician, Open Civic Data)</li>
<li class=""><strong>Semantic Web</strong>: RDF/JSON-LD export capabilities for linked open data</li>
<li class=""><strong>Tooling</strong>: Existing libraries and validators (e.g., <code>pupa</code>, <code>everypolitician-popolo</code>)</li>
<li class=""><strong>Documentation</strong>: Well-documented schemas reduce onboarding time</li>
</ol>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=example-popolo-compatible-json-ld-export>Example: Popolo-Compatible JSON-LD Export<a href=#example-popolo-compatible-json-ld-export class=hash-link aria-label="Direct link to Example: Popolo-Compatible JSON-LD Export" title="Direct link to Example: Popolo-Compatible JSON-LD Export" translate=no>​</a></h4>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-json codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"@context"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"http://www.popoloproject.com/contexts/person.jsonld"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Person"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"id"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"ocd-person/12345678-90ab-cdef-1234-567890abcdef"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Jane Doe"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"email"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"jane.doe@example.gov"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"links"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"note"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"official website"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"url"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://example.gov/mayor"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"memberships"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Membership"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"organization_id"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"ocd-organization/jurisdiction/us/city/springfield"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"post_id"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"mayor"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"role"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Mayor"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"start_date"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2022-01-01"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"end_date"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2026-12-31"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"contact_details"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"email"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"value"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"jane.doe@example.gov"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"note"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"official"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"voice"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"value"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"+1-555-123-4567"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token property" style=color:#36acaa>"sources"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"url"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://example.gov/government/officials"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token property" style=color:#36acaa>"note"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Official city website"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">  </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>}</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=open-civic-data-ocd-id-identifiers>Open Civic Data (OCD-ID) Identifiers<a href=#open-civic-data-ocd-id-identifiers class=hash-link aria-label="Direct link to Open Civic Data (OCD-ID) Identifiers" title="Direct link to Open Civic Data (OCD-ID) Identifiers" translate=no>​</a></h3>
<p>We use OCD-IDs for jurisdiction identifiers following <a href=https://open-civic-data.readthedocs.io/en/latest/proposals/0002.html target=_blank rel="noopener noreferrer" class="">OCDEP 2</a>:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">Format: ocd-division/country:&lt;country_code>/&lt;type>:&lt;type_id></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">Examples:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">- State: ocd-division/country:us/state:al</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">- County: ocd-division/country:us/state:al/county:jefferson</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">- City: ocd-division/country:us/state:al/place:birmingham</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">- School District: ocd-division/country:us/state:al/school_district:birmingham_city</span><br/></div></code></pre></div></div>
<p><strong>Normalization Rules:</strong></p>
<ul>
<li class="">Lowercase ASCII characters (a-z)</li>
<li class="">Numbers (0-9)</li>
<li class="">Valid punctuation: <code>._~-</code></li>
<li class="">Spaces β†’ underscores</li>
<li class="">Remove special characters</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-data-statistics>πŸ“Š Data Statistics<a href=#-data-statistics class=hash-link aria-label="Direct link to πŸ“Š Data Statistics" title="Direct link to πŸ“Š Data Statistics" translate=no>​</a></h2>
<table><thead><tr><th>Entity Type<th>Estimated Count<th>Source<tbody><tr><td>Jurisdictions<td>22,000+<td>Census Gazetteer<tr><td>Counties<td>3,144<td>FIPS codes<tr><td>Cities<td>19,000+<td>Incorporated places<tr><td>School Districts<td>13,000+<td>NCES CCD<tr><td>School District Budgets<td>13,000+<td>NCES F-33 Finance Survey<tr><td>Government Budgets<td>22,000+<td>Census of Governments<tr><td>Municipal Bonds<td>TBD<td>EMMA (MSRB)<tr><td>Nonprofits<td>3,000,000+<td>IRS TEOS<tr><td>Nonprofit 990 Filings<td>10,000,000+<td>ProPublica (10+ years)<tr><td><strong>Microsoft CDM: Nonprofit Engagement</strong><td><td><tr><td>Constituents<td>TBD<td>Donors, volunteers, members, beneficiaries (Microsoft CDM)<tr><td>Donations<td>TBD<td>Financial contributions and in-kind gifts (Microsoft CDM)<tr><td>Campaigns<td>TBD<td>Fundraising campaigns and appeals (Microsoft CDM)<tr><td>Memberships<td>TBD<td>Member enrollments and renewals (Microsoft CDM)<tr><td>Volunteer Activities<td>TBD<td>Volunteer hours and service events (Microsoft CDM)<tr><td>Program Delivery Records<td>TBD<td>Programs and services delivered (Microsoft CDM)<tr><td>Program Outcomes<td>TBD<td>Impact metrics and KPIs (Microsoft CDM)<tr><td>Grants (Individual Awards)<td>TBD<td>IRS 990-I, USASpending.gov, Foundation Center<tr><td>Federal Grants<td>100,000+<td>USASpending.gov API<tr><td>Nonprofit Causes<td>600+<td>NTEE + Every.org<tr><td>YouTube Channels<td>5,000+<td>Discovery pipeline<tr><td>Meeting Platforms<td>10,000+<td>URL detection<tr><td>State Legislators<td>7,300+<td>Open States<tr><td>Meetings & Events<td>500,000+<td>Scraped (govt, hearings, events, trainings)<tr><td>Trainings<td>TBD<td>Professional development, workshops<tr><td>Documents<td>2,000,000+<td>PDF extraction<tr><td>Ballot Measures<td>TBD<td>State/local election sites<tr><td>State Bills<td>100,000+<td>Open States API<tr><td>Policy Topics<td>~50<td>Curated + extracted<tr><td><strong>Analytics & Standards</strong><td><td><tr><td>Date Dimension Records<td>~7,300<td>20 years (2010-2030)<tr><td>Metric Views<td>~100<td>Pre-computed analytics definitions<tr><td>Temporal Relationships<td>~1M+<td>Date keys for all time-based entities<tr><td>Schema.org JSON-LD Exports<td>~500K+<td>Event, Person, Organization, Legislation, ClaimReview<tr><td>Popolo Exports<td>~100K+<td>Person, Organization, Membership, VoteEvent<tr><td>CEDS-Aligned Records<td>13,000+<td>School districts with NCES Element IDs<tr><td>OCD Division IDs<td>22,000+<td>All jurisdictions with standardized identifiers<tr><td>IATI Activity Files<td>TBD<td>Programs, grants, humanitarian aid (v2.03 XML)<tr><td><strong>Fact-Checking</strong><td><td><tr><td>Verified Claims<td>~50K+<td>Google Fact Check API<tr><td>PolitiFact Ratings<td>~20K+<td>Truth-O-Meter rulings<tr><td>FactCheck.org Articles<td>~10K+<td>Verified fact-checks<tr><td><strong>Vocabulary & Concepts (OMOP-Inspired)</strong><td><td><tr><td>Concept Entries<td>~2M+<td>Cities, nonprofits, officials, topics, demographics<tr><td>Vocabularies<td>10+<td>OCD_ID, IRS_NTEE, US_Census, NCES, OHDSI (Gender/Race/Ethnicity)<tr><td>Concept Classes<td>20+<td>City, County, 501c3, Mayor, Health Policy, etc.<tr><td>Concept Relationships<td>~5M+<td>Hierarchies (City→County→State), Associations (Topic→Legislation)<tr><td>OHDSI Gender Concepts<td>3<td>MALE, FEMALE, OTHER (Athena standard)<tr><td>OHDSI Race Concepts<td>20+<td>Census OMB categories (Athena standard)<tr><td>OHDSI Ethnicity Concepts<td>2<td>Hispanic or Latino, Not Hispanic or Latino (Athena standard)</table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-see-also>οΏ½ See Also<a href=#-see-also class=hash-link aria-label="Direct link to οΏ½ See Also" title="Direct link to οΏ½ See Also" translate=no>​</a></h2>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class=admonitionHeading_Gvgb><span class=admonitionIcon_Rf37><svg viewBox="0 0 12 16"><path fill-rule=evenodd d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"/></svg></span>Complete Citations & Attributions</div><div class=admonitionContent_BuS1><p>For full citations, licenses, BibTeX references, and detailed attribution for all data sources, standards, and research:<p>πŸ‘‰ <strong><a class="" href=/docs/data-sources/citations>View Citations & Data Sources</a></strong><p>Includes academic research, government data APIs, civic tech standards (OCD-ID, Popolo, Schema.org, CEDS, IATI), Microsoft CDM, OMOP CDM, fact-checking sources, and more.</div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-meeting--event-types>οΏ½πŸ“ Meeting & Event Types<a href=#-meeting--event-types class=hash-link aria-label="Direct link to οΏ½πŸ“ Meeting & Event Types" title="Direct link to οΏ½πŸ“ Meeting & Event Types" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=event-categories-in-the-meeting-entity>Event Categories in the MEETING Entity<a href=#event-categories-in-the-meeting-entity class=hash-link aria-label="Direct link to Event Categories in the MEETING Entity" title="Direct link to Event Categories in the MEETING Entity" translate=no>​</a></h3>
<p>The MEETING entity tracks <strong>4 main event categories</strong> to capture all civic engagement opportunities:</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-government-meetings-event_category-government_meeting>1. <strong>Government Meetings</strong> (<code>event_category: "government_meeting"</code>)<a href=#1-government-meetings-event_category-government_meeting class=hash-link aria-label="Direct link to 1-government-meetings-event_category-government_meeting" title="Direct link to 1-government-meetings-event_category-government_meeting" translate=no>​</a></h4>
<ul>
<li class="">City council meetings, school board meetings, county commissions</li>
<li class="">Official business conducted by elected bodies</li>
<li class=""><strong>Fields:</strong> <code>body_name</code>, <code>meeting_type</code> (regular, special, emergency)</li>
<li class=""><strong>Example:</strong> "Tuscaloosa City Council Regular Meeting - 3rd Tuesday"</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-public-hearings-event_category-public_hearing>2. <strong>Public Hearings</strong> (<code>event_category: "public_hearing"</code>)<a href=#2-public-hearings-event_category-public_hearing class=hash-link aria-label="Direct link to 2-public-hearings-event_category-public_hearing" title="Direct link to 2-public-hearings-event_category-public_hearing" translate=no>​</a></h4>
<ul>
<li class="">Public comment sessions on specific issues</li>
<li class="">Budget hearings, zoning hearings, policy feedback</li>
<li class=""><strong>Fields:</strong> <code>meeting_type</code> (budget, zoning, policy)</li>
<li class=""><strong>Example:</strong> "Public Hearing on FY2026 Water System Fluoridation Budget"</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=3-community-events-event_category-community_event>3. <strong>Community Events</strong> (<code>event_category: "community_event"</code>)<a href=#3-community-events-event_category-community_event class=hash-link aria-label="Direct link to 3-community-events-event_category-community_event" title="Direct link to 3-community-events-event_category-community_event" translate=no>​</a></h4>
<ul>
<li class="">Town halls, community forums, listening sessions</li>
<li class="">Informal engagement between government and citizens</li>
<li class=""><strong>Fields:</strong> <code>location_type</code> (in-person, virtual, hybrid)</li>
<li class=""><strong>Example:</strong> "Town Hall on Community Health Priorities"</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=4-trainings-event_category-training--new>4. <strong>Trainings</strong> (<code>event_category: "training"</code>) ⭐ NEW<a href=#4-trainings-event_category-training--new class=hash-link aria-label="Direct link to 4-trainings-event_category-training--new" title="Direct link to 4-trainings-event_category-training--new" translate=no>​</a></h4>
<ul>
<li class="">Professional development workshops</li>
<li class="">Continuing education for healthcare workers, teachers, officials</li>
<li class="">Certification courses, skill-building sessions</li>
<li class=""><strong>Fields:</strong>
<ul>
<li class=""><code>training_topic</code> - Subject matter (e.g., "Pediatric Oral Health", "Water Fluoridation Safety")</li>
<li class=""><code>target_audience</code> - Who should attend (e.g., "Dental Hygienists", "School Nurses", "Water Operators")</li>
<li class=""><code>presenter</code> - Trainer/instructor name or organization</li>
<li class=""><code>requires_registration</code> - Boolean flag</li>
<li class=""><code>registration_fee</code> - Cost to attend (0 for free)</li>
<li class=""><code>max_capacity</code> - Attendance limit</li>
<li class=""><code>end_date</code> - Training end time (multi-day events)</li>
</ul>
</li>
<li class=""><strong>Example:</strong> "Fluoride Varnish Application Training for School Nurses (3 CEU)"</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=why-trainings-matter-for-advocacy>Why Trainings Matter for Advocacy<a href=#why-trainings-matter-for-advocacy class=hash-link aria-label="Direct link to Why Trainings Matter for Advocacy" title="Direct link to Why Trainings Matter for Advocacy" translate=no>​</a></h3>
<p><strong>Capacity Building:</strong></p>
<ul>
<li class="">βœ… Identify training gaps ("No fluoride varnish training in past 2 years")</li>
<li class="">βœ… Track professional development opportunities</li>
<li class="">βœ… Monitor continuing education credits (CEUs) offered</li>
</ul>
<p><strong>Stakeholder Engagement:</strong></p>
<ul>
<li class="">βœ… Find healthcare workers trained in specific skills</li>
<li class="">βœ… Identify champions (frequent training attendees)</li>
<li class="">βœ… Target outreach to trained professionals</li>
</ul>
<p><strong>Policy Implementation:</strong></p>
<ul>
<li class="">βœ… "City wants dental screenings but no trained staff" β†’ Show available trainings</li>
<li class="">βœ… Track certification status (who's qualified to implement policy)</li>
<li class="">βœ… Link training availability to policy feasibility</li>
</ul>
<p><strong>Example Questions Now Answerable:</strong></p>
<ol>
<li class="">"What oral health trainings are offered in Alabama?" β†’ Filter by <code>training_topic</code> LIKE '%oral%'</li>
<li class="">"Which jurisdictions offer free fluoride training?" β†’ <code>registration_fee = 0</code> AND <code>training_topic</code> LIKE '%fluoride%'</li>
<li class="">"How many school nurses attended varnish training last year?" β†’ Count attendees by <code>target_audience</code></li>
<li class="">"Are there upcoming water fluoridation operator trainings?" β†’ <code>training_topic</code> AND <code>meeting_date</code> > TODAY</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=meeting-types-within-each-category>Meeting Types Within Each Category<a href=#meeting-types-within-each-category class=hash-link aria-label="Direct link to Meeting Types Within Each Category" title="Direct link to Meeting Types Within Each Category" translate=no>​</a></h3>
<p><strong>Government Meetings:</strong></p>
<ul>
<li class="">Regular sessions, special sessions, emergency meetings</li>
<li class="">Work sessions, committee meetings, executive sessions</li>
</ul>
<p><strong>Public Hearings:</strong></p>
<ul>
<li class="">Budget hearings, zoning hearings, policy feedback sessions</li>
<li class="">Environmental impact hearings, license applications</li>
</ul>
<p><strong>Community Events:</strong></p>
<ul>
<li class="">Town halls, listening sessions, community forums</li>
<li class="">Neighborhood meetings, stakeholder roundtables</li>
</ul>
<p><strong>Trainings:</strong></p>
<ul>
<li class="">Professional development workshops</li>
<li class="">Certification courses (CPR, fluoride application, etc.)</li>
<li class="">Continuing education (CEU/CME credits)</li>
<li class="">Skill-building sessions (motivational interviewing, cultural competency)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-nonprofit-funding-source-tracking>οΏ½πŸ’° Nonprofit Funding Source Tracking<a href=#-nonprofit-funding-source-tracking class=hash-link aria-label="Direct link to οΏ½πŸ’° Nonprofit Funding Source Tracking" title="Direct link to οΏ½πŸ’° Nonprofit Funding Source Tracking" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=revenue-source-breakdown-form-990-data>Revenue Source Breakdown (Form 990 Data)<a href=#revenue-source-breakdown-form-990-data class=hash-link aria-label="Direct link to Revenue Source Breakdown (Form 990 Data)" title="Direct link to Revenue Source Breakdown (Form 990 Data)" translate=no>​</a></h3>
<p>The NONPROFIT_FINANCES entity tracks <strong>10 different revenue sources</strong> to understand how nonprofits are funded:</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-grant-revenue-institutional-funding>1. <strong>Grant Revenue</strong> (Institutional Funding)<a href=#1-grant-revenue-institutional-funding class=hash-link aria-label="Direct link to 1-grant-revenue-institutional-funding" title="Direct link to 1-grant-revenue-institutional-funding" translate=no>​</a></h4>
<ul>
<li class=""><code>government_grants</code> - Federal, state, local government grants</li>
<li class=""><code>foundation_grants</code> - Private foundation grants (Gates, Ford, etc.)</li>
<li class=""><strong>Why it matters:</strong> Grant-dependent orgs may be less sustainable, more restrictive</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-donation-revenue-community-funding>2. <strong>Donation Revenue</strong> (Community Funding)<a href=#2-donation-revenue-community-funding class=hash-link aria-label="Direct link to 2-donation-revenue-community-funding" title="Direct link to 2-donation-revenue-community-funding" translate=no>​</a></h4>
<ul>
<li class=""><code>individual_donations</code> - Direct donations from people</li>
<li class=""><code>corporate_donations</code> - Corporate giving programs</li>
<li class=""><code>membership_dues</code> - Member subscriptions/fees</li>
<li class=""><strong>Why it matters:</strong> Grassroots funding = community support, more flexible use</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=3-earned-revenue-self-sufficiency>3. <strong>Earned Revenue</strong> (Self-Sufficiency)<a href=#3-earned-revenue-self-sufficiency class=hash-link aria-label="Direct link to 3-earned-revenue-self-sufficiency" title="Direct link to 3-earned-revenue-self-sufficiency" translate=no>​</a></h4>
<ul>
<li class=""><code>program_service_revenue</code> - Fees for services (clinic visits, classes, etc.)</li>
<li class=""><code>special_events_revenue</code> - Galas, fundraisers, events</li>
<li class=""><code>rental_income</code> - Property rentals</li>
<li class=""><code>sale_of_assets</code> - Asset sales</li>
<li class=""><strong>Why it matters:</strong> Self-generated revenue = sustainability, independence</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=4-investment-revenue>4. <strong>Investment Revenue</strong><a href=#4-investment-revenue class=hash-link aria-label="Direct link to 4-investment-revenue" title="Direct link to 4-investment-revenue" translate=no>​</a></h4>
<ul>
<li class=""><code>investment_income</code> - Interest, dividends, capital gains</li>
<li class=""><strong>Why it matters:</strong> Endowment size, financial health</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=5-other-revenue>5. <strong>Other Revenue</strong><a href=#5-other-revenue class=hash-link aria-label="Direct link to 5-other-revenue" title="Direct link to 5-other-revenue" translate=no>​</a></h4>
<ul>
<li class=""><code>other_revenue</code> - Miscellaneous sources</li>
<li class=""><strong>Why it matters:</strong> Unusual funding patterns</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=calculated-metrics>Calculated Metrics<a href=#calculated-metrics class=hash-link aria-label="Direct link to Calculated Metrics" title="Direct link to Calculated Metrics" translate=no>​</a></h3>
<ul>
<li class="">
<p><strong><code>overhead_ratio</code></strong> = (admin_expenses + fundraising_expenses) / total_expenses</p>
<ul>
<li class="">Lower = more efficient (more goes to programs)</li>
<li class="">Industry benchmark: &lt;25% overhead is "good"</li>
</ul>
</li>
<li class="">
<p><strong><code>fundraising_efficiency</code></strong> = contributions_received / fundraising_expenses</p>
<ul>
<li class="">Higher = better (more money raised per dollar spent)</li>
<li class="">Industry benchmark: $4+ raised per $1 spent</li>
</ul>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=why-this-matters-for-advocacy>Why This Matters for Advocacy<a href=#why-this-matters-for-advocacy class=hash-link aria-label="Direct link to Why This Matters for Advocacy" title="Direct link to Why This Matters for Advocacy" translate=no>​</a></h3>
<p><strong>Find sustainable partners:</strong></p>
<ul>
<li class="">βœ… High individual donations = community trust</li>
<li class="">βœ… Diversified revenue = financial stability</li>
<li class="">⚠️ Single-grant dependent = risky partnership</li>
</ul>
<p><strong>Evaluate efficiency:</strong></p>
<ul>
<li class="">βœ… Low overhead ratio = more program dollars</li>
<li class="">βœ… High fundraising efficiency = good stewardship</li>
<li class="">⚠️ High admin costs = potential waste</li>
</ul>
<p><strong>Identify funding gaps:</strong></p>
<ul>
<li class="">Compare similar nonprofits' revenue mix</li>
<li class="">Find underutilized funding sources (e.g., membership programs)</li>
<li class="">Target corporate donation opportunities</li>
</ul>
<p><strong>Example Questions Now Answerable:</strong></p>
<ol>
<li class="">"Which dental nonprofits have the most individual donors?" (community support)</li>
<li class="">"What's the average overhead for oral health organizations?" (efficiency benchmark)</li>
<li class="">"Are dental nonprofits more grant-dependent or self-sufficient?" (sustainability)</li>
<li class="">"Which funders support oral health work?" (foundation grants analysis)</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-grant-tracking-system>πŸ’΅ Grant Tracking System<a href=#-grant-tracking-system class=hash-link aria-label="Direct link to πŸ’΅ Grant Tracking System" title="Direct link to πŸ’΅ Grant Tracking System" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=individual-grant-transactions-grant-entity>Individual Grant Transactions (GRANT Entity)<a href=#individual-grant-transactions-grant-entity class=hash-link aria-label="Direct link to Individual Grant Transactions (GRANT Entity)" title="Direct link to Individual Grant Transactions (GRANT Entity)" translate=no>​</a></h3>
<p>The GRANT entity tracks <strong>individual grant awards</strong> beyond just aggregate 990 financials. This provides transaction-level detail for:</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=grant-fields>Grant Fields<a href=#grant-fields class=hash-link aria-label="Direct link to Grant Fields" title="Direct link to Grant Fields" translate=no>​</a></h4>
<ul>
<li class=""><strong>Recipient Info:</strong> <code>recipient_ein</code>, <code>recipient_name</code>, <code>recipient_type</code> (nonprofit, government, etc.)</li>
<li class=""><strong>Funder Info:</strong> <code>funder_name</code>, <code>funder_ein</code>, <code>funder_type</code> (foundation, government, corporate)</li>
<li class=""><strong>Grant Details:</strong> <code>grant_amount</code>, <code>grant_purpose</code>, <code>program_area</code></li>
<li class=""><strong>Timeline:</strong> <code>award_date</code>, <code>start_date</code>, <code>end_date</code>, <code>grant_duration_months</code></li>
<li class=""><strong>Status:</strong> <code>grant_status</code> (active, completed, terminated)</li>
<li class=""><strong>Type:</strong> <code>funding_source</code> (federal, state, foundation, corporate)</li>
<li class=""><strong>Restrictions:</strong> <code>multi_year</code>, <code>restrictions</code>, <code>reporting_requirements</code></li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=data-sources>Data Sources<a href=#data-sources class=hash-link aria-label="Direct link to Data Sources" title="Direct link to Data Sources" translate=no>​</a></h4>
<p><strong>IRS Form 990 Schedule I:</strong></p>
<ul>
<li class="">Grants PAID by nonprofits to other organizations</li>
<li class="">Required for organizations granting >$5,000/year</li>
<li class="">Shows foundation giving patterns</li>
</ul>
<p><strong>USASpending.gov API (FREE):</strong></p>
<ul>
<li class="">All federal grants to states, localities, nonprofits</li>
<li class="">Contract and grant transactions $25K+</li>
<li class="">Real-time data updated daily</li>
</ul>
<p><strong>Foundation Center/Candid:</strong></p>
<ul>
<li class="">Private foundation grants (990-PF data)</li>
<li class="">Grant descriptions, amounts, recipients</li>
</ul>
<p><strong>State Grant Databases:</strong></p>
<ul>
<li class="">State-level grant programs</li>
<li class="">Varies by state</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=why-grant-tracking-matters>Why Grant Tracking Matters<a href=#why-grant-tracking-matters class=hash-link aria-label="Direct link to Why Grant Tracking Matters" title="Direct link to Why Grant Tracking Matters" translate=no>​</a></h3>
<p><strong>Follow the Money:</strong></p>
<ul>
<li class="">βœ… "Who funds oral health work in Alabama?" β†’ Track all grants by <code>program_area</code></li>
<li class="">βœ… "Which foundations support fluoridation?" β†’ Search grant purposes</li>
<li class="">βœ… "How much federal money goes to dental access?" β†’ Sum <code>funding_source = federal</code></li>
</ul>
<p><strong>Find Funding Opportunities:</strong></p>
<ul>
<li class="">βœ… Identify active grant programs (similar grants to similar orgs)</li>
<li class="">βœ… Discover new funders entering a program area</li>
<li class="">βœ… Track grant sizes and typical durations</li>
</ul>
<p><strong>Partnership Intelligence:</strong></p>
<ul>
<li class="">βœ… "Who else is this foundation funding?" β†’ Find collaborators</li>
<li class="">βœ… "What's this nonprofit's grant portfolio?" β†’ Assess stability</li>
<li class="">βœ… Multi-year grants = long-term commitment signal</li>
</ul>
<p><strong>Policy Implementation:</strong></p>
<ul>
<li class="">βœ… "Is there grant funding for this program?" β†’ Search active grants</li>
<li class="">βœ… "Which jurisdictions received similar grants?" β†’ Learn from others</li>
<li class="">βœ… Track grant requirements and restrictions</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=example-questions-now-answerable>Example Questions Now Answerable:<a href=#example-questions-now-answerable class=hash-link aria-label="Direct link to Example Questions Now Answerable:" title="Direct link to Example Questions Now Answerable:" translate=no>​</a></h4>
<ol>
<li class="">
<p><strong>"What federal grants support dental health in Alabama schools?"</strong>
β†’ <code>funding_source = 'federal'</code> AND <code>program_area</code> LIKE '%dental%' AND <code>recipient_type = 'school_district'</code></p>
</li>
<li class="">
<p><strong>"Which foundations give the largest oral health grants?"</strong>
β†’ GROUP BY <code>funder_name</code> WHERE <code>program_area</code> LIKE '%oral health%' ORDER BY SUM(<code>grant_amount</code>)</p>
</li>
<li class="">
<p><strong>"How long do typical dental access grants last?"</strong>
β†’ AVG(<code>grant_duration_months</code>) WHERE <code>program_area</code> = 'dental access'</p>
</li>
<li class="">
<p><strong>"Which nonprofits receive multi-year fluoridation funding?"</strong>
β†’ <code>multi_year = true</code> AND <code>grant_purpose</code> LIKE '%fluoride%'</p>
</li>
<li class="">
<p><strong>"What grants end in the next 6 months?"</strong>
β†’ <code>end_date</code> BETWEEN NOW() AND NOW() + 6 MONTHS (renewal opportunities!)</p>
</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=dataset-structure>Dataset Structure<a href=#dataset-structure class=hash-link aria-label="Direct link to Dataset Structure" title="Direct link to Dataset Structure" translate=no>​</a></h3>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">grants/</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ nonprofit_grants    # Grants TO nonprofits (Schedule I recipients)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ government_grants   # Federal/state grants to jurisdictions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ foundation_grants   # Private foundation giving (990-PF)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">└── federal_grants      # USASpending.gov federal grants</span><br/></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-time-dimension-modeling>⏰ Time Dimension Modeling<a href=#-time-dimension-modeling class=hash-link aria-label="Direct link to ⏰ Time Dimension Modeling" title="Direct link to ⏰ Time Dimension Modeling" translate=no>​</a></h2>
<p>To enable robust time-series analysis, trend tracking, and temporal comparisons, we implement a comprehensive time dimension alongside our fact tables.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=time-dimension-table>Time Dimension Table<a href=#time-dimension-table class=hash-link aria-label="Direct link to Time Dimension Table" title="Direct link to Time Dimension Table" translate=no>​</a></h3>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">DATE_DIMENSION {</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> PK</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    quarter </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    quarter_name string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token keyword" style=color:#00009f>month</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    month_name string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    month_abbr string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    day_of_month </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    day_of_week </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    day_name string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    day_abbr string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    week_of_year </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    fiscal_year </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    fiscal_quarter </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    fiscal_month </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    is_weekend </span><span class="token keyword" style=color:#00009f>boolean</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    is_holiday </span><span class="token keyword" style=color:#00009f>boolean</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    holiday_name string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    is_business_day </span><span class="token keyword" style=color:#00009f>boolean</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    days_in_month </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    year_month string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    year_quarter string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">}</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=temporal-relationships>Temporal Relationships<a href=#temporal-relationships class=hash-link aria-label="Direct link to Temporal Relationships" title="Direct link to Temporal Relationships" translate=no>​</a></h3>
<p>All time-bound entities link to the date dimension for consistent temporal analysis:</p>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=temporal-analysis-patterns>Temporal Analysis Patterns<a href=#temporal-analysis-patterns class=hash-link aria-label="Direct link to Temporal Analysis Patterns" title="Direct link to Temporal Analysis Patterns" translate=no>​</a></h3>
<p><strong>Year-over-Year Comparisons:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> meeting_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>-</span><span class="token plain"> LAG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>OVER</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> yoy_change</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> MEETING m</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2023</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2025</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter_name</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Fiscal Period Aggregation:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_quarter</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">b</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_spending</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">b</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_spending</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> GOVERNMENT_BUDGET b</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> b</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> b</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'city'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_quarter</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Trend Detection:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Identify growing advocacy momentum</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">year_month</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> active_topics</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> related_meetings</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">measure_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> ballot_initiatives</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> DATE_DIMENSION d</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> MEETING m </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">oral_health_related </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>true</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> POLICY_TRACKER pt </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">start_date </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>COALESCE</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">end_date</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>CURRENT_DATE</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> BALLOT_MEASURE bm </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">election_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>>=</span><span class="token plain"> DATE_SUB</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>CURRENT_DATE</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTERVAL</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>24</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>MONTH</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">year_month</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">year_month</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-metric-views>πŸ“Š Metric Views<a href=#-metric-views class=hash-link aria-label="Direct link to πŸ“Š Metric Views" title="Direct link to πŸ“Š Metric Views" translate=no>​</a></h2>
<p>Metric views provide pre-aggregated, analysis-ready datasets combining multiple source tables with built-in dimensions, measures, and filters.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=core-metric-view-components>Core Metric View Components<a href=#core-metric-view-components class=hash-link aria-label="Direct link to Core Metric View Components" title="Direct link to Core Metric View Components" translate=no>​</a></h3>
<table><thead><tr><th>Component<th>Description<th>Example<tbody><tr><td><strong>Source</strong><td>Base table, view, or SQL query containing the data<td><code>MEETING</code>, <code>GOVERNMENT_BUDGET</code>, <code>NONPROFIT_FILING</code><tr><td><strong>Dimensions</strong><td>Column attributes used to segment or group metrics<td><code>jurisdiction_type</code>, <code>fiscal_year</code>, <code>policy_topic</code><tr><td><strong>Measures</strong><td>Column aggregations that produce metrics<td><code>COUNT(meeting_id) as meeting_count</code>, <code>SUM(grant_amount) as total_funding</code><tr><td><strong>Filters</strong><td>Conditions applied to source data to define scope<td><code>oral_health_related = true</code>, <code>fiscal_year > 2020</code><tr><td><strong>Joins</strong><td>Relationships between tables to enrich data<td><code>JOIN JURISDICTION ON meeting.jurisdiction_id = jurisdiction.jurisdiction_id</code></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=example-metric-views>Example Metric Views<a href=#example-metric-views class=hash-link aria-label="Direct link to Example Metric Views" title="Direct link to Example Metric Views" translate=no>​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-advocacy-activity-metrics>1. Advocacy Activity Metrics<a href=#1-advocacy-activity-metrics class=hash-link aria-label="Direct link to 1. Advocacy Activity Metrics" title="Direct link to 1. Advocacy Activity Metrics" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Track oral health advocacy momentum across jurisdictions</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_advocacy_activity </span><span class="token keyword" style=color:#00009f>AS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Dimensions</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">county_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">month_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Measures</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> meeting_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">measure_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> ballot_measure_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> l</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">bill_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> legislation_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> fc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">claim_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> fact_check_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Calculated Metrics</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>CASE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>WHEN</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">oral_health_related </span><span class="token keyword" style=color:#00009f>THEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>1</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>ELSE</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>END</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> oral_health_meeting_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>CASE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>WHEN</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">result </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'passed'</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>THEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>1</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>ELSE</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>END</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> ballot_success_rate</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">nonprofit_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> active_nonprofit_count</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> JURISDICTION j</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> DATE_SUB</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>CURRENT_DATE</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTERVAL</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>365</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>DAY</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>CURRENT_DATE</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> MEETING m </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> POLICY_TRACKER pt </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> BALLOT_MEASURE bm </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">election_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> LEGISLATION l </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> l</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> l</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">introduced_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> FACT_CHECK fc </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> fc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">published_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> NONPROFIT n </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Filters</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">is_business_day </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>true</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">        m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">oral_health_related </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>true</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">        </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_area </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%oral health%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">        </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_area </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%dental%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">        </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_area </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%fluoride%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">county_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">month_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_name</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Usage:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Find top 10 most active jurisdictions for oral health advocacy</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">meeting_count</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_meetings</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">ballot_measure_count</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_ballot_measures</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">oral_health_meeting_count</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> oral_health_meetings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> metric_advocacy_activity</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2025</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> jurisdiction_type</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> total_meetings </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LIMIT</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>10</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-government-spending-metrics>2. Government Spending Metrics<a href=#2-government-spending-metrics class=hash-link aria-label="Direct link to 2. Government Spending Metrics" title="Direct link to 2. Government Spending Metrics" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Analyze government budget allocations and trends</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_government_spending </span><span class="token keyword" style=color:#00009f>AS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Dimensions</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_quarter</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    bc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> budget_category</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Measures</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_revenue</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_expenditures</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_debt</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_debt</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">property_tax_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> property_tax_revenue</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">federal_grants</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> federal_grants</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_grants</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> state_grants</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Calculated Metrics</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> revenue_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> spending_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_debt</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> debt_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>-</span><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> budget_surplus_deficit</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">bc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">amount</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>100</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> category_pct_of_budget</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> JURISDICTION j</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2020</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2025</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> GOVERNMENT_BUDGET gb </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> BUDGET_CATEGORY bc </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> bc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">budget_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">budget_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Filters</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_quarter</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> bc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Usage:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Compare spending per capita across jurisdiction types</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">spending_per_capita</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_spending_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">revenue_per_capita</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_revenue_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">debt_per_capita</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_debt_per_capita</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> metric_government_spending</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> fiscal_year</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> fiscal_year </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> avg_spending_per_capita </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=3-nonprofit-impact-metrics>3. Nonprofit Impact Metrics<a href=#3-nonprofit-impact-metrics class=hash-link aria-label="Direct link to 3. Nonprofit Impact Metrics" title="Direct link to 3. Nonprofit Impact Metrics" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Measure nonprofit activity, funding, and service delivery</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_nonprofit_impact </span><span class="token keyword" style=color:#00009f>AS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Dimensions</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">nonprofit_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">organization_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">city</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ntee_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">tax_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Measures</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_revenue</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_expenses</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_assets</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_assets</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">program_service_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> program_expenses</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fundraising_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> fundraising_expenses</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">management_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> management_expenses</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> g</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">grant_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> grants_received_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">g</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">grant_amount</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_grants_received</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Calculated Metrics</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">program_service_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>100</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> program_expense_ratio</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fundraising_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>100</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> fundraising_efficiency</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>-</span><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> net_income</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> years_active</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> NONPROFIT n</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2020</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2025</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> NONPROFIT_FILING nf </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ein </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ein </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">tax_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> NONPROFIT_CAUSE nc </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">cause_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">primary_cause_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>GRANT</span><span class="token plain"> g </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> g</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">recipient_ein </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ein </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> g</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">tax_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- Filters</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">        nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%health%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">        </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%dental%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">        </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">mission_statement </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%oral health%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">nonprofit_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">organization_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">city</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ntee_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">tax_year</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Usage:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Identify high-performing health nonprofits by program efficiency</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    organization_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    state</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    tax_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    total_revenue</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    program_expense_ratio</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    fundraising_efficiency</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> metric_nonprofit_impact</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    tax_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2024</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> total_revenue </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>1000000</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> program_expense_ratio </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>75</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic>-- More than 75% goes to programs</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> program_expense_ratio </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> total_revenue </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LIMIT</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>20</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=metric-view-best-practices>Metric View Best Practices<a href=#metric-view-best-practices class=hash-link aria-label="Direct link to Metric View Best Practices" title="Direct link to Metric View Best Practices" translate=no>​</a></h3>
<ol>
<li class=""><strong>Grain Definition</strong>: Clearly define the granularity of each metric view (e.g., per jurisdiction per month)</li>
<li class=""><strong>Performance</strong>: Pre-aggregate expensive calculations to improve query performance</li>
<li class=""><strong>Incremental Updates</strong>: Design views to support incremental refresh rather than full rebuilds</li>
<li class=""><strong>Documentation</strong>: Document all dimension values, measure calculations, and filter logic</li>
<li class=""><strong>Naming Convention</strong>: Use <code>metric_</code> prefix followed by descriptive name (e.g., <code>metric_advocacy_activity</code>)</li>
<li class=""><strong>Testing</strong>: Validate measure calculations against source data to ensure accuracy</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=query-optimization>Query Optimization<a href=#query-optimization class=hash-link aria-label="Direct link to Query Optimization" title="Direct link to Query Optimization" translate=no>​</a></h3>
<p>For large-scale analytics, metric views can be materialized:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Materialize for fast querying</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> MATERIALIZED </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_advocacy_activity_mat </span><span class="token keyword" style=color:#00009f>AS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> metric_advocacy_activity</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Refresh incrementally</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">REFRESH MATERIALIZED </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_advocacy_activity_mat</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Add indexes on common filter/join columns</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INDEX</span><span class="token plain"> idx_advocacy_state_year </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> metric_advocacy_activity_mat</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INDEX</span><span class="token plain"> idx_advocacy_jurisdiction </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> metric_advocacy_activity_mat</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-system-internal-tables-omop-inspired-vocabulary>πŸ”§ System-Internal Tables (OMOP-Inspired Vocabulary)<a href=#-system-internal-tables-omop-inspired-vocabulary class=hash-link aria-label="Direct link to πŸ”§ System-Internal Tables (OMOP-Inspired Vocabulary)" title="Direct link to πŸ”§ System-Internal Tables (OMOP-Inspired Vocabulary)" translate=no>​</a></h2>
<p><strong>Purpose:</strong> Standardized terminology and concept management following OHDSI OMOP Common Data Model principles. These tables provide semantic interoperability and enable precise data linkage across all entities.</p>
<p><strong>⚠️ Technical Note:</strong> These are internal reference tables used by data engineers and ETL pipelines. Non-technical users can ignore this section.</p>
<div class=zoomableContainer_eg3Q><h3 class=diagramTitle_wap7>Vocabulary & Concept System (OMOP-Inspired)</h3><div class=controls_qlC_><span class=controlsLabel_Q_lQ>πŸ’‘ <strong>Tip:</strong> Use mouse wheel to zoom, click and drag to pan, or use the controls below</span></div><div class=zoomControls_aMCc><button class=zoomButton_CYM3 title="Zoom In">πŸ”+</button><button class=zoomButton_CYM3 title="Zoom Out">πŸ”βˆ’</button><button class=zoomButton_CYM3 title="Reset View">⟲ Reset</button></div><div class="react-transform-wrapper transform-component-module_wrapper__SPB86 transformWrapper_r8lz"><div class="react-transform-component transform-component-module_content__FBWxo transformContent_iWjG" style="transform:translate(0px, 0px) scale(6)"><div class=mermaidWrapper_atLc></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=vocabulary-sources>Vocabulary Sources<a href=#vocabulary-sources class=hash-link aria-label="Direct link to Vocabulary Sources" title="Direct link to Vocabulary Sources" translate=no>​</a></h3>
<table><thead><tr><th>Vocabulary ID<th>Vocabulary Name<th>Source<th>Use Case<tbody><tr><td><strong>OCD_ID</strong><td>Open Civic Data Division IDs<td><a href=https://github.com/opencivicdata/ocd-division-ids target=_blank rel="noopener noreferrer" class="">https://github.com/opencivicdata/ocd-division-ids</a><td>Standard jurisdiction identifiers<tr><td><strong>IRS_NTEE</strong><td>IRS National Taxonomy of Exempt Entities<td>IRS TEOS<td>Nonprofit classification<tr><td><strong>US_Census</strong><td>U.S. Census Bureau<td>Census Gazetteer, ACS<td>Demographics, geography<tr><td><strong>NCES</strong><td>National Center for Education Statistics<td>NCES CCD, F-33<td>School districts, education data<tr><td><strong>OHDSI_Gender</strong><td>OHDSI Gender<td>Athena<td>Standard gender concepts (interoperable with medical research)<tr><td><strong>OHDSI_Race</strong><td>OHDSI Race<td>Athena<td>Standard race concepts (OMB Classification)<tr><td><strong>OHDSI_Ethnicity</strong><td>OHDSI Ethnicity<td>Athena<td>Standard ethnicity concepts (Hispanic/Latino)<tr><td><strong>OpenNavigator</strong><td>Custom Civic Concepts<td>Internal<td>Cities, officials, topics (ID > 2,000,000,000)</table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=concept-classes-for-civic-data>Concept Classes for Civic Data<a href=#concept-classes-for-civic-data class=hash-link aria-label="Direct link to Concept Classes for Civic Data" title="Direct link to Concept Classes for Civic Data" translate=no>​</a></h3>
<table><thead><tr><th>Concept Class<th>Domain<th>Examples<tbody><tr><td><strong>City</strong><td>Jurisdiction<td>Incorporated places, consolidated city-counties<tr><td><strong>County</strong><td>Jurisdiction<td>U.S. counties, county equivalents<tr><td><strong>State</strong><td>Jurisdiction<td>U.S. states, territories, DC<tr><td><strong>School District</strong><td>Jurisdiction<td>LEAs (Local Educational Agencies)<tr><td><strong>501c3</strong><td>Nonprofit<td>Tax-exempt charitable organizations<tr><td><strong>501c4</strong><td>Nonprofit<td>Social welfare organizations<tr><td><strong>Mayor</strong><td>Position<td>Chief executive of city government<tr><td><strong>Council Member</strong><td>Position<td>Legislative member<tr><td><strong>Superintendent</strong><td>Position<td>School district chief administrator<tr><td><strong>Health Policy</strong><td>Topic<td>Fluoridation, nutrition, dental care<tr><td><strong>Education Policy</strong><td>Topic<td>School funding, curriculum, facilities</table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=example-concept-entries>Example Concept Entries<a href=#example-concept-entries class=hash-link aria-label="Direct link to Example Concept Entries" title="Direct link to Example Concept Entries" translate=no>​</a></h3>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Standard concept for a city</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>2000000001</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_id (custom range)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Birmingham, Alabama'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">         </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_name</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Jurisdiction'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                </span><span class="token comment" style=color:#999988;font-style:italic>-- domain_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'OCD_ID'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                      </span><span class="token comment" style=color:#999988;font-style:italic>-- vocabulary_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'City'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                        </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_class_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'S'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                           </span><span class="token comment" style=color:#999988;font-style:italic>-- standard_concept (Standard)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'ocd-division/country:us/state:al/place:birmingham'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_code</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2020-01-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                  </span><span class="token comment" style=color:#999988;font-style:italic>-- valid_start_date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                  </span><span class="token comment" style=color:#999988;font-style:italic>-- valid_end_date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain">                           </span><span class="token comment" style=color:#999988;font-style:italic>-- invalid_reason</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Concept for a nonprofit cause</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>2000000101</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Animal Welfare'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">              </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_name</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Nonprofit'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                   </span><span class="token comment" style=color:#999988;font-style:italic>-- domain_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'IRS_NTEE'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- vocabulary_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'501c3'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                       </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_class_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'C'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                           </span><span class="token comment" style=color:#999988;font-style:italic>-- standard_concept (Classification)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'D20'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                         </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_code (NTEE code)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2020-01-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Gender concept from OHDSI Athena (interoperable with medical research)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>8507</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                          </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_id (OHDSI standard)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'MALE'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                        </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_name</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Gender'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                      </span><span class="token comment" style=color:#999988;font-style:italic>-- domain_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'OHDSI_Gender'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                </span><span class="token comment" style=color:#999988;font-style:italic>-- vocabulary_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Gender'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                      </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_class_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'S'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'M'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'1970-01-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=concept-relationships>Concept Relationships<a href=#concept-relationships class=hash-link aria-label="Direct link to Concept Relationships" title="Direct link to Concept Relationships" translate=no>​</a></h3>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- City is part of County</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT_RELATIONSHIP </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>2000000001</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- Birmingham, AL (concept_id_1)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>2000000050</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- Jefferson County, AL (concept_id_2)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Is part of'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                  </span><span class="token comment" style=color:#999988;font-style:italic>-- relationship_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2020-01-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Topic regulates Legislation</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT_RELATIONSHIP </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>2000000201</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- Water Fluoridation topic</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>2000000305</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- Ordinance 101</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Regulates'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2024-01-15'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Organization addresses Topic</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT_RELATIONSHIP </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>2000000401</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- Dental Health Foundation</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token number" style=color:#36acaa>2000000201</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">                    </span><span class="token comment" style=color:#999988;font-style:italic>-- Water Fluoridation</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'Addresses'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2023-06-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=implementation-in-existing-tables>Implementation in Existing Tables<a href=#implementation-in-existing-tables class=hash-link aria-label="Direct link to Implementation in Existing Tables" title="Direct link to Implementation in Existing Tables" translate=no>​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=updated-jurisdiction-schema>Updated JURISDICTION Schema<a href=#updated-jurisdiction-schema class=hash-link aria-label="Direct link to Updated JURISDICTION Schema" title="Direct link to Updated JURISDICTION Schema" translate=no>​</a></h4>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>TABLE</span><span class="token plain"> JURISDICTION </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    jurisdiction_id </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>PRIMARY</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>KEY</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    name </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    jurisdiction_type </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>50</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- OMOP-style concept references</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    city_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    city_type_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic>-- e.g., "Consolidated City-County"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic>-- Original text from data source (e.g., "SF, Calif")</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    state_code </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>2</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    county_name </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>100</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    population </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- ... other fields</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=updated-organization-schema>Updated ORGANIZATION Schema<a href=#updated-organization-schema class=hash-link aria-label="Direct link to Updated ORGANIZATION Schema" title="Direct link to Updated ORGANIZATION Schema" translate=no>​</a></h4>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>TABLE</span><span class="token plain"> ORGANIZATION </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    org_id </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>PRIMARY</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>KEY</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    ein </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>20</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    name </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- OMOP-style concept references</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    organization_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    cause_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic>-- Links to NTEE concept</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    org_type_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic>-- 501c3, 501c4, etc.</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic>-- Original organization name from IRS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    ntee_code </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>10</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- ... other fields</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=updated-demographics-schema>Updated DEMOGRAPHICS Schema<a href=#updated-demographics-schema class=hash-link aria-label="Direct link to Updated DEMOGRAPHICS Schema" title="Direct link to Updated DEMOGRAPHICS Schema" translate=no>​</a></h4>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>TABLE</span><span class="token plain"> DEMOGRAPHICS </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    demographics_id </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>PRIMARY</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>KEY</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    jurisdiction_id </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> JURISDICTION</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- OMOP-style concept references (OHDSI Athena vocabularies)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    race_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">       </span><span class="token comment" style=color:#999988;font-style:italic>-- Standard OHDSI race codes</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    ethnicity_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic>-- Hispanic/Latino classification</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    gender_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">     </span><span class="token comment" style=color:#999988;font-style:italic>-- MALE/FEMALE/OTHER</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    race_source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>100</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">      </span><span class="token comment" style=color:#999988;font-style:italic>-- Census text (e.g., "White alone")</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    ethnicity_source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>100</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Census text</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    gender_source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>50</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain">     </span><span class="token comment" style=color:#999988;font-style:italic>-- Census text</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic>-- ... other demographic fields</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=benefits-of-omop-style-vocabulary>Benefits of OMOP-Style Vocabulary<a href=#benefits-of-omop-style-vocabulary class=hash-link aria-label="Direct link to Benefits of OMOP-Style Vocabulary" title="Direct link to Benefits of OMOP-Style Vocabulary" translate=no>​</a></h3>
<ol>
<li class=""><strong>Semantic Interoperability</strong>: Civic data can be joined with healthcare research data using standard OHDSI demographic concepts</li>
<li class=""><strong>Reproducible IDs</strong>: Deterministic hashing (uuid5) on strings like "JURISDICTION:CITY<!-- -->:NEW_YORK<!-- -->" generates consistent concept_id values</li>
<li class=""><strong>Version Control</strong>: <code>valid_start_date</code> and <code>valid_end_date</code> track concept changes over time</li>
<li class=""><strong>Relationship Tracking</strong>: <code>CONCEPT_RELATIONSHIP</code> table captures hierarchies (City β†’ County β†’ State) and associations (Topic β†’ Legislation)</li>
<li class=""><strong>Source Traceability</strong>: <code>source_value</code> preserves original text while <code>concept_id</code> provides standardized reference</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=etl-mapping-strategy>ETL Mapping Strategy<a href=#etl-mapping-strategy class=hash-link aria-label="Direct link to ETL Mapping Strategy" title="Direct link to ETL Mapping Strategy" translate=no>​</a></h3>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-python codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>import</span><span class="token plain"> uuid</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>def</span><span class="token plain"> </span><span class="token function" style=color:#d73a49>generate_concept_id</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">domain</span><span class="token punctuation" style=color:#393A34>:</span><span class="token plain"> </span><span class="token builtin">str</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token builtin">type</span><span class="token punctuation" style=color:#393A34>:</span><span class="token plain"> </span><span class="token builtin">str</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> identifier</span><span class="token punctuation" style=color:#393A34>:</span><span class="token plain"> </span><span class="token builtin">str</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>-</span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token builtin">int</span><span class="token punctuation" style=color:#393A34>:</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token triple-quoted-string string" style=color:#e3116c>"""</span><br/></div><div class=token-line style=color:#393A34><span class="token triple-quoted-string string" style=color:#e3116c>    Generate deterministic concept_id using UUID5.</span><br/></div><div class=token-line style=color:#393A34><span class="token triple-quoted-string string" style=color:#e3116c>    Returns integer > 2,000,000,000 for custom civic concepts.</span><br/></div><div class=token-line style=color:#393A34><span class="token triple-quoted-string string" style=color:#e3116c>    """</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    namespace </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> uuid</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">UUID</span><span class="token punctuation" style=color:#393A34>(</span><span class="token string" style=color:#e3116c>'6ba7b810-9dad-11d1-80b4-00c04fd430c8'</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic># OMOP namespace</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    concept_string </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string-interpolation string" style=color:#e3116c>f"</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>{</span><span class="token string-interpolation interpolation">domain</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>}</span><span class="token string-interpolation string" style=color:#e3116c>:</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>{</span><span class="token string-interpolation interpolation builtin">type</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>}</span><span class="token string-interpolation string" style=color:#e3116c>:</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>{</span><span class="token string-interpolation interpolation">identifier</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>}</span><span class="token string-interpolation string" style=color:#e3116c>"</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">upper</span><span class="token punctuation" style=color:#393A34>(</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    concept_uuid </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> uuid</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">uuid5</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">namespace</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> concept_string</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token comment" style=color:#999988;font-style:italic># Convert to integer in custom range</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">    </span><span class="token keyword" style=color:#00009f>return</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2_000_000_000</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>+</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token builtin">int</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_uuid</span><span class="token punctuation" style=color:#393A34>.</span><span class="token builtin">hex</span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>:</span><span class="token number" style=color:#36acaa>8</span><span class="token punctuation" style=color:#393A34>]</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>16</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>%</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>1_000_000_000</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic># Example usage</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">city_concept_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> generate_concept_id</span><span class="token punctuation" style=color:#393A34>(</span><span class="token string" style=color:#e3116c>"JURISDICTION"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"CITY"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"NEW_YORK"</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>print</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">city_concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain">  </span><span class="token comment" style=color:#999988;font-style:italic># e.g., 2045879021 (repeatable)</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=downloading-ohdsi-athena-vocabularies>Downloading OHDSI Athena Vocabularies<a href=#downloading-ohdsi-athena-vocabularies class=hash-link aria-label="Direct link to Downloading OHDSI Athena Vocabularies" title="Direct link to Downloading OHDSI Athena Vocabularies" translate=no>​</a></h3>
<ol>
<li class="">Visit <a href=https://athena.ohdsi.org/ target=_blank rel="noopener noreferrer" class="">https://athena.ohdsi.org/</a></li>
<li class="">Select vocabularies:<!-- -->
<ul>
<li class="">βœ… Gender</li>
<li class="">βœ… Race</li>
<li class="">βœ… Ethnicity</li>
<li class="">βœ… Geography (US Counties, States)</li>
</ul>
</li>
<li class="">Download CSV files</li>
<li class="">Import into <code>vocabulary/</code> folder:<!-- -->
<ul>
<li class=""><code>vocabulary_gender.parquet</code></li>
<li class=""><code>vocabulary_race.parquet</code></li>
<li class=""><code>vocabulary_ethnicity.parquet</code></li>
<li class=""><code>vocabulary_geography.parquet</code></li>
</ul>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-missing-datasets-to-add>🎯 Missing Datasets to Add<a href=#-missing-datasets-to-add class=hash-link aria-label="Direct link to 🎯 Missing Datasets to Add" title="Direct link to 🎯 Missing Datasets to Add" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=high-priority>High Priority<a href=#high-priority class=hash-link aria-label="Direct link to High Priority" title="Direct link to High Priority" translate=no>​</a></h3>
<ul class="contains-task-list containsTaskList_mC6p">
<li class=task-list-item><input type=checkbox disabled checked/> <strong>Ballot Measures</strong> - βœ… Added to data model! Fluoridation votes, bond measures</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>State Legislation</strong> - βœ… Added to data model! Open States API (FREE)</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>Policy Topics</strong> - βœ… Added to data model! Oral health advocacy tracking</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>Government Finances</strong> - βœ… Added to data model! City/county/state budgets, Census of Governments</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>School Finances</strong> - βœ… Added to data model! NCES F-33 per-pupil spending, revenues</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>Nonprofit Financials</strong> - βœ… Added to data model! Form 990 detailed financials (10M+ filings)</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Census Demographics</strong> - Full census data per jurisdiction (beyond population)</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Procurement Records</strong> - Government contracts</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Election Results</strong> - Historical voting data</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Health Outcomes</strong> - CDC PLACES data (oral health metrics!)</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Environmental Data</strong> - EPA water quality (fluoridation levels)</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=medium-priority>Medium Priority<a href=#medium-priority class=hash-link aria-label="Direct link to Medium Priority" title="Direct link to Medium Priority" translate=no>​</a></h3>
<ul class="contains-task-list containsTaskList_mC6p">
<li class=task-list-item><input type=checkbox disabled/> <strong>Property Records</strong> - Public assessment data</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Crime Statistics</strong> - UCR/NIBRS data</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Business Licenses</strong> - Local business registrations (dental clinics!)</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Building Permits</strong> - Construction activity</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Code Violations</strong> - Inspection records</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Police Reports</strong> - Public safety incidents</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Fire Department Data</strong> - Emergency response</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Parks & Recreation</strong> - Facilities & programs</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Transportation Data</strong> - Traffic & transit</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=integration-improvements>Integration Improvements<a href=#integration-improvements class=hash-link aria-label="Direct link to Integration Improvements" title="Direct link to Integration Improvements" translate=no>​</a></h3>
<ul class="contains-task-list containsTaskList_mC6p">
<li class=task-list-item><input type=checkbox disabled/> <strong>Full Wikidata Sync</strong> - All civic entities</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>DBpedia Expansion</strong> - Complete local government coverage</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Ballotpedia Data</strong> - (if budget allows) Electoral info & analysis</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Court Records</strong> - Public dockets</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Tax Records</strong> - Property tax data</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-implementation-status>πŸš€ Implementation Status<a href=#-implementation-status class=hash-link aria-label="Direct link to πŸš€ Implementation Status" title="Direct link to πŸš€ Implementation Status" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=-completed>βœ… Completed<a href=#-completed class=hash-link aria-label="Direct link to βœ… Completed" title="Direct link to βœ… Completed" translate=no>​</a></h3>
<ul>
<li class="">Jurisdiction discovery pipeline</li>
<li class="">YouTube channel discovery</li>
<li class="">Meeting platform detection</li>
<li class="">NCES school district ingestion</li>
<li class="">Open States API integration</li>
<li class="">Wikidata SPARQL queries</li>
<li class="">DBpedia Lookup API</li>
<li class="">Google Civic API (code ready)</li>
<li class="">Social media discovery</li>
<li class="">HuggingFace upload pipeline</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=-in-progress>πŸ”¨ In Progress<a href=#-in-progress class=hash-link aria-label="Direct link to πŸ”¨ In Progress" title="Direct link to πŸ”¨ In Progress" translate=no>​</a></h3>
<ul>
<li class="">Meeting minutes extraction (Tuscaloosa pilot)</li>
<li class="">Video transcript processing</li>
<li class="">Document keyword detection</li>
<li class="">Nonprofit data enrichment</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=-planned>πŸ“‹ Planned<a href=#-planned class=hash-link aria-label="Direct link to πŸ“‹ Planned" title="Direct link to πŸ“‹ Planned" translate=no>​</a></h3>
<ul>
<li class="">Automated meeting scraping at scale</li>
<li class="">Real-time meeting notifications</li>
<li class="">Budget document parsing</li>
<li class="">Full census integration</li>
<li class="">Health outcome correlation</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-related-documentation>πŸ“š Related Documentation<a href=#-related-documentation class=hash-link aria-label="Direct link to πŸ“š Related Documentation" title="Direct link to πŸ“š Related Documentation" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=data-standards--specifications>Data Standards & Specifications<a href=#data-standards--specifications class=hash-link aria-label="Direct link to Data Standards & Specifications" title="Direct link to Data Standards & Specifications" translate=no>​</a></h3>
<ul>
<li class="">
<p><strong><a href=https://github.com/popolo-project/popolo-spec target=_blank rel="noopener noreferrer" class="">Popolo Project</a></strong> - Open government data specification for people, organizations, and elected positions. Our LEADER, ORGANIZATION, and JURISDICTION entities follow Popolo schema conventions for maximum interoperability with civic tech platforms.</p>
</li>
<li class="">
<p><strong><a href=https://schema.org/ target=_blank rel="noopener noreferrer" class="">Schema.org</a></strong> - W3C structured data vocabulary for semantic web. Our entities map to Schema.org types (Event, Person, Organization, Legislation, ClaimReview, etc.) enabling SEO-optimized JSON-LD exports, Google Search rich results, and voice assistant compatibility.</p>
</li>
<li class="">
<p><strong><a href=https://ceds.ed.gov/ target=_blank rel="noopener noreferrer" class="">Common Education Data Standards (CEDS)</a></strong> - U.S. Department of Education data standards for K-12, postsecondary, and workforce data. Our SCHOOL_DISTRICT entity aligns with CEDS Element IDs and NCES survey specifications (CCD, F-33 Finance).</p>
</li>
<li class="">
<p><strong><a href=https://open-civic-data.readthedocs.io/en/latest/proposals/0002.html target=_blank rel="noopener noreferrer" class="">Open Civic Data (OCD-IDs)</a></strong> - Standardized division identifiers for jurisdictions. Format: <code>ocd-division/country:us/state:al/place:birmingham</code></p>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=internal-documentation>Internal Documentation<a href=#internal-documentation class=hash-link aria-label="Direct link to Internal Documentation" title="Direct link to Internal Documentation" translate=no>​</a></h3>
<ul>
<li class=""><a class="" href=/docs/guides/huggingface-publishing>HuggingFace Publishing Guide</a></li>
<li class=""><a class="" href=/docs/data-sources/overview>Data Sources Overview</a></li>
<li class=""><a class="" href=/docs/data-sources/jurisdiction-discovery>Discovery Pipeline</a></li>
</ul>
<hr/>
<p><strong>Last Updated:</strong> <!-- -->2026-05-03</p>
<p><strong>Data Model Version:</strong> 2.1 (Popolo-compatible)</div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href=https://github.com/getcommunityone/open-navigator-for-engagement/tree/main/website/docs/data-sources/data-model-erd.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_Z9Sw aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/docs/legal-compliance><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Legal & Compliance</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/docs/data-sources/jurisdiction-discovery><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Jurisdiction Discovery System</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#-huggingface-dataset-structure class="table-of-contents__link toc-highlight">οΏ½ HuggingFace Dataset Structure</a><ul><li><a href=#current-datasets-being-uploaded class="table-of-contents__link toc-highlight">Current Datasets Being Uploaded</a><li><a href=#parquet-file-naming-convention class="table-of-contents__link toc-highlight">Parquet File Naming Convention</a></ul><li><a href=#-data-extraction-pipeline class="table-of-contents__link toc-highlight">πŸ”„ Data Extraction Pipeline</a><ul><li><a href=#phase-1-discovery-bronze-layer class="table-of-contents__link toc-highlight">Phase 1: Discovery (Bronze Layer)</a><li><a href=#phase-2-enrichment-silver-layer class="table-of-contents__link toc-highlight">Phase 2: Enrichment (Silver Layer)</a><li><a href=#phase-3-processing-gold-layer class="table-of-contents__link toc-highlight">Phase 3: Processing (Gold Layer)</a><li><a href=#new-dataset-categories-explained class="table-of-contents__link toc-highlight">New Dataset Categories Explained</a><ul><li><a href=#-analytics-datasets class="table-of-contents__link toc-highlight">πŸ“Š Analytics Datasets</a><li><a href=#-standards-compliant-exports class="table-of-contents__link toc-highlight">🌐 Standards-Compliant Exports</a><li><a href=#-fact-checking-datasets class="table-of-contents__link toc-highlight">βœ… Fact-Checking Datasets</a></ul></ul><li><a href=#-complete-data-model-erd class="table-of-contents__link toc-highlight">οΏ½πŸ“Š Complete Data Model (ERD)</a><li><a href=#️-political-economy-analysis-framework class="table-of-contents__link toc-highlight">βš–οΈ Political Economy Analysis Framework</a><ul><li><a href=#the-4-step-framework-for-effective-change class="table-of-contents__link toc-highlight">The 4-Step Framework for Effective Change</a><ul><li><a href=#step-1-rhetoric-gap---frame-analysis class="table-of-contents__link toc-highlight">Step 1: Rhetoric Gap - <strong>Frame Analysis</strong></a><li><a href=#step-2-displacement-matrix---budget-to-minutes-delta class="table-of-contents__link toc-highlight">Step 2: Displacement Matrix - <strong>Budget-to-Minutes Delta</strong></a><li><a href=#step-3-influence-radar---stakeholder-analysis class="table-of-contents__link toc-highlight">Step 3: Influence Radar - <strong>Stakeholder Analysis</strong></a><li><a href=#step-4-deferral-pattern---temporal-voting-analysis class="table-of-contents__link toc-highlight">Step 4: Deferral Pattern - <strong>Temporal Voting Analysis</strong></a></ul><li><a href=#quantitative-why-indicators class="table-of-contents__link toc-highlight">Quantitative "Why" Indicators</a><li><a href=#implementation-files class="table-of-contents__link toc-highlight">Implementation Files</a></ul><li><a href=#-data-standards--interoperability class="table-of-contents__link toc-highlight">🌐 Data Standards & Interoperability</a><ul><li><a href=#popolo-project-alignment class="table-of-contents__link toc-highlight">Popolo Project Alignment</a><ul><li><a href=#popolo-class-mappings class="table-of-contents__link toc-highlight">Popolo Class Mappings</a><li><a href=#schemaorg-type-mappings class="table-of-contents__link toc-highlight">Schema.org Type Mappings</a><li><a href=#common-education-data-standards-ceds-alignment class="table-of-contents__link toc-highlight">Common Education Data Standards (CEDS) Alignment</a><li><a href=#microsoft-common-data-model-for-nonprofits class="table-of-contents__link toc-highlight">Microsoft Common Data Model for Nonprofits</a><li><a href=#underlying-standards class="table-of-contents__link toc-highlight">Underlying Standards</a><li><a href=#benefits-of-standards-compliance class="table-of-contents__link toc-highlight">Benefits of Standards Compliance</a><li><a href=#example-popolo-compatible-json-ld-export class="table-of-contents__link toc-highlight">Example: Popolo-Compatible JSON-LD Export</a></ul><li><a href=#open-civic-data-ocd-id-identifiers class="table-of-contents__link toc-highlight">Open Civic Data (OCD-ID) Identifiers</a></ul><li><a href=#-data-statistics class="table-of-contents__link toc-highlight">πŸ“Š Data Statistics</a><li><a href=#-see-also class="table-of-contents__link toc-highlight">οΏ½ See Also</a><li><a href=#-meeting--event-types class="table-of-contents__link toc-highlight">οΏ½πŸ“ Meeting & Event Types</a><ul><li><a href=#event-categories-in-the-meeting-entity class="table-of-contents__link toc-highlight">Event Categories in the MEETING Entity</a><ul><li><a href=#1-government-meetings-event_category-government_meeting class="table-of-contents__link toc-highlight">1. <strong>Government Meetings</strong> (<code>event_category: "government_meeting"</code>)</a><li><a href=#2-public-hearings-event_category-public_hearing class="table-of-contents__link toc-highlight">2. <strong>Public Hearings</strong> (<code>event_category: "public_hearing"</code>)</a><li><a href=#3-community-events-event_category-community_event class="table-of-contents__link toc-highlight">3. <strong>Community Events</strong> (<code>event_category: "community_event"</code>)</a><li><a href=#4-trainings-event_category-training--new class="table-of-contents__link toc-highlight">4. <strong>Trainings</strong> (<code>event_category: "training"</code>) ⭐ NEW</a></ul><li><a href=#why-trainings-matter-for-advocacy class="table-of-contents__link toc-highlight">Why Trainings Matter for Advocacy</a><li><a href=#meeting-types-within-each-category class="table-of-contents__link toc-highlight">Meeting Types Within Each Category</a></ul><li><a href=#-nonprofit-funding-source-tracking class="table-of-contents__link toc-highlight">οΏ½πŸ’° Nonprofit Funding Source Tracking</a><ul><li><a href=#revenue-source-breakdown-form-990-data class="table-of-contents__link toc-highlight">Revenue Source Breakdown (Form 990 Data)</a><ul><li><a href=#1-grant-revenue-institutional-funding class="table-of-contents__link toc-highlight">1. <strong>Grant Revenue</strong> (Institutional Funding)</a><li><a href=#2-donation-revenue-community-funding class="table-of-contents__link toc-highlight">2. <strong>Donation Revenue</strong> (Community Funding)</a><li><a href=#3-earned-revenue-self-sufficiency class="table-of-contents__link toc-highlight">3. <strong>Earned Revenue</strong> (Self-Sufficiency)</a><li><a href=#4-investment-revenue class="table-of-contents__link toc-highlight">4. <strong>Investment Revenue</strong></a><li><a href=#5-other-revenue class="table-of-contents__link toc-highlight">5. <strong>Other Revenue</strong></a></ul><li><a href=#calculated-metrics class="table-of-contents__link toc-highlight">Calculated Metrics</a><li><a href=#why-this-matters-for-advocacy class="table-of-contents__link toc-highlight">Why This Matters for Advocacy</a></ul><li><a href=#-grant-tracking-system class="table-of-contents__link toc-highlight">πŸ’΅ Grant Tracking System</a><ul><li><a href=#individual-grant-transactions-grant-entity class="table-of-contents__link toc-highlight">Individual Grant Transactions (GRANT Entity)</a><ul><li><a href=#grant-fields class="table-of-contents__link toc-highlight">Grant Fields</a><li><a href=#data-sources class="table-of-contents__link toc-highlight">Data Sources</a></ul><li><a href=#why-grant-tracking-matters class="table-of-contents__link toc-highlight">Why Grant Tracking Matters</a><ul><li><a href=#example-questions-now-answerable class="table-of-contents__link toc-highlight">Example Questions Now Answerable:</a></ul><li><a href=#dataset-structure class="table-of-contents__link toc-highlight">Dataset Structure</a></ul><li><a href=#-time-dimension-modeling class="table-of-contents__link toc-highlight">⏰ Time Dimension Modeling</a><ul><li><a href=#time-dimension-table class="table-of-contents__link toc-highlight">Time Dimension Table</a><li><a href=#temporal-relationships class="table-of-contents__link toc-highlight">Temporal Relationships</a><li><a href=#temporal-analysis-patterns class="table-of-contents__link toc-highlight">Temporal Analysis Patterns</a></ul><li><a href=#-metric-views class="table-of-contents__link toc-highlight">πŸ“Š Metric Views</a><ul><li><a href=#core-metric-view-components class="table-of-contents__link toc-highlight">Core Metric View Components</a><li><a href=#example-metric-views class="table-of-contents__link toc-highlight">Example Metric Views</a><ul><li><a href=#1-advocacy-activity-metrics class="table-of-contents__link toc-highlight">1. Advocacy Activity Metrics</a><li><a href=#2-government-spending-metrics class="table-of-contents__link toc-highlight">2. Government Spending Metrics</a><li><a href=#3-nonprofit-impact-metrics class="table-of-contents__link toc-highlight">3. Nonprofit Impact Metrics</a></ul><li><a href=#metric-view-best-practices class="table-of-contents__link toc-highlight">Metric View Best Practices</a><li><a href=#query-optimization class="table-of-contents__link toc-highlight">Query Optimization</a></ul><li><a href=#-system-internal-tables-omop-inspired-vocabulary class="table-of-contents__link toc-highlight">πŸ”§ System-Internal Tables (OMOP-Inspired Vocabulary)</a><ul><li><a href=#vocabulary-sources class="table-of-contents__link toc-highlight">Vocabulary Sources</a><li><a href=#concept-classes-for-civic-data class="table-of-contents__link toc-highlight">Concept Classes for Civic Data</a><li><a href=#example-concept-entries class="table-of-contents__link toc-highlight">Example Concept Entries</a><li><a href=#concept-relationships class="table-of-contents__link toc-highlight">Concept Relationships</a><li><a href=#implementation-in-existing-tables class="table-of-contents__link toc-highlight">Implementation in Existing Tables</a><ul><li><a href=#updated-jurisdiction-schema class="table-of-contents__link toc-highlight">Updated JURISDICTION Schema</a><li><a href=#updated-organization-schema class="table-of-contents__link toc-highlight">Updated ORGANIZATION Schema</a><li><a href=#updated-demographics-schema class="table-of-contents__link toc-highlight">Updated DEMOGRAPHICS Schema</a></ul><li><a href=#benefits-of-omop-style-vocabulary class="table-of-contents__link toc-highlight">Benefits of OMOP-Style Vocabulary</a><li><a href=#etl-mapping-strategy class="table-of-contents__link toc-highlight">ETL Mapping Strategy</a><li><a href=#downloading-ohdsi-athena-vocabularies class="table-of-contents__link toc-highlight">Downloading OHDSI Athena Vocabularies</a></ul><li><a href=#-missing-datasets-to-add class="table-of-contents__link toc-highlight">🎯 Missing Datasets to Add</a><ul><li><a href=#high-priority class="table-of-contents__link toc-highlight">High Priority</a><li><a href=#medium-priority class="table-of-contents__link toc-highlight">Medium Priority</a><li><a href=#integration-improvements class="table-of-contents__link toc-highlight">Integration Improvements</a></ul><li><a href=#-implementation-status class="table-of-contents__link toc-highlight">πŸš€ Implementation Status</a><ul><li><a href=#-completed class="table-of-contents__link toc-highlight">βœ… Completed</a><li><a href=#-in-progress class="table-of-contents__link toc-highlight">πŸ”¨ In Progress</a><li><a href=#-planned class="table-of-contents__link toc-highlight">πŸ“‹ Planned</a></ul><li><a href=#-related-documentation class="table-of-contents__link toc-highlight">πŸ“š Related Documentation</a><ul><li><a href=#data-standards--specifications class="table-of-contents__link toc-highlight">Data Standards & Specifications</a><li><a href=#internal-documentation class="table-of-contents__link toc-highlight">Internal Documentation</a></ul></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Documentation</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/docs/intro>Getting Started</a><li class=footer__item><a class=footer__link-item href=/docs/data-sources/citations>Citations & Data Sources</a><li class=footer__item><a class=footer__link-item href=/docs/data-sources/overview>Data Sources</a><li class=footer__item><a class=footer__link-item href=/docs/for-developers>For Developers</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Resources</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.communityone.com target=_blank rel="noopener noreferrer" class=footer__link-item>Launch Open Navigator<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://github.com/getcommunityone/open-navigator-for-engagement target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.groundvue.org/ target=_blank rel="noopener noreferrer" class=footer__link-item>GroundVue (Partner)<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.instagram.com/getcommunityone/ target=_blank rel="noopener noreferrer" class=footer__link-item>Instagram<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.facebook.com/getcommunityone target=_blank rel="noopener noreferrer" class=footer__link-item>Facebook<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://x.com/getcommunityone/ target=_blank rel="noopener noreferrer" class=footer__link-item>X (Twitter)<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.linkedin.com/company/getcommunityone target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.youtube.com/@getcommunityone target=_blank rel="noopener noreferrer" class=footer__link-item>YouTube<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://discord.gg/uH6Dytek target=_blank rel="noopener noreferrer" class=footer__link-item>Discord<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Legal</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/docs/legal/privacy-policy>Privacy Policy</a><li class=footer__item><a class=footer__link-item href=/docs/legal/terms-of-service>Terms of Service</a><li class=footer__item><a class=footer__link-item href=/docs/legal/data-provider-terms>Data Provider Terms</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/blog>Blog</a><li class=footer__item><a href=https://github.com/getcommunityone/open-navigator-for-engagement/blob/main/LICENSE target=_blank rel="noopener noreferrer" class=footer__link-item>License (MIT)<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright Β© 2026 Community One. Built with Docusaurus.</div></div></div></footer></div></body>