Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
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:<country_code>/<type>:<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: <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> |