jcbowyer's picture
Deploy: Consolidated gold tables, fixed nginx docs routing
3d16fe6 verified
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-data-sources/data-model-erd" data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.10.0"><title data-rh=true>Data Model & Entity Relationship Diagram | Open Navigator</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"/><meta data-rh=true property=og:image content=https://www.communityone.com/img/docusaurus-social-card.jpg /><meta data-rh=true name=twitter:image content=https://www.communityone.com/img/docusaurus-social-card.jpg /><meta data-rh=true property=og:url content=https://www.communityone.com/docs/data-sources/data-model-erd /><meta data-rh=true property=og:locale content=en /><meta data-rh=true name=docusaurus_locale content=en /><meta data-rh=true name=docsearch:language content=en /><meta data-rh=true name=keywords content="civic engagement, policy tracking, meeting minutes, nonprofit tracking, municipal government, advocacy, open data, local government"/><meta data-rh=true property=og:type content=website /><meta data-rh=true property=og:site_name content="Open Navigator"/><meta data-rh=true name=twitter:card content=summary_large_image /><meta data-rh=true name=docusaurus_version content=current /><meta data-rh=true name=docusaurus_tag content=docs-default-current /><meta data-rh=true name=docsearch:version content=current /><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current /><meta data-rh=true property=og:title content="Data Model & Entity Relationship Diagram | Open Navigator"/><meta data-rh=true name=description content="Comprehensive overview of all data entities extracted, processed, and uploaded to HuggingFace datasets."/><meta data-rh=true property=og:description content="Comprehensive overview of all data entities extracted, processed, and uploaded to HuggingFace datasets."/><link data-rh=true rel=icon href=/img/favicon.ico /><link data-rh=true rel=canonical href=https://www.communityone.com/docs/data-sources/data-model-erd /><link data-rh=true rel=alternate href=https://www.communityone.com/docs/data-sources/data-model-erd hreflang=en /><link data-rh=true rel=alternate href=https://www.communityone.com/docs/data-sources/data-model-erd hreflang=x-default /><script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://www.communityone.com/docs/data-sources/data-model-erd","name":"Data Model & Entity Relationship Diagram","position":1}]}</script><link rel=alternate type=application/rss+xml href=/blog/rss.xml title="Open Navigator RSS Feed"><link rel=alternate type=application/atom+xml href=/blog/atom.xml title="Open Navigator Atom Feed"><link rel=preconnect href=https://www.google-analytics.com><link rel=preconnect href=https://www.googletagmanager.com><script async src="https://www.googletagmanager.com/gtag/js?id=G-5EQV815915"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-5EQV815915",{anonymize_ip:!0})</script><link rel=stylesheet href=/assets/css/styles.c89d6b2d.css /><script src=/assets/js/runtime~main.c8fa085e.js defer></script><script src=/assets/js/main.6e24e536.js defer></script></head><body><svg style="display: none;"><defs>
<symbol id=theme-svg-external-link viewBox="0 0 24 24"><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme-7e9")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><link rel=preload as=image href=/img/communityone_logo.svg /><script type=application/ld+json>{"@context":"https://schema.org","@type":"Organization","address":{"@type":"PostalAddress","addressCountry":"US","addressLocality":"Tuscaloosa","addressRegion":"AL","postalCode":"35406","streetAddress":"5617 Lakeridge Court"},"contactPoint":{"@type":"ContactPoint","availableLanguage":["English"],"contactType":"Customer Service","email":"johnbowyer@communityone.com"},"description":"Track 90,000+ jurisdictions, 1.8M nonprofits, and analyze meeting minutes with AI. The open path to everything local.","email":"johnbowyer@communityone.com","legalName":"CommunityOne","logo":"https://www.communityone.com/img/communityone_logo.svg","name":"CommunityOne","sameAs":["https://www.facebook.com/communityone","https://www.instagram.com/communityone","https://twitter.com/communityone","https://www.linkedin.com/company/communityone","https://www.youtube.com/@communityone","https://discord.gg/communityone","https://github.com/getcommunityone/open-navigator"],"url":"https://www.communityone.com"}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"WebSite","alternateName":"CommunityOne Open Navigator","description":"AI-powered civic engagement platform tracking jurisdictions, nonprofits, and government meetings","name":"Open Navigator","potentialAction":{"@type":"SearchAction","query-input":"required name=search_term_string","target":{"@type":"EntryPoint","urlTemplate":"https://www.communityone.com/search?q={search_term_string}"}},"url":"https://www.communityone.com"}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"SoftwareApplication","aggregateRating":{"@type":"AggregateRating","ratingCount":"1","ratingValue":"5"},"applicationCategory":"BusinessApplication","description":"Track 90,000+ jurisdictions, 1.8M nonprofits, and analyze meeting minutes with AI","featureList":["Track 90,000+ jurisdictions","Monitor 1.8M nonprofits","Analyze meeting minutes","Legislative bill tracking","Campaign finance data"],"name":"Open Navigator","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"},"operatingSystem":"Web","screenshot":"https://www.communityone.com/img/docusaurus-social-card.jpg","softwareVersion":"1.0.0"}</script><div role=region aria-label="Skip to main content"><a class=skipToContent_fXgn href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a href=https://www.communityone.com target=_self rel="noopener noreferrer" class=navbar__brand><div class=navbar__logo><img src=/img/communityone_logo.svg alt="CommunityOne Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"/><img src=/img/communityone_logo.svg alt="CommunityOne Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"/></div><b class="navbar__title text--truncate">Open Navigator Home</b></a><a class="navbar__item navbar__link" href=/docs/intro>Getting Started</a><a class="navbar__item navbar__link" href=/docs/for-families>Families & Individuals</a><a class="navbar__item navbar__link" href=/docs/for-advocates>Policy Makers</a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/docs/for-developers>Developers</a><a class="navbar__item navbar__link" href=/docs/data-sources/citations>Data and Terms</a><a class="navbar__item navbar__link" href=/blog>Blog</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href=https://github.com/getcommunityone/open-navigator-for-engagement target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type=button disabled title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill=currentColor d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill=currentColor d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill=currentColor d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"/></svg></button></div><div class=navbarSearchContainer_Bca1></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class=docsWrapper_hBAB><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type=button></button><div class=docRoot_UBD9><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class=sidebarViewport_aRkj><div class=sidebar_njMd><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true href=/docs/for-developers><span title="Developers & Technical Users" class=categoryLinkLabel_W154>Developers & Technical Users</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/docs/for-developers><span title="For Developers & Technical Users" class=linkLabel_WmDU>For Developers & Technical Users</span></a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/quickstart><span title="Setup & Installation" class=categoryLinkLabel_W154>Setup & Installation</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role=button aria-expanded=true tabindex=0 href=/docs/data-sources/citations><span title="Data Sources (Technical)" class=categoryLinkLabel_W154>Data Sources (Technical)</span></a></div><ul class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/citations><span title="Data and Citations" class=linkLabel_WmDU>Data and Citations</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/legal-compliance><span title="Legal & Compliance" class=linkLabel_WmDU>Legal & Compliance</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/docs/data-sources/data-model-erd><span title="Data Model & Entity Relationship Diagram" class=linkLabel_WmDU>Data Model & Entity Relationship Diagram</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/jurisdiction-discovery><span title="Jurisdiction Discovery System" class=linkLabel_WmDU>Jurisdiction Discovery System</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/census-data><span title="Census Bureau Data URL Fix" class=linkLabel_WmDU>Census Bureau Data URL Fix</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/huggingface-datasets><span title="βœ… Confirmed: HuggingFace Datasets That WILL Help" class=linkLabel_WmDU>βœ… Confirmed: HuggingFace Datasets That WILL Help</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/url-datasets><span title="🎯 ANSWER: Yes, You Should Look at Those Datasets!" class=linkLabel_WmDU>🎯 ANSWER: Yes, You Should Look at Those Datasets!</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/youtube-discovery><span title="YouTube Channel Discovery - Issues & Solutions" class=linkLabel_WmDU>YouTube Channel Discovery - Issues & Solutions</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/video-channels><span title="Video Channel Discovery: Current State & Enhancement Plan" class=linkLabel_WmDU>Video Channel Discovery: Current State & Enhancement Plan</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/open-source-repositories><span title="Open Source Repository Data Sources" class=linkLabel_WmDU>Open Source Repository Data Sources</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/ballot-election-sources><span title="Ballot Measures & Election Results" class=linkLabel_WmDU>Ballot Measures & Election Results</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/polling-survey-sources><span title="Public Opinion & Survey Data" class=linkLabel_WmDU>Public Opinion & Survey Data</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class=menu__link tabindex=0 href=/docs/data-sources/factcheck-sources><span title="Fact-Checking & Claim Verification" class=linkLabel_WmDU>Fact-Checking & Claim Verification</span></a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/guides/jurisdiction-setup><span title="How-To Guides" class=categoryLinkLabel_W154>How-To Guides</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/integrations/mcp-server><span title=Integrations class=categoryLinkLabel_W154>Integrations</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/deployment/databricks-apps><span title=Deployment class=categoryLinkLabel_W154>Deployment</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false tabindex=0 href=/docs/development/database-setup><span title=Development class=categoryLinkLabel_W154>Development</span></a></div></ul></ul></nav></div></div></aside><main class=docMainContainer_TBSr><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_VOVn"><div class=docItemContainer_Djhp><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label=Breadcrumbs><ul class=breadcrumbs><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_YNFT><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li class=breadcrumbs__item><span class=breadcrumbs__link>Developers & Technical Users</span><li class=breadcrumbs__item><span class=breadcrumbs__link>Data Sources (Technical)</span><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Data Model & Entity Relationship Diagram</span></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type=button class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Data Model & Entity Relationship Diagram</h1></header>
<p>Comprehensive overview of all data entities extracted, processed, and uploaded to HuggingFace datasets.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-huggingface-dataset-structure>οΏ½ HuggingFace Dataset Structure<a href=#-huggingface-dataset-structure class=hash-link aria-label="Direct link to οΏ½ HuggingFace Dataset Structure" title="Direct link to οΏ½ HuggingFace Dataset Structure" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=current-datasets-being-uploaded>Current Datasets Being Uploaded<a href=#current-datasets-being-uploaded class=hash-link aria-label="Direct link to Current Datasets Being Uploaded" title="Direct link to Current Datasets Being Uploaded" translate=no>​</a></h3>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">open-navigator-data/</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ jurisdictions/ # πŸ›οΈ Core jurisdiction data</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ cities # 19,000+ incorporated places</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ counties # 3,144 U.S. counties</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ states # 50 states + DC, territories</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ school_districts # 13,000+ districts (NCES data)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── census_data # Basic FIPS codes & census year reference</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ demographics/ # πŸ‘₯ Comprehensive demographic data (U.S. Census)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ population # Total population, age distribution</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ race_ethnicity # Race and ethnicity breakdowns</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ income_economics # Income, poverty, SNAP benefits</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ education # Educational attainment levels</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ housing # Housing units, ownership, values</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ employment # Unemployment, labor force participation</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── health_insurance # Insurance coverage (uninsured, Medicaid, Medicare)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ social/ # πŸ“± Social media presence</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ twitter # Twitter/X accounts</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ facebook # Facebook pages</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ instagram # Instagram accounts</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── linkedin # LinkedIn pages</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ videos/ # πŸ“Ή Video & streaming platforms</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ youtube_channels # Government YouTube channels</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ vimeo # Vimeo accounts</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── livestreams # Live meeting streams</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ platforms/ # πŸ–₯️ Meeting management systems</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ legistar # Legistar URLs</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ granicus # Granicus links</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ suiteone # SuiteOne systems</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── civicplus # CivicPlus platforms</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ domains/ # 🌐 Official government websites</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ gsa_domains # .gov domain registry</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ municipal_websites # City/county websites</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── state_portals # State government sites</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ events/ # πŸ“‹ Meetings, Hearings & Public Events</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ events # Government meetings, public hearings, community forums, town halls</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ event_participants # Officials and organizations participating in events</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ event_agenda_items # Individual agenda topics discussed</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ event_documents # Agendas, minutes, presentations, handouts</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ event_media # Video recordings, livestreams, audio files</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── event_bills # Bills discussed or considered at meetings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ contacts/ # πŸ‘₯ All People - Officials, Candidates, Donors, Constituents</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ officials # Elected and appointed officials (mayors, council members, legislators)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ official_roles # Current and historical positions held</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ official_contacts # Email, phone, office addresses</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ official_identifiers # External IDs (Twitter, OpenStates, Ballotpedia)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ official_links # Websites, social media profiles</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ candidates # Political candidates (House, Senate, President - FEC data)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ nonprofit_donors # Nonprofit leadership political giving (FEC analysis)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── constituents # Donors, volunteers, members, beneficiaries (all people)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ nonprofits/ # 🏒 Nonprofit organizations & churches</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ irs_eobmf # IRS EO-BMF bulk data (1.9M+ organizations) - PRIMARY SOURCE</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ irs_nonprofits # Legacy IRS 990 data (deprecated - use irs_eobmf)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ propublica_data # ProPublica API (financials, NTEE codes)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ everyorg_data # Every.org API (missions, causes, logos)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ nonprofit_990s # Detailed Form 990 financials (yearly filings)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ congregations # πŸ› Church & congregation data (ARDA, HIFLD, NCS)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ constituents # 🀝 Donors, volunteers, members, beneficiaries (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ donations # πŸ’ Financial contributions and in-kind gifts (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ campaigns # πŸ“£ Fundraising campaigns and appeals (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ memberships # 🎫 Member enrollment and renewals (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ volunteer_activities # πŸ™‹ Volunteer hours and activities (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ program_delivery # 🎯 Programs and services delivered (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── program_outcomes # πŸ“Š Impact metrics and outcome measurements (Microsoft CDM)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ grants/ # πŸ’΅ Grant funding transactions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ nonprofit_grants # Grants to nonprofits (from 990 Schedule I)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ government_grants # Government grants to orgs/jurisdictions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ foundation_grants # Private foundation grants</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── federal_grants # Federal funding programs</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ causes/ # 🎯 Cause & category taxonomy</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ ntee_codes # IRS NTEE classification system</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── everyorg_causes # Every.org cause tags</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ budgets/ # πŸ’° Government budgets & finances</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ city_budgets # City/municipal budgets & spending</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ county_budgets # County budgets & expenditures</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ state_budgets # State government finances</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ school_budgets # School district finances (NCES F-33)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bond_debt # Municipal bonds & debt obligations</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ budget_line_items # πŸ“Š Detailed budget categories & line items</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── budget_deltas # πŸ” Budget-to-Minutes Delta analysis (political economy)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ decisions/ # βš–οΈ Policy decisions & political economy analysis</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ policy_decisions # Extracted decisions from meetings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ decision_frames # Frame analysis (rhetoric patterns)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ decision_options # Options considered & rejected</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ decision_tradeoffs # Tradeoffs discussed (cost vs benefit, etc.)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ stakeholder_positions # πŸ‘₯ Who spoke for/against (Influence Radar)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ decision_votes # Detailed vote records per decision</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ deferral_patterns # πŸ“… Stalling detection (same topic, multiple deferrals)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ deferral_instances # Individual tabling events linked to patterns</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ keyword_density # Quantitative indicators (grant/taxpayer/emergency)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── deferral_patterns # Tabled/delayed decisions (temporal analysis)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ elections/ # πŸ“… Election cycles & temporal analysis</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ election_cycles # Election dates & periods</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── election_influences # Pre/post-election decision patterns</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ campaigns/ # πŸ’° Political campaign finance (FEC data)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ committees # PACs, Super PACs, campaign committees</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── contributions # Individual political contributions $200+</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ civic/ # πŸ—³οΈ Google Civic & Wikidata</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ civic_divisions # OCD divisions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ representatives # From Google Civic API</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ wikidata_entities # Structured entities</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── dbpedia_resources # Wikipedia infobox data</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ ballots/ # πŸ—³οΈ Ballot initiatives & referendums</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ state_measures # State propositions (fluoridation votes!)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ local_measures # City/county ballot questions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── election_results # Historical voting outcomes</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ bills/ # πŸ“œ Legislation & Lawmaking</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bills # Bills and resolutions (1.5M+ from all 50 states)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bill_actions # Bill history (introduced, committee, floor vote, signed)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bill_sponsorships # Primary sponsors and co-sponsors</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bill_abstracts # Bill summaries and descriptions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bill_versions # Different versions of bill text (introduced, amended, enrolled)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bill_version_links # Links to PDF/HTML bill text</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bill_documents # Supporting documents (fiscal notes, amendments, analysis)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bill_document_links # Links to supporting documents</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ bill_subjects # Subject/topic tags per bill</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ legislative_sessions # Session identifiers (2023 Regular, 2024 Special, etc.)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ vote_events # Roll call votes on bills</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ vote_counts # Vote tallies (yes, no, abstain, absent)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── individual_votes # Individual legislator votes (yes/no/abstain)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ topics/ # 🎯 Advocacy causes & campaigns</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ topic_definitions # Validated survey questions from Roper Center</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ survey_questions # Public opinion question wording library</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ jurisdiction_topics # What each city is discussing</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── advocacy_alerts # Opportunities for engagement</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ surveys/ # πŸ“Š Public opinion research & polling data</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ survey_providers # Polling organizations (Gallup, Pew, Roper, etc.)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ survey_studies # Individual survey studies/waves</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ survey_variables # Questions/items asked in surveys</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ survey_responses # Aggregate and individual response data</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ ipoll_metadata # Roper iPoll catalog metadata</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── survey_crosstabs # Breakdowns by demographics, geography</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ factchecks/ # βœ… Fact-checking & claim verification</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ claim_reviews # Google Fact Check API (ClaimReview schema)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ politifact # PolitiFact Truth-O-Meter ratings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ factcheck_org # FactCheck.org verified claims</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── verified_claims # Aggregated fact-check database</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ civic_tech/ # πŸ’» Open source projects & hackathons</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ github_repositories # Civic tech projects (GitHub API)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ project_metadata # Code for America, USDR, Civic Tech Field Guide</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ contributors # Maintainers and core contributors</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ project_issues # Good first issues, contribution opportunities</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ hackathons # Civic hackathon events</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ hackathon_projects # Projects built at hackathons</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ brigade_chapters # Code for America brigade locations</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── project_funding # GitHub Sponsors, grants, OpenCollective</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ community_solutions/ # 🌟 Community engagement & use cases</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ engagement_spectrum # Spectrum of Community Engagement to Ownership</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ use_case_catalog # Harvard Data-Smart City Solutions examples</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ data_academies # Brookings Institution training programs</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ success_stories # Real-world outcomes (Providence, Portland, Tempe)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ metric_templates # Pre-built analytics for common challenges</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── workflow_guides # Step-by-step community data workflows</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ analytics/ # πŸ“Š Time dimensions & metric views</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ date_dimension # Date/time reference table (YYYY-MM-DD, day_of_week, fiscal_year)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ temporal_relationships # Time-series joins for all entities</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ metric_views # Pre-computed analytics (advocacy, spending, nonprofit impact)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ aggregated_stats # Monthly/quarterly/yearly rollups</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── dashboard_metrics # Real-time dashboard data feeds</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ standards/ # 🌐 Schema.org, Popolo, CEDS, IATI exports</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ schema_org_jsonld # JSON-LD exports (Event, Person, Organization, Legislation, ClaimReview)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ popolo_exports # Popolo-compliant JSON (Person, Organization, Membership, VoteEvent)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ ceds_aligned # CEDS-compliant education data (Element IDs, Option Sets)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ ocd_divisions # Open Civic Data division IDs</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ iati_activities # IATI Standard v2.03 XML (programs, grants, humanitarian aid)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── rdf_triples # RDF/Turtle semantic web exports</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ vocabulary/ # πŸ”§ OMOP-inspired concept & terminology (SYSTEM-INTERNAL)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ concept # Master concept table (cities, causes, officials)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ vocabulary # Vocabulary sources (OCD_ID, IRS_NTEE, US_Census)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ concept_class # Concept classifications (City, County, 501c3, Mayor)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ β”œβ”€β”€ concept_relationship # Relationships (City β†’ County, Topic β†’ Legislation)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚ └── domain # Domain groupings (Jurisdiction, Nonprofit, Policy)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”‚</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">└── exports/ # πŸ“€ API-ready formatted exports</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β”œβ”€β”€ csv_bulk # CSV downloads for all datasets</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β”œβ”€β”€ json_api # REST API JSON responses</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β”œβ”€β”€ graphql_schema # GraphQL schema definitions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> └── parquet_optimized # Compressed Parquet (default format)</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=parquet-file-naming-convention>Parquet File Naming Convention<a href=#parquet-file-naming-convention class=hash-link aria-label="Direct link to Parquet File Naming Convention" title="Direct link to Parquet File Naming Convention" translate=no>​</a></h3>
<p><strong>Rule:</strong> Use underscores (<code>_</code>) consistently, NOT hyphens (<code>-</code>)</p>
<p><strong>Format:</strong> <code>{category}_{subcategory}.parquet</code></p>
<p><strong>Examples:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">βœ… CORRECT (using underscores):</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions_cities.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions_counties.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions_states.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions_school_districts.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">social_twitter.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">social_facebook.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">videos_youtube_channels.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">events_events.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_officials.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bills.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_organizations.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_financials.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_programs.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_locations.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_irs_eobmf.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_constituents.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_donations.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_campaigns.parquet # Nonprofit fundraising campaigns (NOT political)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_candidates.parquet # Political candidates (FEC)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_nonprofit_donors.parquet # Nonprofit leadership political giving (FEC analysis)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_constituents.parquet # Donors, volunteers, members, beneficiaries</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">campaigns_committees.parquet # Political committees/PACs (FEC)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">campaigns_contributions.parquet # Political contributions (FEC)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_memberships.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_volunteer_activities.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_program_delivery.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">nonprofits_program_outcomes.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">grants_federal_grants.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_officials.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_official_roles.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_official_contacts.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_official_identifiers.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_official_links.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_candidates.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_nonprofit_donors.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">contacts_constituents.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bills.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_actions.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_sponsorships.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_abstracts.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_versions.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_version_links.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_documents.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_document_links.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_bill_subjects.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_legislative_sessions.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_vote_events.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_vote_counts.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">bills_individual_votes.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">events.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_participants.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_agenda_items.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_documents.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_media.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">event_bills.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">budgets_city_budgets.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_national_polls.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_roper_questions.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_survey_providers.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_survey_studies.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_survey_variables.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_survey_responses.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys_ipoll_metadata.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">factchecks_claim_reviews.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">factchecks_politifact.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">analytics_date_dimension.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">analytics_metric_views.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">analytics_temporal_relationships.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards_schema_org_jsonld.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards_popolo_exports.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards_ceds_aligned.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards_iati_activities.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">vocabulary_concept.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">vocabulary_vocabulary.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">vocabulary_concept_class.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">vocabulary_concept_relationship.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">❌ INCORRECT (using hyphens):</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">jurisdictions-cities.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">social-twitter.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">meetings-government-meetings.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">surveys-national-polls.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">factchecks-claim-reviews.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">analytics-date-dimension.parquet</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">standards-schema-org.parquet</span><br/></div></code></pre></div></div>
<p><strong>Why Underscores?</strong></p>
<ul>
<li class="">βœ… Python-friendly variable names (can use <code>data.jurisdictions_cities</code>)</li>
<li class="">βœ… SQL-compatible column names</li>
<li class="">βœ… Consistent with folder structure (<code>school_districts</code>, not <code>school-districts</code>)</li>
<li class="">βœ… Better for programmatic access</li>
<li class="">βœ… Avoids shell escaping issues</li>
</ul>
<p><strong>Repository Name Exception:</strong></p>
<ul>
<li class="">HuggingFace repo: <code>CommunityOne/open-navigator-data</code> (hyphen is fine for URLs)</li>
<li class="">File names inside repo: Use underscores (<code>jurisdictions_cities.parquet</code>)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-data-extraction-pipeline>πŸ”„ Data Extraction Pipeline<a href=#-data-extraction-pipeline class=hash-link aria-label="Direct link to πŸ”„ Data Extraction Pipeline" title="Direct link to πŸ”„ Data Extraction Pipeline" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=phase-1-discovery-bronze-layer>Phase 1: Discovery (Bronze Layer)<a href=#phase-1-discovery-bronze-layer class=hash-link aria-label="Direct link to Phase 1: Discovery (Bronze Layer)" title="Direct link to Phase 1: Discovery (Bronze Layer)" translate=no>​</a></h3>
<ol>
<li class=""><strong>Census Data</strong> β†’ Jurisdictions list</li>
<li class=""><strong>GSA Domains</strong> β†’ Government websites</li>
<li class=""><strong>NCES</strong> β†’ School districts with financial data (F-33 forms)</li>
<li class=""><strong>IRS EO-BMF</strong> β†’ ALL 1.9M+ U.S. tax-exempt organizations (PRIMARY SOURCE)</li>
<li class=""><strong>IRS TEOS</strong> β†’ Legacy nonprofit EINs (deprecated - use IRS EO-BMF)</li>
<li class=""><strong>Census of Governments</strong> β†’ Municipal budgets & finances</li>
<li class=""><strong>URL Discovery</strong> β†’ Meeting platforms, YouTube, budget PDFs</li>
<li class=""><strong>Social Media</strong> β†’ Twitter, Facebook accounts</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=phase-2-enrichment-silver-layer>Phase 2: Enrichment (Silver Layer)<a href=#phase-2-enrichment-silver-layer class=hash-link aria-label="Direct link to Phase 2: Enrichment (Silver Layer)" title="Direct link to Phase 2: Enrichment (Silver Layer)" translate=no>​</a></h3>
<ol>
<li class=""><strong>IRS EO-BMF</strong> β†’ Complete nonprofit registry with 28 data fields per organization</li>
<li class=""><strong>ProPublica Nonprofit Explorer</strong> β†’ Enhanced financial data, detailed 990 filings</li>
<li class=""><strong>Every.org API</strong> β†’ Nonprofit causes, missions, logos</li>
<li class=""><strong>ARDA (Association of Religion Data Archives)</strong> β†’ Congregation characteristics, health ministries</li>
<li class=""><strong>HIFLD Places of Worship</strong> β†’ Geospatial church locations (350K+ congregations)</li>
<li class=""><strong>National Congregations Study</strong> β†’ Social service provision patterns</li>
<li class=""><strong>NCES F-33 Finance Survey</strong> β†’ School district budgets, per-pupil spending</li>
<li class=""><strong>Census Annual Survey</strong> β†’ State/local government finances</li>
<li class=""><strong>Municipal Securities Rulemaking Board (EMMA)</strong> β†’ Bond debt data</li>
<li class=""><strong>YouTube API</strong> β†’ Channel statistics</li>
<li class=""><strong>Open States PostgreSQL Database</strong> β†’ Complete legislative data (~10 GB monthly dump)<!-- -->
<ul>
<li class=""><strong>8,600+ people</strong> (legislators, governors, mayors) across all 50 states + DC + Puerto Rico</li>
<li class=""><strong>1.5M+ bills</strong> with full text and history</li>
<li class=""><strong>13M+ bill actions</strong> (introduced, committee, amendments, floor votes, signed)</li>
<li class=""><strong>7.2M+ sponsorships</strong> (primary sponsors and co-sponsors)</li>
<li class=""><strong>3.5M+ bill versions</strong> (as introduced, committee substitute, enrolled, enacted)</li>
<li class=""><strong>180K+ events</strong> (legislative meetings, hearings, committee sessions)</li>
<li class=""><strong>835K+ event participants</strong> (who spoke, testified, or attended)</li>
<li class=""><strong>524K+ agenda items</strong> from meetings</li>
<li class=""><strong>Vote events</strong> with individual legislator positions</li>
<li class=""><strong>Organizations</strong> (legislative bodies, committees)</li>
<li class=""><strong>Jurisdictions</strong> (states, territories)</li>
<li class="">Updated monthly from <a href=https://data.openstates.org/postgres/monthly/ target=_blank rel="noopener noreferrer" class="">https://data.openstates.org/postgres/monthly/</a></li>
</ul>
</li>
<li class=""><strong>OpenStates People Repository</strong> β†’ Current legislator contact info<!-- -->
<ul>
<li class="">GitHub repo: <a href=https://github.com/openstates/people target=_blank rel="noopener noreferrer" class="">https://github.com/openstates/people</a></li>
<li class="">YAML files with email, phone, district offices</li>
<li class="">Social media profiles and website links</li>
<li class="">Updated daily via automated scrapers</li>
</ul>
</li>
<li class=""><strong>Wikidata SPARQL</strong> β†’ Entity relationships</li>
<li class=""><strong>DBpedia</strong> β†’ Wikipedia structured data</li>
<li class=""><strong>Google Civic</strong> β†’ Representatives</li>
<li class=""><strong>OpenFEC API</strong> β†’ Political contributions, candidates, committees (campaign finance)</li>
<li class=""><strong>GitHub API</strong> β†’ Civic tech projects, contributors, issues</li>
<li class=""><strong>Civic Tech Field Guide</strong> β†’ Curated project taxonomy</li>
<li class=""><strong>Code for America</strong> β†’ Brigade projects and hackathons</li>
<li class=""><strong>Digital Public Goods Alliance</strong> β†’ DPG-certified open source projects</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=phase-3-processing-gold-layer>Phase 3: Processing (Gold Layer)<a href=#phase-3-processing-gold-layer class=hash-link aria-label="Direct link to Phase 3: Processing (Gold Layer)" title="Direct link to Phase 3: Processing (Gold Layer)" translate=no>​</a></h3>
<ol>
<li class=""><strong>Meeting Extraction</strong> β†’ Agenda/minutes text</li>
<li class=""><strong>Video Transcripts</strong> β†’ YouTube captions</li>
<li class=""><strong>Document Analysis</strong> β†’ Keyword detection</li>
<li class=""><strong>Relationship Mapping</strong> β†’ Entity connections</li>
<li class=""><strong>Oral Health Filtering</strong> β†’ Topic classification</li>
<li class=""><strong>Temporal Indexing</strong> β†’ Date dimension table, time-series relationships</li>
<li class=""><strong>Metric View Creation</strong> β†’ Pre-computed analytics (advocacy activity, government spending, nonprofit impact)</li>
<li class=""><strong>Schema.org JSON-LD</strong> β†’ Structured data exports (Event, Person, Organization, Legislation, ClaimReview)</li>
<li class=""><strong>Popolo Compliance</strong> β†’ Open government standard exports (Person, Organization, Membership, VoteEvent)</li>
<li class=""><strong>CEDS Alignment</strong> β†’ Education data mapping to NCES Element IDs and Option Sets</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=new-dataset-categories-explained>New Dataset Categories Explained<a href=#new-dataset-categories-explained class=hash-link aria-label="Direct link to New Dataset Categories Explained" title="Direct link to New Dataset Categories Explained" translate=no>​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=-analytics-datasets>πŸ“Š Analytics Datasets<a href=#-analytics-datasets class=hash-link aria-label="Direct link to πŸ“Š Analytics Datasets" title="Direct link to πŸ“Š Analytics Datasets" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Enable time-series analysis, trend detection, and dashboard metrics without complex SQL queries.</p>
<table><thead><tr><th>Dataset<th>Description<th>Refresh Frequency<tbody><tr><td><code>analytics_date_dimension</code><td>Calendar reference table with fiscal years, quarters, day-of-week, holidays<td>Static (updated annually)<tr><td><code>analytics_temporal_relationships</code><td>Pre-joined date keys for all time-based entities (meetings, votes, budgets, filings)<td>Daily<tr><td><code>analytics_metric_views</code><td>Pre-computed analytics like advocacy_activity, government_spending, nonprofit_impact<td>Hourly<tr><td><code>analytics_aggregated_stats</code><td>Monthly/quarterly/yearly rollups (meeting counts, budget totals, grant sums)<td>Daily<tr><td><code>analytics_dashboard_metrics</code><td>Real-time feeds for dashboards (active meetings today, trending topics, hot ballot measures)<td>Every 5 minutes</table>
<p><strong>Example Use Case:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Instead of complex joins, use metric view:</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> analytics_metric_views </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> metric_name </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'advocacy_activity'</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'ocd-division/country:us/state:al/place:birmingham'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> date_period </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2024-Q1'</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=-standards-compliant-exports>🌐 Standards-Compliant Exports<a href=#-standards-compliant-exports class=hash-link aria-label="Direct link to 🌐 Standards-Compliant Exports" title="Direct link to 🌐 Standards-Compliant Exports" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Maximum interoperability with civic tech platforms, search engines, and semantic web tools.</p>
<table><thead><tr><th>Dataset<th>Standard<th>Use Case<th>Consumers<tbody><tr><td><code>standards_schema_org_jsonld</code><td>Schema.org JSON-LD<td>Google Search rich results, voice assistants<td>Google, Bing, Alexa, Siri<tr><td><code>standards_popolo_exports</code><td>Popolo Project<td>Civic tech platform integration<td>mySociety, OpenNorth, Sunlight Foundation<tr><td><code>standards_ceds_aligned</code><td>Common Education Data Standards<td>Education data exchange, NCES reporting<td>State education depts, Ed-Fi, IMS Global<tr><td><code>standards_ocd_divisions</code><td>Open Civic Data IDs<td>Cross-platform jurisdiction referencing<td>Google Civic, Ballotpedia, Vote Smart<tr><td><code>standards_rdf_triples</code><td>RDF/Turtle<td>Linked open data, knowledge graphs<td>DBpedia, Wikidata, SPARQL endpoints</table>
<p><strong>Example Schema.org Export:</strong></p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-json codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@context"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://schema.org"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"GovernmentOrganization"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham City Council"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"address"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"PostalAddress"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"addressLocality"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"addressRegion"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"AL"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"event"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Event"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Regular City Council Meeting"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"startDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-15T18:00:00-06:00"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>}</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=-fact-checking-datasets>βœ… Fact-Checking Datasets<a href=#-fact-checking-datasets class=hash-link aria-label="Direct link to βœ… Fact-Checking Datasets" title="Direct link to βœ… Fact-Checking Datasets" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Verify claims made in meetings, legislation, and political speech.</p>
<table><thead><tr><th>Dataset<th>Source<th>Fields<th>Update Frequency<tbody><tr><td><code>factchecks_claim_reviews</code><td>Google Fact Check API<td>claimReviewed, reviewRating, author, datePublished<td>Daily<tr><td><code>factchecks_politifact</code><td>PolitiFact web scraping<td>claim, ruling, truth_o_meter, context<td>Daily<tr><td><code>factchecks_factcheck_org</code><td>FactCheck.org API/scraping<td>claim, verdict, analysis, sources<td>Daily<tr><td><code>factchecks_verified_claims</code><td>Aggregated + deduplicated<td>claim_text, consensus_rating, verification_sources<td>Daily</table>
<p><strong>Integration with Meetings:</strong></p>
<ul>
<li class="">Cross-reference meeting transcripts with verified claims</li>
<li class="">Flag unverified statements in legislative debates</li>
<li class="">Track politician accuracy scores over time</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-complete-data-model-erd>οΏ½πŸ“Š Complete Data Model (ERD)<a href=#-complete-data-model-erd class=hash-link aria-label="Direct link to οΏ½πŸ“Š Complete Data Model (ERD)" title="Direct link to οΏ½πŸ“Š Complete Data Model (ERD)" translate=no>​</a></h2>
<div class=zoomableContainer_eg3Q><h3 class=diagramTitle_wap7>Interactive Entity Relationship Diagram</h3><div class=controls_qlC_><span class=controlsLabel_Q_lQ>πŸ’‘ <strong>Tip:</strong> Use mouse wheel to zoom, click and drag to pan, or use the controls below</span></div><div class=zoomControls_aMCc><button class=zoomButton_CYM3 title="Zoom In">πŸ”+</button><button class=zoomButton_CYM3 title="Zoom Out">πŸ”βˆ’</button><button class=zoomButton_CYM3 title="Reset View">⟲ Reset</button></div><div class="react-transform-wrapper transform-component-module_wrapper__SPB86 transformWrapper_r8lz"><div class="react-transform-component transform-component-module_content__FBWxo transformContent_iWjG" style="transform:translate(0px, 0px) scale(6)"><div class=mermaidWrapper_atLc></div></div></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=️-political-economy-analysis-framework>βš–οΈ Political Economy Analysis Framework<a href=#️-political-economy-analysis-framework class=hash-link aria-label="Direct link to βš–οΈ Political Economy Analysis Framework" title="Direct link to βš–οΈ Political Economy Analysis Framework" translate=no>​</a></h2>
<p>The ERD includes specialized entities for <strong>political economy analysis</strong> - understanding the "WHY" behind government decisions, not just the "WHAT". These entities support a 4-step advocacy framework to expose gaps between rhetoric and reality:</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=the-4-step-framework-for-effective-change>The 4-Step Framework for Effective Change<a href=#the-4-step-framework-for-effective-change class=hash-link aria-label="Direct link to The 4-Step Framework for Effective Change" title="Direct link to The 4-Step Framework for Effective Change" translate=no>​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=step-1-rhetoric-gap---frame-analysis>Step 1: Rhetoric Gap - <strong>Frame Analysis</strong><a href=#step-1-rhetoric-gap---frame-analysis class=hash-link aria-label="Direct link to step-1-rhetoric-gap---frame-analysis" title="Direct link to step-1-rhetoric-gap---frame-analysis" translate=no>​</a></h4>
<p><strong>Goal:</strong> Establish they ALREADY agree it's important (stop the "need" debate)</p>
<p><strong>ERD Support:</strong></p>
<ul>
<li class=""><strong>DECISION_FRAME</strong>: Tracks how decisions are framed ("public health" vs "fiscal responsibility" vs "equity")</li>
<li class=""><strong>KEYWORD_DENSITY</strong>: Measures rhetoric patterns ("priority", "essential", "critical" per 1000 words)</li>
<li class=""><strong>POLICY_DECISION.primary_frame</strong>: Primary framing language used</li>
</ul>
<p><strong>Analysis Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">Frame Distribution:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> 12x public health</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> 8x fiscal responsibility </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> 5x equity/access</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> 3x economic development</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β†’ They SAY oral health is a "priority" - hold them to it!</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=step-2-displacement-matrix---budget-to-minutes-delta>Step 2: Displacement Matrix - <strong>Budget-to-Minutes Delta</strong><a href=#step-2-displacement-matrix---budget-to-minutes-delta class=hash-link aria-label="Direct link to step-2-displacement-matrix---budget-to-minutes-delta" title="Direct link to step-2-displacement-matrix---budget-to-minutes-delta" translate=no>​</a></h4>
<p><strong>Goal:</strong> Show they HAD the money (stop the "budget constraint" excuse)</p>
<p><strong>ERD Support:</strong></p>
<ul>
<li class=""><strong>BUDGET_LINE_ITEM</strong>: Detailed budget categories with year-over-year changes</li>
<li class=""><strong>BUDGET_DELTA</strong>: Compares meeting rhetoric to actual funding changes</li>
<li class=""><strong>BUDGET_DELTA.delta_type</strong>: Classifies as "Expansion", "Lip Service", or "Hidden Priority"</li>
<li class=""><strong>BUDGET_DELTA.delta_score</strong>: Quantifies rhetoric vs reality gap (-1 to +1)</li>
</ul>
<p><strong>Analysis Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">🎭 Lip Service Detected:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β€’ School dental program: -$50,000 decrease</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> Mentioned 12x in meetings as "critical for children"</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> Logic: PERFORMATIVE POLITICS</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">πŸ’° Hidden Priority (Where the money REALLY went):</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β€’ IT Infrastructure: +$200,000 increase</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> Only mentioned 1x in meetings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> Logic: Bureaucratic inertia - avoiding scrutiny</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=step-3-influence-radar---stakeholder-analysis>Step 3: Influence Radar - <strong>Stakeholder Analysis</strong><a href=#step-3-influence-radar---stakeholder-analysis class=hash-link aria-label="Direct link to step-3-influence-radar---stakeholder-analysis" title="Direct link to step-3-influence-radar---stakeholder-analysis" translate=no>​</a></h4>
<p><strong>Goal:</strong> Name who's blocking it (force personal accountability)</p>
<p><strong>ERD Support:</strong></p>
<ul>
<li class=""><strong>STAKEHOLDER_POSITION</strong>: Who spoke for/against with their arguments</li>
<li class=""><strong>STAKEHOLDER_POSITION.speaking_order</strong>: Track who speaks when (early speakers often most influential)</li>
<li class=""><strong>DECISION_VOTE</strong>: Individual vote records with stated reasons</li>
<li class=""><strong>DECISION_VOTE.switched_position</strong>: Flag when officials change their stance</li>
</ul>
<p><strong>Analysis Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">πŸ‘₯ Blocking Coalition:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β€’ Taxpayer Association (opponent) - spoke 1st</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> Argument: "Cost concerns in tight budget"</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> Counter: School nurses budget UP $300K same meeting</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β€’ Council Member Smith (voted NO)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> Stated reason: "Need more study"</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> Pattern: Has voted NO on 3 oral health items since 2022</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=step-4-deferral-pattern---temporal-voting-analysis>Step 4: Deferral Pattern - <strong>Temporal Voting Analysis</strong><a href=#step-4-deferral-pattern---temporal-voting-analysis class=hash-link aria-label="Direct link to step-4-deferral-pattern---temporal-voting-analysis" title="Direct link to step-4-deferral-pattern---temporal-voting-analysis" translate=no>​</a></h4>
<p><strong>Goal:</strong> Show they're stalling, not studying (expose the tactic)</p>
<p><strong>ERD Support:</strong></p>
<ul>
<li class=""><strong>DEFERRAL_PATTERN</strong>: Tracks same topic across multiple meetings<!-- -->
<ul>
<li class=""><code>first_mentioned</code>: When decision was first introduced</li>
<li class=""><code>last_discussed</code>: Most recent tabling date</li>
<li class=""><code>total_deferrals</code>: How many times tabled/postponed</li>
<li class=""><code>months_in_limbo</code>: Time elapsed since first mention</li>
<li class=""><code>pattern_type</code>: "Rationale of Attrition" / "Sincere Analysis" / "Political Timing"</li>
<li class=""><code>strategic_inference</code>: Inferred reason for delay</li>
<li class=""><code>next_review_date</code>: When scheduled to revisit (if stated)</li>
</ul>
</li>
<li class=""><strong>DEFERRAL_INSTANCE</strong>: Individual tabling events with dates<!-- -->
<ul>
<li class=""><code>deferral_date</code>: When it was tabled</li>
<li class=""><code>stated_reason</code>: Official justification given</li>
<li class=""><code>speaker</code>: Who gave the reason</li>
<li class=""><code>months_since_first</code>: Time elapsed</li>
<li class=""><code>reason_changed</code>: Flag for shifting justifications</li>
</ul>
</li>
<li class=""><strong>POLICY_DECISION.outcome</strong>: Captures "tabled/deferred/postponed"</li>
<li class=""><strong>DECISION_OPTION.rejection_reason</strong>: Stated excuses for delay</li>
<li class=""><strong>ELECTION_CYCLE</strong>: Links decisions to election timelines</li>
<li class=""><strong>ELECTION_CYCLE.pre_election_spike_detected</strong>: Flag incumbent protection patterns</li>
</ul>
<p><strong>Complete Date Tracking:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- All dates needed to track stalling:</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">MEETING</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date </span><span class="token comment" style=color:#999988;font-style:italic>-- When meeting occurred</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">POLICY_DECISION</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date </span><span class="token comment" style=color:#999988;font-style:italic>-- When decision was discussed</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">DEFERRAL_PATTERN</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">first_mentioned </span><span class="token comment" style=color:#999988;font-style:italic>-- First introduction date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">DEFERRAL_PATTERN</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">last_discussed </span><span class="token comment" style=color:#999988;font-style:italic>-- Most recent tabling</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">DEFERRAL_INSTANCE</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">deferral_date </span><span class="token comment" style=color:#999988;font-style:italic>-- Each individual deferral</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">ELECTION_CYCLE</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">election_date </span><span class="token comment" style=color:#999988;font-style:italic>-- Election timing context</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">DECISION_VOTE</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">days_since_election </span><span class="token comment" style=color:#999988;font-style:italic>-- Temporal political context</span><br/></div></code></pre></div></div>
<p><strong>Analysis Output:</strong></p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">πŸ“… Stalling Pattern DETECTED:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β€’ Topic: "Fluoridation proposal"</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β€’ First mentioned: 2020-03-15 (4 years, 1 month ago)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β€’ Total deferrals: 4 times</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> β€’ Pattern type: Rationale of Attrition</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> πŸ“Š Timeline of Shifting Justifications:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> - 2020-03: "Need more study" (12mo before election)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> - 2020-09: "Budget constraints" (6mo before election) </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> - 2022-01: "Need public input" (new council members)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> - 2024-05: "Awaiting staff report" (still pending)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> πŸ” Strategic Inference:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> "They're NOT studying - they're AVOIDING! The board isn't </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> debating the merit; they're waiting for the advocate's </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> momentum to fade before the next election cycle."</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> 🚨 Discomfort Score: 10/10 (Extremely politically sensitive)</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=quantitative-why-indicators>Quantitative "Why" Indicators<a href=#quantitative-why-indicators class=hash-link aria-label='Direct link to Quantitative "Why" Indicators' title='Direct link to Quantitative "Why" Indicators' translate=no>​</a></h3>
<p>Additional metrics to infer governance logic:</p>
<table><thead><tr><th>Entity<th>Metric<th>Reveals<tbody><tr><td><strong>POLICY_DECISION.contention_score</strong><td>Ratio of dissent (0-100)<td>Political sensitivity of topic<tr><td><strong>KEYWORD_DENSITY</strong><td>"grant" vs "taxpayer" frequency<td>Decision driver: outside funding vs local demand<tr><td><strong>KEYWORD_DENSITY</strong><td>"emergency" occurrence<td>Reactive vs planned governance<tr><td><strong>ELECTION_CYCLE.avg_project_cost_before</strong><td>Spending spikes pre-election<td>Incumbency protection tactics<tr><td><strong>BUDGET_DELTA.underlying_logic</strong><td>Genuine vs Performative vs Bureaucratic<td>Real priorities revealed</table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=implementation-files>Implementation Files<a href=#implementation-files class=hash-link aria-label="Direct link to Implementation Files" title="Direct link to Implementation Files" translate=no>​</a></h3>
<p>These analyses are <strong>fully implemented</strong> in the codebase:</p>
<ul>
<li class=""><code>extraction/decision_analyzer.py</code> - Frame analysis, stakeholder extraction</li>
<li class=""><code>extraction/budget_analyzer.py</code> - Budget delta calculation, opportunity cost mapping</li>
<li class=""><code>extraction/temporal_analyzer.py</code> - Election cycle analysis, deferral patterns</li>
<li class=""><code>examples/tuscaloosa_political_economy.py</code> - Complete end-to-end analysis</li>
</ul>
<p>See <strong><a class="" href=/docs/guides/political-economy>Political Economy Analysis Guide</a></strong> for detailed implementation status and usage examples.</p>
<hr/>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-data-standards--interoperability>🌐 Data Standards & Interoperability<a href=#-data-standards--interoperability class=hash-link aria-label="Direct link to 🌐 Data Standards & Interoperability" title="Direct link to 🌐 Data Standards & Interoperability" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=popolo-project-alignment>Popolo Project Alignment<a href=#popolo-project-alignment class=hash-link aria-label="Direct link to Popolo Project Alignment" title="Direct link to Popolo Project Alignment" translate=no>​</a></h3>
<p>Our data model follows the <a href=https://www.popoloproject.com/ target=_blank rel="noopener noreferrer" class="">Popolo Project</a> specification for representing people, organizations, and elected positions. Popolo is an international open government data standard adopted by 30+ civic tech organizations worldwide including mySociety, Sunlight Foundation, OpenNorth, and Civic Commons.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=popolo-class-mappings>Popolo Class Mappings<a href=#popolo-class-mappings class=hash-link aria-label="Direct link to Popolo Class Mappings" title="Direct link to Popolo Class Mappings" translate=no>​</a></h4>
<table><thead><tr><th>Popolo Class<th>Our Entity<th>Description<th>Key Fields<tbody><tr><td><strong>Person</strong><td>LEADER<td>Elected officials, government employees<td><code>full_name</code>, <code>email</code>, <code>phone</code>, <code>photo_url</code><tr><td><strong>Organization</strong><td>ORGANIZATION<td>Nonprofits, government agencies, companies<td><code>name</code>, <code>org_type</code>, <code>address</code>, <code>website</code><tr><td><strong>Membership</strong><td>LEADER ↔ ORGANIZATION<td>Relationship between people and organizations<td><code>leader_id</code>, <code>jurisdiction_id</code>, <code>term_start</code>, <code>term_end</code><tr><td><strong>Post</strong><td>LEADER.position_type<td>Positions within organizations<td><code>title</code>, <code>office</code>, <code>position_type</code><tr><td><strong>Contact Detail</strong><td>Embedded fields<td>Communication methods<td><code>email</code>, <code>phone</code>, <code>website</code> in multiple entities<tr><td><strong>Motion</strong><td>AGENDA, LEGISLATION<td>Formal proposals for decision<td><code>title</code>, <code>description</code>, <code>status</code><tr><td><strong>Vote Event</strong><td>VOTE<td>Voting on motions/bills<td><code>vote_date</code>, <code>item_description</code><tr><td><strong>Count</strong><td>VOTE, LEGISLATION<td>Vote tallies<td><code>vote_yes</code>, <code>vote_no</code>, <code>vote_value</code><tr><td><strong>Area</strong><td>JURISDICTION<td>Geographic/political boundaries<td><code>jurisdiction_type</code>, <code>state_code</code>, <code>county_name</code><tr><td><strong>Event</strong><td>MEETING<td>Gatherings with agendas<td><code>meeting_date</code>, <code>meeting_type</code>, <code>body_name</code><tr><td><strong>Speech</strong><td>MINUTES, VIDEO<td>Spoken statements<td><code>transcript_text</code>, <code>summary_text</code></table>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=schemaorg-type-mappings>Schema.org Type Mappings<a href=#schemaorg-type-mappings class=hash-link aria-label="Direct link to Schema.org Type Mappings" title="Direct link to Schema.org Type Mappings" translate=no>​</a></h4>
<p>Our entities map to <a href=https://schema.org/ target=_blank rel="noopener noreferrer" class="">Schema.org</a> types for SEO-optimized structured data and semantic web compatibility:</p>
<table><thead><tr><th>Our Entity<th>Schema.org Type<th>Properties<th>JSON-LD Export<tbody><tr><td>JURISDICTION<td><a href=https://schema.org/AdministrativeArea target=_blank rel="noopener noreferrer" class="">AdministrativeArea</a><td>name, address, geo, telephone, url<td>βœ… City/county pages<tr><td>MEETING<td><a href=https://schema.org/Event target=_blank rel="noopener noreferrer" class="">Event</a><td>name, startDate, endDate, location, organizer<td>βœ… Google Calendar rich results<tr><td>LEADER<td><a href=https://schema.org/Person target=_blank rel="noopener noreferrer" class="">Person</a> + <a href=https://schema.org/GovernmentOfficial target=_blank rel="noopener noreferrer" class="">GovernmentOfficial</a><td>name, email, telephone, jobTitle<td>βœ… Official profiles<tr><td>ORGANIZATION<td><a href=https://schema.org/Organization target=_blank rel="noopener noreferrer" class="">Organization</a> + <a href=https://schema.org/NGO target=_blank rel="noopener noreferrer" class="">NGO</a><td>name, address, telephone, foundingDate<td>βœ… Nonprofit listings<tr><td>LEGISLATION<td><a href=https://schema.org/Legislation target=_blank rel="noopener noreferrer" class="">Legislation</a><td>name, legislationDate, legislationPassedBy<td>βœ… Bill tracking<tr><td>BALLOT_MEASURE<td><a href=https://schema.org/Legislation target=_blank rel="noopener noreferrer" class="">Legislation</a><td>name, datePosted, legislationChanges<td>βœ… Ballot guides<tr><td>VOTE<td><a href=https://schema.org/VoteAction target=_blank rel="noopener noreferrer" class="">VoteAction</a><td>agent, candidate, actionOption<td>βœ… Voting records<tr><td>FACT_CHECK<td><a href=https://schema.org/ClaimReview target=_blank rel="noopener noreferrer" class="">ClaimReview</a><td>claimReviewed, reviewRating, author<td>βœ… Google Fact Check Explorer<tr><td>SCHOOL_DISTRICT<td><a href=https://schema.org/EducationalOrganization target=_blank rel="noopener noreferrer" class="">EducationalOrganization</a><td>name, numberOfStudents, address<td>βœ… School district info<tr><td>VIDEO<td><a href=https://schema.org/VideoObject target=_blank rel="noopener noreferrer" class="">VideoObject</a><td>name, description, uploadDate, duration<td>βœ… YouTube integration<tr><td>DOCUMENT<td><a href=https://schema.org/DigitalDocument target=_blank rel="noopener noreferrer" class="">DigitalDocument</a><td>name, fileFormat, datePublished<td>βœ… Document library<tr><td><strong>Microsoft CDM Nonprofit Entities</strong><td><td><td><tr><td>CONSTITUENT<td><a href=https://schema.org/Person target=_blank rel="noopener noreferrer" class="">Person</a><td>name, email, telephone, address<td>βœ… Donor/volunteer profiles<tr><td>DONATION<td><a href=https://schema.org/DonateAction target=_blank rel="noopener noreferrer" class="">DonateAction</a><td>agent (Person), recipient (Organization), price<td>βœ… Donation receipts<tr><td>CAMPAIGN<td><a href=https://schema.org/FundingScheme target=_blank rel="noopener noreferrer" class="">FundingScheme</a><td>name, startDate, endDate, url<td>βœ… Fundraising campaigns<tr><td>MEMBERSHIP<td><a href=https://schema.org/ProgramMembership target=_blank rel="noopener noreferrer" class="">ProgramMembership</a><td>member (Person), hostingOrganization, membershipNumber<td>βœ… Member cards<tr><td>VOLUNTEER_ACTIVITY<td><a href=https://schema.org/VolunteerAction target=_blank rel="noopener noreferrer" class="">VolunteerAction</a><td>agent (Person), startTime, endTime, location<td>βœ… Volunteer tracking<tr><td>PROGRAM_DELIVERY<td><a href=https://schema.org/Service target=_blank rel="noopener noreferrer" class="">Service</a><td>name, provider, serviceType, areaServed<td>βœ… Program catalog<tr><td>PROGRAM_OUTCOME<td><a href=https://schema.org/Observation target=_blank rel="noopener noreferrer" class="">Observation</a><td>measurementTechnique, measuredValue, observationDate<td>βœ… Impact reporting</table>
<p><strong>Example: Meeting as Schema.org Event</strong></p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-json codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@context"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://schema.org"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Event"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@id"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://www.communityone.com/meetings/city-council-2024-01-15"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham City Council Regular Meeting"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"description"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Monthly city council meeting covering budget, zoning, and public health initiatives"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"startDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-15T18:00:00-06:00"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"endDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-15T20:30:00-06:00"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"eventStatus"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://schema.org/EventScheduled"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"eventAttendanceMode"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://schema.org/MixedEventAttendanceMode"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"location"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Place"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham City Hall"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"address"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"PostalAddress"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"streetAddress"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"710 N 20th St"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"addressLocality"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"addressRegion"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"AL"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"postalCode"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"35203"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"organizer"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"GovernmentOrganization"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Birmingham City Council"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"url"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://www.birminghamal.gov/council/"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"recordedIn"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"VideoObject"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"City Council Meeting Recording"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"uploadDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-16"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"duration"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"PT2H30M"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"thumbnailUrl"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://example.com/thumbnail.jpg"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"contentUrl"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://youtube.com/watch?v=example"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"subEvent"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Event"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Public Comment Period"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"startDate"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2024-01-15T18:15:00-06:00"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>]</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>}</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=common-education-data-standards-ceds-alignment>Common Education Data Standards (CEDS) Alignment<a href=#common-education-data-standards-ceds-alignment class=hash-link aria-label="Direct link to Common Education Data Standards (CEDS) Alignment" title="Direct link to Common Education Data Standards (CEDS) Alignment" translate=no>​</a></h4>
<p>Our SCHOOL_DISTRICT entity follows <a href=https://ceds.ed.gov/ target=_blank rel="noopener noreferrer" class="">CEDS</a> specifications for education data interoperability:</p>
<table><thead><tr><th>Our Field<th>CEDS Element<th>Element ID<th>NCES Alignment<tbody><tr><td><code>nces_id</code><td>LEA Identifier (NCES)<td>000827<td>CCD LEA ID<tr><td><code>district_name</code><td>Name of Institution<td>000168<td>Official district name<tr><td><code>district_type</code><td>LEA Type<td>000108<td>Regular/Specialized/Service Agency<tr><td><code>total_students</code><td>Student Count<td>001475<td>Fall enrollment<tr><td><code>total_schools</code><td>Number of Schools<td>000856<td>Operational schools count<tr><td><code>total_revenue</code><td>Total Revenue<td>000612<td>F-33 Survey Line A09<tr><td><code>total_expenditures</code><td>Total Expenditures<td>000611<td>F-33 Survey Line B13<tr><td><code>per_pupil_spending</code><td>Expenditure per Student<td>000613<td>Total exp / enrollment<tr><td><code>federal_revenue</code><td>Federal Revenue<td>000614<td>ESEA Title I, IDEA<tr><td><code>state_revenue</code><td>State Revenue<td>000615<td>State aid formulas<tr><td><code>local_revenue</code><td>Local Revenue<td>000616<td>Property tax, bonds<tr><td><code>superintendent</code><td>Chief Administrator<td>000240<td>District superintendent<tr><td><code>school_year</code><td>School Year<td>000243<td>YYYY-YYYY format</table>
<p><strong>CEDS Option Sets:</strong></p>
<ul>
<li class=""><strong>LEA Type</strong> (000108): Regular local school district, Specialized (charter/magnet), Supervisory Union, Service Agency, State/Federal Agency</li>
<li class=""><strong>Operational Status</strong> (000533): Open, Closed, New, Changed Agency, Temporarily Closed</li>
<li class=""><strong>Locale Type</strong> (001315): City (Large/Midsize/Small), Suburb, Town, Rural (NCES Urban-centric codes)</li>
</ul>
<p><strong>Benefits:</strong></p>
<ul>
<li class="">βœ… Compatible with NCES Common Core of Data (CCD) and F-33 Finance Survey</li>
<li class="">βœ… Aligns with Ed-Fi Alliance, IMS Global, and SIF Association standards</li>
<li class="">βœ… Supports federal reporting for ESSA, Title I, IDEA compliance</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=microsoft-common-data-model-for-nonprofits>Microsoft Common Data Model for Nonprofits<a href=#microsoft-common-data-model-for-nonprofits class=hash-link aria-label="Direct link to Microsoft Common Data Model for Nonprofits" title="Direct link to Microsoft Common Data Model for Nonprofits" translate=no>​</a></h4>
<p>Our nonprofit constituent management entities follow <a href=https://github.com/microsoft/Nonprofits/ target=_blank rel="noopener noreferrer" class="">Microsoft's Common Data Model for Nonprofits</a>, enabling seamless integration with Dynamics 365 and Power Platform:</p>
<table><thead><tr><th>Our Entity<th>Microsoft CDM Entity<th>Description<th>Key Relationships<tbody><tr><td>CONSTITUENT<td>Constituent<td>Donors, volunteers, members, beneficiaries<td>β†’ DONATION, MEMBERSHIP, VOLUNTEER_ACTIVITY<tr><td>DONATION<td>Donation<td>Financial contributions and in-kind gifts<td>← CONSTITUENT, β†’ CAMPAIGN, β†’ DESIGNATION<tr><td>CAMPAIGN<td>Campaign<td>Fundraising campaigns and appeals<td>β†’ DONATION<tr><td>DESIGNATION<td>Designation<td>Fund allocation (programs, unrestricted, endowment)<td>← DONATION<tr><td>MEMBERSHIP<td>Membership<td>Member enrollment and renewals<td>← CONSTITUENT, ← ORGANIZATION<tr><td>VOLUNTEER_ACTIVITY<td>Volunteer Preference<td>Volunteer activities and hours<td>← CONSTITUENT<tr><td>PROGRAM_DELIVERY<td>Delivery Framework<td>Programs and services delivered<td>← ORGANIZATION, β†’ PROGRAM_OUTCOME<tr><td>PROGRAM_OUTCOME<td>Objective<td>Measurable impact and KPIs<td>← PROGRAM_DELIVERY</table>
<p><strong>Microsoft CDM Core Patterns:</strong></p>
<ol>
<li class=""><strong>Constituent-Centric Design</strong>: All engagement activities (donations, volunteering, membership) link to CONSTITUENT</li>
<li class=""><strong>Designation-Based Accounting</strong>: Donations are allocated to specific designations (funds, programs, campaigns)</li>
<li class=""><strong>Campaign Tracking</strong>: Multi-channel fundraising campaigns track goals, raised amounts, donor counts</li>
<li class=""><strong>Outcome Measurement</strong>: Programs track objectives with target vs. actual metrics</li>
<li class=""><strong>Temporal Tracking</strong>: Start/end dates on memberships, campaigns, and programs for lifecycle management</li>
</ol>
<p><strong>Integration Points:</strong></p>
<table><thead><tr><th>Microsoft Product<th>Integration Type<th>Use Case<tbody><tr><td><strong>Dynamics 365 Nonprofit</strong><td>Native CDM compatibility<td>CRM for constituent relationship management<tr><td><strong>Power BI</strong><td>Direct data connection<td>Fundraising dashboards, donor analytics<tr><td><strong>Power Apps</strong><td>Low-code app builder<td>Volunteer management apps, event registration<tr><td><strong>Power Automate</strong><td>Workflow automation<td>Donation receipts, membership renewals<tr><td><strong>Azure Synapse</strong><td>Cloud analytics<td>Large-scale constituent analytics</table>
<p><strong>Example: Constituent-Donation Relationship</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Find top 10 donors by lifetime giving</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">first_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">last_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">email</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">lifetime_giving_total</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">donation_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> donation_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">amount</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_donation</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>MAX</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">donation_date</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> last_donation_date</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> CONSTITUENT c</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DONATION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_type </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Donor'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">constituent_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">first_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">last_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">email</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">lifetime_giving_total</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> c</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">lifetime_giving_total </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LIMIT</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>10</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Benefits:</strong></p>
<ul>
<li class="">βœ… <strong>Microsoft Ecosystem</strong>: Native compatibility with Dynamics 365, Power Platform, Azure</li>
<li class="">βœ… <strong>Industry Standard</strong>: Used by large nonprofits (United Way, Boys & Girls Clubs, etc.)</li>
<li class="">βœ… <strong>Grant Reporting</strong>: Built-in support for outcome tracking and funder reporting</li>
<li class="">βœ… <strong>LYBNT Analysis</strong>: "Last Year But Not This Year" donor reactivation queries</li>
<li class="">βœ… <strong>Constituent 360</strong>: Unified view of all engagement touchpoints</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=underlying-standards>Underlying Standards<a href=#underlying-standards class=hash-link aria-label="Direct link to Underlying Standards" title="Direct link to Underlying Standards" translate=no>​</a></h4>
<p>Popolo builds upon W3C, IETF, and DCMI specifications for maximum interoperability:</p>
<table><thead><tr><th>Standard<th>Use Case<th>Example in Our Model<tbody><tr><td><strong>FOAF</strong> (Friend of a Friend)<td>Social network, people relationships<td>LEADER connections, ORGANIZATION networks<tr><td><strong>vCard</strong> (IETF RFC 6350)<td>Contact information<td>email, phone, address fields across entities<tr><td><strong>Schema.org</strong><td>Structured web data<td>Meeting metadata, organization profiles for SEO<tr><td><strong>DCMI Terms</strong><td>Metadata, provenance<td><code>created_at</code>, <code>updated_at</code>, <code>source_url</code> timestamps<tr><td><strong>W3C Organization Ontology</strong><td>Hierarchical organizations<td>Government hierarchy, nonprofit structures<tr><td><strong>ISA Location Core Vocabulary</strong><td>Address standardization<td><code>address</code>, <code>city</code>, <code>state_code</code>, <code>latitude</code>, <code>longitude</code><tr><td><strong>GeoNames Ontology</strong><td>Geographic identifiers<td>Place names, jurisdiction boundaries<tr><td><strong>SKOS</strong><td>Taxonomies and classification<td>NTEE codes, policy topic categories</table>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=benefits-of-standards-compliance>Benefits of Standards Compliance<a href=#benefits-of-standards-compliance class=hash-link aria-label="Direct link to Benefits of Standards Compliance" title="Direct link to Benefits of Standards Compliance" translate=no>​</a></h4>
<ol>
<li class=""><strong>Interoperability</strong>: Data can be easily shared with other civic tech platforms</li>
<li class=""><strong>API Compatibility</strong>: Standard field names work with existing tools (e.g., EveryPolitician, Open Civic Data)</li>
<li class=""><strong>Semantic Web</strong>: RDF/JSON-LD export capabilities for linked open data</li>
<li class=""><strong>Tooling</strong>: Existing libraries and validators (e.g., <code>pupa</code>, <code>everypolitician-popolo</code>)</li>
<li class=""><strong>Documentation</strong>: Well-documented schemas reduce onboarding time</li>
</ol>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=example-popolo-compatible-json-ld-export>Example: Popolo-Compatible JSON-LD Export<a href=#example-popolo-compatible-json-ld-export class=hash-link aria-label="Direct link to Example: Popolo-Compatible JSON-LD Export" title="Direct link to Example: Popolo-Compatible JSON-LD Export" translate=no>​</a></h4>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-json codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@context"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"http://www.popoloproject.com/contexts/person.jsonld"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Person"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"id"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"ocd-person/12345678-90ab-cdef-1234-567890abcdef"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"name"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Jane Doe"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"email"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"jane.doe@example.gov"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"links"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"note"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"official website"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"url"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://example.gov/mayor"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"memberships"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"@type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Membership"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"organization_id"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"ocd-organization/jurisdiction/us/city/springfield"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"post_id"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"mayor"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"role"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Mayor"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"start_date"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2022-01-01"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"end_date"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"2026-12-31"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"contact_details"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"email"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"value"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"jane.doe@example.gov"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"note"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"official"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"type"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"voice"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"value"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"+1-555-123-4567"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"sources"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>{</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"url"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"https://example.gov/government/officials"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token property" style=color:#36acaa>"note"</span><span class="token operator" style=color:#393A34>:</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"Official city website"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>}</span><span class="token punctuation" style=color:#393A34>]</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>}</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=open-civic-data-ocd-id-identifiers>Open Civic Data (OCD-ID) Identifiers<a href=#open-civic-data-ocd-id-identifiers class=hash-link aria-label="Direct link to Open Civic Data (OCD-ID) Identifiers" title="Direct link to Open Civic Data (OCD-ID) Identifiers" translate=no>​</a></h3>
<p>We use OCD-IDs for jurisdiction identifiers following <a href=https://open-civic-data.readthedocs.io/en/latest/proposals/0002.html target=_blank rel="noopener noreferrer" class="">OCDEP 2</a>:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">Format: ocd-division/country:&lt;country_code>/&lt;type>:&lt;type_id></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">Examples:</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">- State: ocd-division/country:us/state:al</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">- County: ocd-division/country:us/state:al/county:jefferson</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">- City: ocd-division/country:us/state:al/place:birmingham</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">- School District: ocd-division/country:us/state:al/school_district:birmingham_city</span><br/></div></code></pre></div></div>
<p><strong>Normalization Rules:</strong></p>
<ul>
<li class="">Lowercase ASCII characters (a-z)</li>
<li class="">Numbers (0-9)</li>
<li class="">Valid punctuation: <code>._~-</code></li>
<li class="">Spaces β†’ underscores</li>
<li class="">Remove special characters</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-data-statistics>πŸ“Š Data Statistics<a href=#-data-statistics class=hash-link aria-label="Direct link to πŸ“Š Data Statistics" title="Direct link to πŸ“Š Data Statistics" translate=no>​</a></h2>
<table><thead><tr><th>Entity Type<th>Estimated Count<th>Source<tbody><tr><td>Jurisdictions<td>22,000+<td>Census Gazetteer<tr><td>Counties<td>3,144<td>FIPS codes<tr><td>Cities<td>19,000+<td>Incorporated places<tr><td>School Districts<td>13,000+<td>NCES CCD<tr><td>School District Budgets<td>13,000+<td>NCES F-33 Finance Survey<tr><td>Government Budgets<td>22,000+<td>Census of Governments<tr><td>Municipal Bonds<td>TBD<td>EMMA (MSRB)<tr><td>Nonprofits<td>3,000,000+<td>IRS TEOS<tr><td>Nonprofit 990 Filings<td>10,000,000+<td>ProPublica (10+ years)<tr><td><strong>Microsoft CDM: Nonprofit Engagement</strong><td><td><tr><td>Constituents<td>TBD<td>Donors, volunteers, members, beneficiaries (Microsoft CDM)<tr><td>Donations<td>TBD<td>Financial contributions and in-kind gifts (Microsoft CDM)<tr><td>Campaigns<td>TBD<td>Fundraising campaigns and appeals (Microsoft CDM)<tr><td>Memberships<td>TBD<td>Member enrollments and renewals (Microsoft CDM)<tr><td>Volunteer Activities<td>TBD<td>Volunteer hours and service events (Microsoft CDM)<tr><td>Program Delivery Records<td>TBD<td>Programs and services delivered (Microsoft CDM)<tr><td>Program Outcomes<td>TBD<td>Impact metrics and KPIs (Microsoft CDM)<tr><td>Grants (Individual Awards)<td>TBD<td>IRS 990-I, USASpending.gov, Foundation Center<tr><td>Federal Grants<td>100,000+<td>USASpending.gov API<tr><td>Nonprofit Causes<td>600+<td>NTEE + Every.org<tr><td>YouTube Channels<td>5,000+<td>Discovery pipeline<tr><td>Meeting Platforms<td>10,000+<td>URL detection<tr><td>State Legislators<td>7,300+<td>Open States<tr><td>Meetings & Events<td>500,000+<td>Scraped (govt, hearings, events, trainings)<tr><td>Trainings<td>TBD<td>Professional development, workshops<tr><td>Documents<td>2,000,000+<td>PDF extraction<tr><td>Ballot Measures<td>TBD<td>State/local election sites<tr><td>State Bills<td>100,000+<td>Open States API<tr><td>Policy Topics<td>~50<td>Curated + extracted<tr><td><strong>Analytics & Standards</strong><td><td><tr><td>Date Dimension Records<td>~7,300<td>20 years (2010-2030)<tr><td>Metric Views<td>~100<td>Pre-computed analytics definitions<tr><td>Temporal Relationships<td>~1M+<td>Date keys for all time-based entities<tr><td>Schema.org JSON-LD Exports<td>~500K+<td>Event, Person, Organization, Legislation, ClaimReview<tr><td>Popolo Exports<td>~100K+<td>Person, Organization, Membership, VoteEvent<tr><td>CEDS-Aligned Records<td>13,000+<td>School districts with NCES Element IDs<tr><td>OCD Division IDs<td>22,000+<td>All jurisdictions with standardized identifiers<tr><td>IATI Activity Files<td>TBD<td>Programs, grants, humanitarian aid (v2.03 XML)<tr><td><strong>Fact-Checking</strong><td><td><tr><td>Verified Claims<td>~50K+<td>Google Fact Check API<tr><td>PolitiFact Ratings<td>~20K+<td>Truth-O-Meter rulings<tr><td>FactCheck.org Articles<td>~10K+<td>Verified fact-checks<tr><td><strong>Vocabulary & Concepts (OMOP-Inspired)</strong><td><td><tr><td>Concept Entries<td>~2M+<td>Cities, nonprofits, officials, topics, demographics<tr><td>Vocabularies<td>10+<td>OCD_ID, IRS_NTEE, US_Census, NCES, OHDSI (Gender/Race/Ethnicity)<tr><td>Concept Classes<td>20+<td>City, County, 501c3, Mayor, Health Policy, etc.<tr><td>Concept Relationships<td>~5M+<td>Hierarchies (City→County→State), Associations (Topic→Legislation)<tr><td>OHDSI Gender Concepts<td>3<td>MALE, FEMALE, OTHER (Athena standard)<tr><td>OHDSI Race Concepts<td>20+<td>Census OMB categories (Athena standard)<tr><td>OHDSI Ethnicity Concepts<td>2<td>Hispanic or Latino, Not Hispanic or Latino (Athena standard)</table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-see-also>οΏ½ See Also<a href=#-see-also class=hash-link aria-label="Direct link to οΏ½ See Also" title="Direct link to οΏ½ See Also" translate=no>​</a></h2>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class=admonitionHeading_Gvgb><span class=admonitionIcon_Rf37><svg viewBox="0 0 12 16"><path fill-rule=evenodd d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"/></svg></span>Complete Citations & Attributions</div><div class=admonitionContent_BuS1><p>For full citations, licenses, BibTeX references, and detailed attribution for all data sources, standards, and research:<p>πŸ‘‰ <strong><a class="" href=/docs/data-sources/citations>View Citations & Data Sources</a></strong><p>Includes academic research, government data APIs, civic tech standards (OCD-ID, Popolo, Schema.org, CEDS, IATI), Microsoft CDM, OMOP CDM, fact-checking sources, and more.</div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-meeting--event-types>οΏ½πŸ“ Meeting & Event Types<a href=#-meeting--event-types class=hash-link aria-label="Direct link to οΏ½πŸ“ Meeting & Event Types" title="Direct link to οΏ½πŸ“ Meeting & Event Types" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=event-categories-in-the-meeting-entity>Event Categories in the MEETING Entity<a href=#event-categories-in-the-meeting-entity class=hash-link aria-label="Direct link to Event Categories in the MEETING Entity" title="Direct link to Event Categories in the MEETING Entity" translate=no>​</a></h3>
<p>The MEETING entity tracks <strong>4 main event categories</strong> to capture all civic engagement opportunities:</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-government-meetings-event_category-government_meeting>1. <strong>Government Meetings</strong> (<code>event_category: "government_meeting"</code>)<a href=#1-government-meetings-event_category-government_meeting class=hash-link aria-label="Direct link to 1-government-meetings-event_category-government_meeting" title="Direct link to 1-government-meetings-event_category-government_meeting" translate=no>​</a></h4>
<ul>
<li class="">City council meetings, school board meetings, county commissions</li>
<li class="">Official business conducted by elected bodies</li>
<li class=""><strong>Fields:</strong> <code>body_name</code>, <code>meeting_type</code> (regular, special, emergency)</li>
<li class=""><strong>Example:</strong> "Tuscaloosa City Council Regular Meeting - 3rd Tuesday"</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-public-hearings-event_category-public_hearing>2. <strong>Public Hearings</strong> (<code>event_category: "public_hearing"</code>)<a href=#2-public-hearings-event_category-public_hearing class=hash-link aria-label="Direct link to 2-public-hearings-event_category-public_hearing" title="Direct link to 2-public-hearings-event_category-public_hearing" translate=no>​</a></h4>
<ul>
<li class="">Public comment sessions on specific issues</li>
<li class="">Budget hearings, zoning hearings, policy feedback</li>
<li class=""><strong>Fields:</strong> <code>meeting_type</code> (budget, zoning, policy)</li>
<li class=""><strong>Example:</strong> "Public Hearing on FY2026 Water System Fluoridation Budget"</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=3-community-events-event_category-community_event>3. <strong>Community Events</strong> (<code>event_category: "community_event"</code>)<a href=#3-community-events-event_category-community_event class=hash-link aria-label="Direct link to 3-community-events-event_category-community_event" title="Direct link to 3-community-events-event_category-community_event" translate=no>​</a></h4>
<ul>
<li class="">Town halls, community forums, listening sessions</li>
<li class="">Informal engagement between government and citizens</li>
<li class=""><strong>Fields:</strong> <code>location_type</code> (in-person, virtual, hybrid)</li>
<li class=""><strong>Example:</strong> "Town Hall on Community Health Priorities"</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=4-trainings-event_category-training--new>4. <strong>Trainings</strong> (<code>event_category: "training"</code>) ⭐ NEW<a href=#4-trainings-event_category-training--new class=hash-link aria-label="Direct link to 4-trainings-event_category-training--new" title="Direct link to 4-trainings-event_category-training--new" translate=no>​</a></h4>
<ul>
<li class="">Professional development workshops</li>
<li class="">Continuing education for healthcare workers, teachers, officials</li>
<li class="">Certification courses, skill-building sessions</li>
<li class=""><strong>Fields:</strong>
<ul>
<li class=""><code>training_topic</code> - Subject matter (e.g., "Pediatric Oral Health", "Water Fluoridation Safety")</li>
<li class=""><code>target_audience</code> - Who should attend (e.g., "Dental Hygienists", "School Nurses", "Water Operators")</li>
<li class=""><code>presenter</code> - Trainer/instructor name or organization</li>
<li class=""><code>requires_registration</code> - Boolean flag</li>
<li class=""><code>registration_fee</code> - Cost to attend (0 for free)</li>
<li class=""><code>max_capacity</code> - Attendance limit</li>
<li class=""><code>end_date</code> - Training end time (multi-day events)</li>
</ul>
</li>
<li class=""><strong>Example:</strong> "Fluoride Varnish Application Training for School Nurses (3 CEU)"</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=why-trainings-matter-for-advocacy>Why Trainings Matter for Advocacy<a href=#why-trainings-matter-for-advocacy class=hash-link aria-label="Direct link to Why Trainings Matter for Advocacy" title="Direct link to Why Trainings Matter for Advocacy" translate=no>​</a></h3>
<p><strong>Capacity Building:</strong></p>
<ul>
<li class="">βœ… Identify training gaps ("No fluoride varnish training in past 2 years")</li>
<li class="">βœ… Track professional development opportunities</li>
<li class="">βœ… Monitor continuing education credits (CEUs) offered</li>
</ul>
<p><strong>Stakeholder Engagement:</strong></p>
<ul>
<li class="">βœ… Find healthcare workers trained in specific skills</li>
<li class="">βœ… Identify champions (frequent training attendees)</li>
<li class="">βœ… Target outreach to trained professionals</li>
</ul>
<p><strong>Policy Implementation:</strong></p>
<ul>
<li class="">βœ… "City wants dental screenings but no trained staff" β†’ Show available trainings</li>
<li class="">βœ… Track certification status (who's qualified to implement policy)</li>
<li class="">βœ… Link training availability to policy feasibility</li>
</ul>
<p><strong>Example Questions Now Answerable:</strong></p>
<ol>
<li class="">"What oral health trainings are offered in Alabama?" β†’ Filter by <code>training_topic</code> LIKE '%oral%'</li>
<li class="">"Which jurisdictions offer free fluoride training?" β†’ <code>registration_fee = 0</code> AND <code>training_topic</code> LIKE '%fluoride%'</li>
<li class="">"How many school nurses attended varnish training last year?" β†’ Count attendees by <code>target_audience</code></li>
<li class="">"Are there upcoming water fluoridation operator trainings?" β†’ <code>training_topic</code> AND <code>meeting_date</code> > TODAY</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=meeting-types-within-each-category>Meeting Types Within Each Category<a href=#meeting-types-within-each-category class=hash-link aria-label="Direct link to Meeting Types Within Each Category" title="Direct link to Meeting Types Within Each Category" translate=no>​</a></h3>
<p><strong>Government Meetings:</strong></p>
<ul>
<li class="">Regular sessions, special sessions, emergency meetings</li>
<li class="">Work sessions, committee meetings, executive sessions</li>
</ul>
<p><strong>Public Hearings:</strong></p>
<ul>
<li class="">Budget hearings, zoning hearings, policy feedback sessions</li>
<li class="">Environmental impact hearings, license applications</li>
</ul>
<p><strong>Community Events:</strong></p>
<ul>
<li class="">Town halls, listening sessions, community forums</li>
<li class="">Neighborhood meetings, stakeholder roundtables</li>
</ul>
<p><strong>Trainings:</strong></p>
<ul>
<li class="">Professional development workshops</li>
<li class="">Certification courses (CPR, fluoride application, etc.)</li>
<li class="">Continuing education (CEU/CME credits)</li>
<li class="">Skill-building sessions (motivational interviewing, cultural competency)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-nonprofit-funding-source-tracking>οΏ½πŸ’° Nonprofit Funding Source Tracking<a href=#-nonprofit-funding-source-tracking class=hash-link aria-label="Direct link to οΏ½πŸ’° Nonprofit Funding Source Tracking" title="Direct link to οΏ½πŸ’° Nonprofit Funding Source Tracking" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=revenue-source-breakdown-form-990-data>Revenue Source Breakdown (Form 990 Data)<a href=#revenue-source-breakdown-form-990-data class=hash-link aria-label="Direct link to Revenue Source Breakdown (Form 990 Data)" title="Direct link to Revenue Source Breakdown (Form 990 Data)" translate=no>​</a></h3>
<p>The NONPROFIT_FINANCES entity tracks <strong>10 different revenue sources</strong> to understand how nonprofits are funded:</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-grant-revenue-institutional-funding>1. <strong>Grant Revenue</strong> (Institutional Funding)<a href=#1-grant-revenue-institutional-funding class=hash-link aria-label="Direct link to 1-grant-revenue-institutional-funding" title="Direct link to 1-grant-revenue-institutional-funding" translate=no>​</a></h4>
<ul>
<li class=""><code>government_grants</code> - Federal, state, local government grants</li>
<li class=""><code>foundation_grants</code> - Private foundation grants (Gates, Ford, etc.)</li>
<li class=""><strong>Why it matters:</strong> Grant-dependent orgs may be less sustainable, more restrictive</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-donation-revenue-community-funding>2. <strong>Donation Revenue</strong> (Community Funding)<a href=#2-donation-revenue-community-funding class=hash-link aria-label="Direct link to 2-donation-revenue-community-funding" title="Direct link to 2-donation-revenue-community-funding" translate=no>​</a></h4>
<ul>
<li class=""><code>individual_donations</code> - Direct donations from people</li>
<li class=""><code>corporate_donations</code> - Corporate giving programs</li>
<li class=""><code>membership_dues</code> - Member subscriptions/fees</li>
<li class=""><strong>Why it matters:</strong> Grassroots funding = community support, more flexible use</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=3-earned-revenue-self-sufficiency>3. <strong>Earned Revenue</strong> (Self-Sufficiency)<a href=#3-earned-revenue-self-sufficiency class=hash-link aria-label="Direct link to 3-earned-revenue-self-sufficiency" title="Direct link to 3-earned-revenue-self-sufficiency" translate=no>​</a></h4>
<ul>
<li class=""><code>program_service_revenue</code> - Fees for services (clinic visits, classes, etc.)</li>
<li class=""><code>special_events_revenue</code> - Galas, fundraisers, events</li>
<li class=""><code>rental_income</code> - Property rentals</li>
<li class=""><code>sale_of_assets</code> - Asset sales</li>
<li class=""><strong>Why it matters:</strong> Self-generated revenue = sustainability, independence</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=4-investment-revenue>4. <strong>Investment Revenue</strong><a href=#4-investment-revenue class=hash-link aria-label="Direct link to 4-investment-revenue" title="Direct link to 4-investment-revenue" translate=no>​</a></h4>
<ul>
<li class=""><code>investment_income</code> - Interest, dividends, capital gains</li>
<li class=""><strong>Why it matters:</strong> Endowment size, financial health</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=5-other-revenue>5. <strong>Other Revenue</strong><a href=#5-other-revenue class=hash-link aria-label="Direct link to 5-other-revenue" title="Direct link to 5-other-revenue" translate=no>​</a></h4>
<ul>
<li class=""><code>other_revenue</code> - Miscellaneous sources</li>
<li class=""><strong>Why it matters:</strong> Unusual funding patterns</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=calculated-metrics>Calculated Metrics<a href=#calculated-metrics class=hash-link aria-label="Direct link to Calculated Metrics" title="Direct link to Calculated Metrics" translate=no>​</a></h3>
<ul>
<li class="">
<p><strong><code>overhead_ratio</code></strong> = (admin_expenses + fundraising_expenses) / total_expenses</p>
<ul>
<li class="">Lower = more efficient (more goes to programs)</li>
<li class="">Industry benchmark: &lt;25% overhead is "good"</li>
</ul>
</li>
<li class="">
<p><strong><code>fundraising_efficiency</code></strong> = contributions_received / fundraising_expenses</p>
<ul>
<li class="">Higher = better (more money raised per dollar spent)</li>
<li class="">Industry benchmark: $4+ raised per $1 spent</li>
</ul>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=why-this-matters-for-advocacy>Why This Matters for Advocacy<a href=#why-this-matters-for-advocacy class=hash-link aria-label="Direct link to Why This Matters for Advocacy" title="Direct link to Why This Matters for Advocacy" translate=no>​</a></h3>
<p><strong>Find sustainable partners:</strong></p>
<ul>
<li class="">βœ… High individual donations = community trust</li>
<li class="">βœ… Diversified revenue = financial stability</li>
<li class="">⚠️ Single-grant dependent = risky partnership</li>
</ul>
<p><strong>Evaluate efficiency:</strong></p>
<ul>
<li class="">βœ… Low overhead ratio = more program dollars</li>
<li class="">βœ… High fundraising efficiency = good stewardship</li>
<li class="">⚠️ High admin costs = potential waste</li>
</ul>
<p><strong>Identify funding gaps:</strong></p>
<ul>
<li class="">Compare similar nonprofits' revenue mix</li>
<li class="">Find underutilized funding sources (e.g., membership programs)</li>
<li class="">Target corporate donation opportunities</li>
</ul>
<p><strong>Example Questions Now Answerable:</strong></p>
<ol>
<li class="">"Which dental nonprofits have the most individual donors?" (community support)</li>
<li class="">"What's the average overhead for oral health organizations?" (efficiency benchmark)</li>
<li class="">"Are dental nonprofits more grant-dependent or self-sufficient?" (sustainability)</li>
<li class="">"Which funders support oral health work?" (foundation grants analysis)</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-grant-tracking-system>πŸ’΅ Grant Tracking System<a href=#-grant-tracking-system class=hash-link aria-label="Direct link to πŸ’΅ Grant Tracking System" title="Direct link to πŸ’΅ Grant Tracking System" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=individual-grant-transactions-grant-entity>Individual Grant Transactions (GRANT Entity)<a href=#individual-grant-transactions-grant-entity class=hash-link aria-label="Direct link to Individual Grant Transactions (GRANT Entity)" title="Direct link to Individual Grant Transactions (GRANT Entity)" translate=no>​</a></h3>
<p>The GRANT entity tracks <strong>individual grant awards</strong> beyond just aggregate 990 financials. This provides transaction-level detail for:</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=grant-fields>Grant Fields<a href=#grant-fields class=hash-link aria-label="Direct link to Grant Fields" title="Direct link to Grant Fields" translate=no>​</a></h4>
<ul>
<li class=""><strong>Recipient Info:</strong> <code>recipient_ein</code>, <code>recipient_name</code>, <code>recipient_type</code> (nonprofit, government, etc.)</li>
<li class=""><strong>Funder Info:</strong> <code>funder_name</code>, <code>funder_ein</code>, <code>funder_type</code> (foundation, government, corporate)</li>
<li class=""><strong>Grant Details:</strong> <code>grant_amount</code>, <code>grant_purpose</code>, <code>program_area</code></li>
<li class=""><strong>Timeline:</strong> <code>award_date</code>, <code>start_date</code>, <code>end_date</code>, <code>grant_duration_months</code></li>
<li class=""><strong>Status:</strong> <code>grant_status</code> (active, completed, terminated)</li>
<li class=""><strong>Type:</strong> <code>funding_source</code> (federal, state, foundation, corporate)</li>
<li class=""><strong>Restrictions:</strong> <code>multi_year</code>, <code>restrictions</code>, <code>reporting_requirements</code></li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=data-sources>Data Sources<a href=#data-sources class=hash-link aria-label="Direct link to Data Sources" title="Direct link to Data Sources" translate=no>​</a></h4>
<p><strong>IRS Form 990 Schedule I:</strong></p>
<ul>
<li class="">Grants PAID by nonprofits to other organizations</li>
<li class="">Required for organizations granting >$5,000/year</li>
<li class="">Shows foundation giving patterns</li>
</ul>
<p><strong>USASpending.gov API (FREE):</strong></p>
<ul>
<li class="">All federal grants to states, localities, nonprofits</li>
<li class="">Contract and grant transactions $25K+</li>
<li class="">Real-time data updated daily</li>
</ul>
<p><strong>Foundation Center/Candid:</strong></p>
<ul>
<li class="">Private foundation grants (990-PF data)</li>
<li class="">Grant descriptions, amounts, recipients</li>
</ul>
<p><strong>State Grant Databases:</strong></p>
<ul>
<li class="">State-level grant programs</li>
<li class="">Varies by state</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=why-grant-tracking-matters>Why Grant Tracking Matters<a href=#why-grant-tracking-matters class=hash-link aria-label="Direct link to Why Grant Tracking Matters" title="Direct link to Why Grant Tracking Matters" translate=no>​</a></h3>
<p><strong>Follow the Money:</strong></p>
<ul>
<li class="">βœ… "Who funds oral health work in Alabama?" β†’ Track all grants by <code>program_area</code></li>
<li class="">βœ… "Which foundations support fluoridation?" β†’ Search grant purposes</li>
<li class="">βœ… "How much federal money goes to dental access?" β†’ Sum <code>funding_source = federal</code></li>
</ul>
<p><strong>Find Funding Opportunities:</strong></p>
<ul>
<li class="">βœ… Identify active grant programs (similar grants to similar orgs)</li>
<li class="">βœ… Discover new funders entering a program area</li>
<li class="">βœ… Track grant sizes and typical durations</li>
</ul>
<p><strong>Partnership Intelligence:</strong></p>
<ul>
<li class="">βœ… "Who else is this foundation funding?" β†’ Find collaborators</li>
<li class="">βœ… "What's this nonprofit's grant portfolio?" β†’ Assess stability</li>
<li class="">βœ… Multi-year grants = long-term commitment signal</li>
</ul>
<p><strong>Policy Implementation:</strong></p>
<ul>
<li class="">βœ… "Is there grant funding for this program?" β†’ Search active grants</li>
<li class="">βœ… "Which jurisdictions received similar grants?" β†’ Learn from others</li>
<li class="">βœ… Track grant requirements and restrictions</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=example-questions-now-answerable>Example Questions Now Answerable:<a href=#example-questions-now-answerable class=hash-link aria-label="Direct link to Example Questions Now Answerable:" title="Direct link to Example Questions Now Answerable:" translate=no>​</a></h4>
<ol>
<li class="">
<p><strong>"What federal grants support dental health in Alabama schools?"</strong>
β†’ <code>funding_source = 'federal'</code> AND <code>program_area</code> LIKE '%dental%' AND <code>recipient_type = 'school_district'</code></p>
</li>
<li class="">
<p><strong>"Which foundations give the largest oral health grants?"</strong>
β†’ GROUP BY <code>funder_name</code> WHERE <code>program_area</code> LIKE '%oral health%' ORDER BY SUM(<code>grant_amount</code>)</p>
</li>
<li class="">
<p><strong>"How long do typical dental access grants last?"</strong>
β†’ AVG(<code>grant_duration_months</code>) WHERE <code>program_area</code> = 'dental access'</p>
</li>
<li class="">
<p><strong>"Which nonprofits receive multi-year fluoridation funding?"</strong>
β†’ <code>multi_year = true</code> AND <code>grant_purpose</code> LIKE '%fluoride%'</p>
</li>
<li class="">
<p><strong>"What grants end in the next 6 months?"</strong>
β†’ <code>end_date</code> BETWEEN NOW() AND NOW() + 6 MONTHS (renewal opportunities!)</p>
</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=dataset-structure>Dataset Structure<a href=#dataset-structure class=hash-link aria-label="Direct link to Dataset Structure" title="Direct link to Dataset Structure" translate=no>​</a></h3>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-text codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">grants/</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ nonprofit_grants # Grants TO nonprofits (Schedule I recipients)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ government_grants # Federal/state grants to jurisdictions</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">β”œβ”€β”€ foundation_grants # Private foundation giving (990-PF)</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">└── federal_grants # USASpending.gov federal grants</span><br/></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-time-dimension-modeling>⏰ Time Dimension Modeling<a href=#-time-dimension-modeling class=hash-link aria-label="Direct link to ⏰ Time Dimension Modeling" title="Direct link to ⏰ Time Dimension Modeling" translate=no>​</a></h2>
<p>To enable robust time-series analysis, trend tracking, and temporal comparisons, we implement a comprehensive time dimension alongside our fact tables.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=time-dimension-table>Time Dimension Table<a href=#time-dimension-table class=hash-link aria-label="Direct link to Time Dimension Table" title="Direct link to Time Dimension Table" translate=no>​</a></h3>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token plain">DATE_DIMENSION {</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> PK</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> quarter </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> quarter_name string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token keyword" style=color:#00009f>month</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> month_name string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> month_abbr string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> day_of_month </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> day_of_week </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> day_name string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> day_abbr string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> week_of_year </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> fiscal_year </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> fiscal_quarter </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> fiscal_month </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> is_weekend </span><span class="token keyword" style=color:#00009f>boolean</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> is_holiday </span><span class="token keyword" style=color:#00009f>boolean</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> holiday_name string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> is_business_day </span><span class="token keyword" style=color:#00009f>boolean</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> days_in_month </span><span class="token keyword" style=color:#00009f>int</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> year_month string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> year_quarter string</span><br/></div><div class=token-line style=color:#393A34><span class="token plain">}</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=temporal-relationships>Temporal Relationships<a href=#temporal-relationships class=hash-link aria-label="Direct link to Temporal Relationships" title="Direct link to Temporal Relationships" translate=no>​</a></h3>
<p>All time-bound entities link to the date dimension for consistent temporal analysis:</p>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=temporal-analysis-patterns>Temporal Analysis Patterns<a href=#temporal-analysis-patterns class=hash-link aria-label="Direct link to Temporal Analysis Patterns" title="Direct link to Temporal Analysis Patterns" translate=no>​</a></h3>
<p><strong>Year-over-Year Comparisons:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> meeting_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>-</span><span class="token plain"> LAG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>OVER</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> yoy_change</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> MEETING m</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2023</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2025</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter_name</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Fiscal Period Aggregation:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_quarter</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">b</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_spending</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">b</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_spending</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> GOVERNMENT_BUDGET b</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> b</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> b</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'city'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_quarter</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Trend Detection:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Identify growing advocacy momentum</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">year_month</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> active_topics</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> related_meetings</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">measure_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> ballot_initiatives</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> DATE_DIMENSION d</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> MEETING m </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">oral_health_related </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>true</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> POLICY_TRACKER pt </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">start_date </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>COALESCE</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">end_date</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>CURRENT_DATE</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> BALLOT_MEASURE bm </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">election_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>>=</span><span class="token plain"> DATE_SUB</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>CURRENT_DATE</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTERVAL</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>24</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>MONTH</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">year_month</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">year_month</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-metric-views>πŸ“Š Metric Views<a href=#-metric-views class=hash-link aria-label="Direct link to πŸ“Š Metric Views" title="Direct link to πŸ“Š Metric Views" translate=no>​</a></h2>
<p>Metric views provide pre-aggregated, analysis-ready datasets combining multiple source tables with built-in dimensions, measures, and filters.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=core-metric-view-components>Core Metric View Components<a href=#core-metric-view-components class=hash-link aria-label="Direct link to Core Metric View Components" title="Direct link to Core Metric View Components" translate=no>​</a></h3>
<table><thead><tr><th>Component<th>Description<th>Example<tbody><tr><td><strong>Source</strong><td>Base table, view, or SQL query containing the data<td><code>MEETING</code>, <code>GOVERNMENT_BUDGET</code>, <code>NONPROFIT_FILING</code><tr><td><strong>Dimensions</strong><td>Column attributes used to segment or group metrics<td><code>jurisdiction_type</code>, <code>fiscal_year</code>, <code>policy_topic</code><tr><td><strong>Measures</strong><td>Column aggregations that produce metrics<td><code>COUNT(meeting_id) as meeting_count</code>, <code>SUM(grant_amount) as total_funding</code><tr><td><strong>Filters</strong><td>Conditions applied to source data to define scope<td><code>oral_health_related = true</code>, <code>fiscal_year > 2020</code><tr><td><strong>Joins</strong><td>Relationships between tables to enrich data<td><code>JOIN JURISDICTION ON meeting.jurisdiction_id = jurisdiction.jurisdiction_id</code></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=example-metric-views>Example Metric Views<a href=#example-metric-views class=hash-link aria-label="Direct link to Example Metric Views" title="Direct link to Example Metric Views" translate=no>​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-advocacy-activity-metrics>1. Advocacy Activity Metrics<a href=#1-advocacy-activity-metrics class=hash-link aria-label="Direct link to 1. Advocacy Activity Metrics" title="Direct link to 1. Advocacy Activity Metrics" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Track oral health advocacy momentum across jurisdictions</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_advocacy_activity </span><span class="token keyword" style=color:#00009f>AS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Dimensions</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">county_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">month_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Measures</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> meeting_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">measure_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> ballot_measure_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> l</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">bill_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> legislation_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> fc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">claim_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> fact_check_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Calculated Metrics</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>CASE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>WHEN</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">oral_health_related </span><span class="token keyword" style=color:#00009f>THEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>1</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>ELSE</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>END</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> oral_health_meeting_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>CASE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>WHEN</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">result </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'passed'</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>THEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>1</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>ELSE</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>END</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> ballot_success_rate</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">nonprofit_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> active_nonprofit_count</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> JURISDICTION j</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> DATE_SUB</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>CURRENT_DATE</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTERVAL</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>365</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>DAY</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>CURRENT_DATE</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> MEETING m </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">meeting_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> POLICY_TRACKER pt </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> BALLOT_MEASURE bm </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> bm</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">election_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> LEGISLATION l </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> l</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> l</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">introduced_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> FACT_CHECK fc </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> fc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">published_date </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> NONPROFIT n </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Filters</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">is_business_day </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>true</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> m</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">oral_health_related </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>true</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_area </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%oral health%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_area </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%dental%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_area </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%fluoride%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">county_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">quarter_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">month_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> pt</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">topic_name</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Usage:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Find top 10 most active jurisdictions for oral health advocacy</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">meeting_count</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_meetings</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">ballot_measure_count</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_ballot_measures</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">oral_health_meeting_count</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> oral_health_meetings</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> metric_advocacy_activity</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2025</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> jurisdiction_type</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> total_meetings </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LIMIT</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>10</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-government-spending-metrics>2. Government Spending Metrics<a href=#2-government-spending-metrics class=hash-link aria-label="Direct link to 2. Government Spending Metrics" title="Direct link to 2. Government Spending Metrics" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Analyze government budget allocations and trends</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_government_spending </span><span class="token keyword" style=color:#00009f>AS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Dimensions</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_quarter</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> bc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> budget_category</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Measures</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_revenue</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_expenditures</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_debt</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_debt</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">property_tax_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> property_tax_revenue</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">federal_grants</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> federal_grants</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_grants</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> state_grants</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Calculated Metrics</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> revenue_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> spending_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_debt</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> debt_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>-</span><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> budget_surplus_deficit</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">bc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">amount</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>100</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> category_pct_of_budget</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> JURISDICTION j</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2020</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2025</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> GOVERNMENT_BUDGET gb </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> BUDGET_CATEGORY bc </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> bc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">budget_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">budget_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Filters</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> gb</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenditures </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> j</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">population</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fiscal_quarter</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> bc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Usage:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Compare spending per capita across jurisdiction types</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> fiscal_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">spending_per_capita</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_spending_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">revenue_per_capita</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_revenue_per_capita</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>AVG</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">debt_per_capita</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> avg_debt_per_capita</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> metric_government_spending</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> jurisdiction_type</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> fiscal_year</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> fiscal_year </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> avg_spending_per_capita </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=3-nonprofit-impact-metrics>3. Nonprofit Impact Metrics<a href=#3-nonprofit-impact-metrics class=hash-link aria-label="Direct link to 3. Nonprofit Impact Metrics" title="Direct link to 3. Nonprofit Impact Metrics" translate=no>​</a></h4>
<p><strong>Purpose:</strong> Measure nonprofit activity, funding, and service delivery</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_nonprofit_impact </span><span class="token keyword" style=color:#00009f>AS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Dimensions</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">nonprofit_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">organization_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">city</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ntee_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">tax_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Measures</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_revenue</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_expenses</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_assets</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_assets</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">program_service_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> program_expenses</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fundraising_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> fundraising_expenses</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">management_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> management_expenses</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> g</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">grant_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> grants_received_count</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">g</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">grant_amount</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> total_grants_received</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Calculated Metrics</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">program_service_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>100</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> program_expense_ratio</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">fundraising_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>/</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>NULLIF</span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>100</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> fundraising_efficiency</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>-</span><span class="token plain"> </span><span class="token function" style=color:#d73a49>SUM</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_expenses</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> net_income</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token function" style=color:#d73a49>COUNT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token keyword" style=color:#00009f>DISTINCT</span><span class="token plain"> nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>as</span><span class="token plain"> years_active</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> NONPROFIT n</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> DATE_DIMENSION d </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>BETWEEN</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2020</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2025</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> NONPROFIT_FILING nf </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ein </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ein </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">tax_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> NONPROFIT_CAUSE nc </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">cause_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">primary_cause_id</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LEFT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>JOIN</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>GRANT</span><span class="token plain"> g </span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> g</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">recipient_ein </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ein </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> g</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">tax_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token keyword" style=color:#00009f>year</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Filters</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> nf</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">total_revenue </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>0</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%health%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%dental%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>OR</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">mission_statement </span><span class="token operator" style=color:#393A34>LIKE</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>'%oral health%'</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>GROUP</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">nonprofit_id</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">organization_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">state</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> n</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">city</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">ntee_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> nc</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">category_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> d</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">tax_year</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<p><strong>Usage:</strong></p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Identify high-performing health nonprofits by program efficiency</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> organization_name</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> state</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> tax_year</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> total_revenue</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> program_expense_ratio</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> fundraising_efficiency</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> metric_nonprofit_impact</span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>WHERE</span><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> tax_year </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2024</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> total_revenue </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>1000000</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token operator" style=color:#393A34>AND</span><span class="token plain"> program_expense_ratio </span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token number" style=color:#36acaa>75</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- More than 75% goes to programs</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ORDER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>BY</span><span class="token plain"> program_expense_ratio </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> total_revenue </span><span class="token keyword" style=color:#00009f>DESC</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>LIMIT</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>20</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=metric-view-best-practices>Metric View Best Practices<a href=#metric-view-best-practices class=hash-link aria-label="Direct link to Metric View Best Practices" title="Direct link to Metric View Best Practices" translate=no>​</a></h3>
<ol>
<li class=""><strong>Grain Definition</strong>: Clearly define the granularity of each metric view (e.g., per jurisdiction per month)</li>
<li class=""><strong>Performance</strong>: Pre-aggregate expensive calculations to improve query performance</li>
<li class=""><strong>Incremental Updates</strong>: Design views to support incremental refresh rather than full rebuilds</li>
<li class=""><strong>Documentation</strong>: Document all dimension values, measure calculations, and filter logic</li>
<li class=""><strong>Naming Convention</strong>: Use <code>metric_</code> prefix followed by descriptive name (e.g., <code>metric_advocacy_activity</code>)</li>
<li class=""><strong>Testing</strong>: Validate measure calculations against source data to ensure accuracy</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=query-optimization>Query Optimization<a href=#query-optimization class=hash-link aria-label="Direct link to Query Optimization" title="Direct link to Query Optimization" translate=no>​</a></h3>
<p>For large-scale analytics, metric views can be materialized:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Materialize for fast querying</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> MATERIALIZED </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_advocacy_activity_mat </span><span class="token keyword" style=color:#00009f>AS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>SELECT</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>*</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>FROM</span><span class="token plain"> metric_advocacy_activity</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Refresh incrementally</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">REFRESH MATERIALIZED </span><span class="token keyword" style=color:#00009f>VIEW</span><span class="token plain"> metric_advocacy_activity_mat</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Add indexes on common filter/join columns</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INDEX</span><span class="token plain"> idx_advocacy_state_year </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> metric_advocacy_activity_mat</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">state_code</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>year</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INDEX</span><span class="token plain"> idx_advocacy_jurisdiction </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>ON</span><span class="token plain"> metric_advocacy_activity_mat</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-system-internal-tables-omop-inspired-vocabulary>πŸ”§ System-Internal Tables (OMOP-Inspired Vocabulary)<a href=#-system-internal-tables-omop-inspired-vocabulary class=hash-link aria-label="Direct link to πŸ”§ System-Internal Tables (OMOP-Inspired Vocabulary)" title="Direct link to πŸ”§ System-Internal Tables (OMOP-Inspired Vocabulary)" translate=no>​</a></h2>
<p><strong>Purpose:</strong> Standardized terminology and concept management following OHDSI OMOP Common Data Model principles. These tables provide semantic interoperability and enable precise data linkage across all entities.</p>
<p><strong>⚠️ Technical Note:</strong> These are internal reference tables used by data engineers and ETL pipelines. Non-technical users can ignore this section.</p>
<div class=zoomableContainer_eg3Q><h3 class=diagramTitle_wap7>Vocabulary & Concept System (OMOP-Inspired)</h3><div class=controls_qlC_><span class=controlsLabel_Q_lQ>πŸ’‘ <strong>Tip:</strong> Use mouse wheel to zoom, click and drag to pan, or use the controls below</span></div><div class=zoomControls_aMCc><button class=zoomButton_CYM3 title="Zoom In">πŸ”+</button><button class=zoomButton_CYM3 title="Zoom Out">πŸ”βˆ’</button><button class=zoomButton_CYM3 title="Reset View">⟲ Reset</button></div><div class="react-transform-wrapper transform-component-module_wrapper__SPB86 transformWrapper_r8lz"><div class="react-transform-component transform-component-module_content__FBWxo transformContent_iWjG" style="transform:translate(0px, 0px) scale(6)"><div class=mermaidWrapper_atLc></div></div></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=vocabulary-sources>Vocabulary Sources<a href=#vocabulary-sources class=hash-link aria-label="Direct link to Vocabulary Sources" title="Direct link to Vocabulary Sources" translate=no>​</a></h3>
<table><thead><tr><th>Vocabulary ID<th>Vocabulary Name<th>Source<th>Use Case<tbody><tr><td><strong>OCD_ID</strong><td>Open Civic Data Division IDs<td><a href=https://github.com/opencivicdata/ocd-division-ids target=_blank rel="noopener noreferrer" class="">https://github.com/opencivicdata/ocd-division-ids</a><td>Standard jurisdiction identifiers<tr><td><strong>IRS_NTEE</strong><td>IRS National Taxonomy of Exempt Entities<td>IRS TEOS<td>Nonprofit classification<tr><td><strong>US_Census</strong><td>U.S. Census Bureau<td>Census Gazetteer, ACS<td>Demographics, geography<tr><td><strong>NCES</strong><td>National Center for Education Statistics<td>NCES CCD, F-33<td>School districts, education data<tr><td><strong>OHDSI_Gender</strong><td>OHDSI Gender<td>Athena<td>Standard gender concepts (interoperable with medical research)<tr><td><strong>OHDSI_Race</strong><td>OHDSI Race<td>Athena<td>Standard race concepts (OMB Classification)<tr><td><strong>OHDSI_Ethnicity</strong><td>OHDSI Ethnicity<td>Athena<td>Standard ethnicity concepts (Hispanic/Latino)<tr><td><strong>OpenNavigator</strong><td>Custom Civic Concepts<td>Internal<td>Cities, officials, topics (ID > 2,000,000,000)</table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=concept-classes-for-civic-data>Concept Classes for Civic Data<a href=#concept-classes-for-civic-data class=hash-link aria-label="Direct link to Concept Classes for Civic Data" title="Direct link to Concept Classes for Civic Data" translate=no>​</a></h3>
<table><thead><tr><th>Concept Class<th>Domain<th>Examples<tbody><tr><td><strong>City</strong><td>Jurisdiction<td>Incorporated places, consolidated city-counties<tr><td><strong>County</strong><td>Jurisdiction<td>U.S. counties, county equivalents<tr><td><strong>State</strong><td>Jurisdiction<td>U.S. states, territories, DC<tr><td><strong>School District</strong><td>Jurisdiction<td>LEAs (Local Educational Agencies)<tr><td><strong>501c3</strong><td>Nonprofit<td>Tax-exempt charitable organizations<tr><td><strong>501c4</strong><td>Nonprofit<td>Social welfare organizations<tr><td><strong>Mayor</strong><td>Position<td>Chief executive of city government<tr><td><strong>Council Member</strong><td>Position<td>Legislative member<tr><td><strong>Superintendent</strong><td>Position<td>School district chief administrator<tr><td><strong>Health Policy</strong><td>Topic<td>Fluoridation, nutrition, dental care<tr><td><strong>Education Policy</strong><td>Topic<td>School funding, curriculum, facilities</table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=example-concept-entries>Example Concept Entries<a href=#example-concept-entries class=hash-link aria-label="Direct link to Example Concept Entries" title="Direct link to Example Concept Entries" translate=no>​</a></h3>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- Standard concept for a city</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>2000000001</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_id (custom range)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Birmingham, Alabama'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_name</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Jurisdiction'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- domain_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'OCD_ID'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- vocabulary_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'City'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_class_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'S'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- standard_concept (Standard)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'ocd-division/country:us/state:al/place:birmingham'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_code</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2020-01-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- valid_start_date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- valid_end_date</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- invalid_reason</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Concept for a nonprofit cause</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>2000000101</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Animal Welfare'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_name</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Nonprofit'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- domain_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'IRS_NTEE'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- vocabulary_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'501c3'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_class_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'C'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- standard_concept (Classification)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'D20'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_code (NTEE code)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2020-01-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Gender concept from OHDSI Athena (interoperable with medical research)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>8507</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_id (OHDSI standard)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'MALE'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_name</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Gender'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- domain_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'OHDSI_Gender'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- vocabulary_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Gender'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- concept_class_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'S'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'M'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'1970-01-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=concept-relationships>Concept Relationships<a href=#concept-relationships class=hash-link aria-label="Direct link to Concept Relationships" title="Direct link to Concept Relationships" translate=no>​</a></h3>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token comment" style=color:#999988;font-style:italic>-- City is part of County</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT_RELATIONSHIP </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>2000000001</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Birmingham, AL (concept_id_1)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>2000000050</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Jefferson County, AL (concept_id_2)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Is part of'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- relationship_id</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2020-01-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Topic regulates Legislation</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT_RELATIONSHIP </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>2000000201</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Water Fluoridation topic</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>2000000305</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Ordinance 101</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Regulates'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2024-01-15'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic>-- Organization addresses Topic</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>INSERT</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>INTO</span><span class="token plain"> CONCEPT_RELATIONSHIP </span><span class="token keyword" style=color:#00009f>VALUES</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>2000000401</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Dental Health Foundation</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token number" style=color:#36acaa>2000000201</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Water Fluoridation</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'Addresses'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2023-06-01'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token string" style=color:#e3116c>'2099-12-31'</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token boolean" style=color:#36acaa>NULL</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=implementation-in-existing-tables>Implementation in Existing Tables<a href=#implementation-in-existing-tables class=hash-link aria-label="Direct link to Implementation in Existing Tables" title="Direct link to Implementation in Existing Tables" translate=no>​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=updated-jurisdiction-schema>Updated JURISDICTION Schema<a href=#updated-jurisdiction-schema class=hash-link aria-label="Direct link to Updated JURISDICTION Schema" title="Direct link to Updated JURISDICTION Schema" translate=no>​</a></h4>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>TABLE</span><span class="token plain"> JURISDICTION </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> jurisdiction_id </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>PRIMARY</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>KEY</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> name </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> jurisdiction_type </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>50</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- OMOP-style concept references</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> city_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> city_type_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- e.g., "Consolidated City-County"</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Original text from data source (e.g., "SF, Calif")</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> state_code </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>2</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> county_name </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>100</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> population </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- ... other fields</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=updated-organization-schema>Updated ORGANIZATION Schema<a href=#updated-organization-schema class=hash-link aria-label="Direct link to Updated ORGANIZATION Schema" title="Direct link to Updated ORGANIZATION Schema" translate=no>​</a></h4>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>TABLE</span><span class="token plain"> ORGANIZATION </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> org_id </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>PRIMARY</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>KEY</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> ein </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>20</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> name </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- OMOP-style concept references</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> organization_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> cause_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Links to NTEE concept</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> org_type_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- 501c3, 501c4, etc.</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Original organization name from IRS</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> ntee_code </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>10</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- ... other fields</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id=updated-demographics-schema>Updated DEMOGRAPHICS Schema<a href=#updated-demographics-schema class=hash-link aria-label="Direct link to Updated DEMOGRAPHICS Schema" title="Direct link to Updated DEMOGRAPHICS Schema" translate=no>​</a></h4>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>CREATE</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>TABLE</span><span class="token plain"> DEMOGRAPHICS </span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> demographics_id </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>PRIMARY</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>KEY</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> jurisdiction_id </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>255</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> JURISDICTION</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">jurisdiction_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- OMOP-style concept references (OHDSI Athena vocabularies)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> race_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Standard OHDSI race codes</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> ethnicity_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Hispanic/Latino classification</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> gender_concept_id </span><span class="token keyword" style=color:#00009f>INTEGER</span><span class="token plain"> </span><span class="token keyword" style=color:#00009f>REFERENCES</span><span class="token plain"> CONCEPT</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- MALE/FEMALE/OTHER</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> race_source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>100</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Census text (e.g., "White alone")</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> ethnicity_source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>100</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Census text</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> gender_source_value </span><span class="token keyword" style=color:#00009f>VARCHAR</span><span class="token punctuation" style=color:#393A34>(</span><span class="token number" style=color:#36acaa>50</span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- Census text</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic>-- ... other demographic fields</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token punctuation" style=color:#393A34>)</span><span class="token punctuation" style=color:#393A34>;</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=benefits-of-omop-style-vocabulary>Benefits of OMOP-Style Vocabulary<a href=#benefits-of-omop-style-vocabulary class=hash-link aria-label="Direct link to Benefits of OMOP-Style Vocabulary" title="Direct link to Benefits of OMOP-Style Vocabulary" translate=no>​</a></h3>
<ol>
<li class=""><strong>Semantic Interoperability</strong>: Civic data can be joined with healthcare research data using standard OHDSI demographic concepts</li>
<li class=""><strong>Reproducible IDs</strong>: Deterministic hashing (uuid5) on strings like "JURISDICTION:CITY<!-- -->:NEW_YORK<!-- -->" generates consistent concept_id values</li>
<li class=""><strong>Version Control</strong>: <code>valid_start_date</code> and <code>valid_end_date</code> track concept changes over time</li>
<li class=""><strong>Relationship Tracking</strong>: <code>CONCEPT_RELATIONSHIP</code> table captures hierarchies (City β†’ County β†’ State) and associations (Topic β†’ Legislation)</li>
<li class=""><strong>Source Traceability</strong>: <code>source_value</code> preserves original text while <code>concept_id</code> provides standardized reference</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=etl-mapping-strategy>ETL Mapping Strategy<a href=#etl-mapping-strategy class=hash-link aria-label="Direct link to ETL Mapping Strategy" title="Direct link to ETL Mapping Strategy" translate=no>​</a></h3>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#393A34;--prism-background-color:#f6f8fa><div class=codeBlockContent_QJqH><pre tabindex=0 class="prism-code language-python codeBlock_bY9V thin-scrollbar" style=color:#393A34;background-color:#f6f8fa><code class=codeBlockLines_e6Vv><div class=token-line style=color:#393A34><span class="token keyword" style=color:#00009f>import</span><span class="token plain"> uuid</span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>def</span><span class="token plain"> </span><span class="token function" style=color:#d73a49>generate_concept_id</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">domain</span><span class="token punctuation" style=color:#393A34>:</span><span class="token plain"> </span><span class="token builtin">str</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token builtin">type</span><span class="token punctuation" style=color:#393A34>:</span><span class="token plain"> </span><span class="token builtin">str</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> identifier</span><span class="token punctuation" style=color:#393A34>:</span><span class="token plain"> </span><span class="token builtin">str</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>-</span><span class="token operator" style=color:#393A34>></span><span class="token plain"> </span><span class="token builtin">int</span><span class="token punctuation" style=color:#393A34>:</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token triple-quoted-string string" style=color:#e3116c>"""</span><br/></div><div class=token-line style=color:#393A34><span class="token triple-quoted-string string" style=color:#e3116c> Generate deterministic concept_id using UUID5.</span><br/></div><div class=token-line style=color:#393A34><span class="token triple-quoted-string string" style=color:#e3116c> Returns integer > 2,000,000,000 for custom civic concepts.</span><br/></div><div class=token-line style=color:#393A34><span class="token triple-quoted-string string" style=color:#e3116c> """</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> namespace </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> uuid</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">UUID</span><span class="token punctuation" style=color:#393A34>(</span><span class="token string" style=color:#e3116c>'6ba7b810-9dad-11d1-80b4-00c04fd430c8'</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic># OMOP namespace</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> concept_string </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> </span><span class="token string-interpolation string" style=color:#e3116c>f"</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>{</span><span class="token string-interpolation interpolation">domain</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>}</span><span class="token string-interpolation string" style=color:#e3116c>:</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>{</span><span class="token string-interpolation interpolation builtin">type</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>}</span><span class="token string-interpolation string" style=color:#e3116c>:</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>{</span><span class="token string-interpolation interpolation">identifier</span><span class="token string-interpolation interpolation punctuation" style=color:#393A34>}</span><span class="token string-interpolation string" style=color:#e3116c>"</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">upper</span><span class="token punctuation" style=color:#393A34>(</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> concept_uuid </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> uuid</span><span class="token punctuation" style=color:#393A34>.</span><span class="token plain">uuid5</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">namespace</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> concept_string</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic># Convert to integer in custom range</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"> </span><span class="token keyword" style=color:#00009f>return</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>2_000_000_000</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>+</span><span class="token plain"> </span><span class="token punctuation" style=color:#393A34>(</span><span class="token builtin">int</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">concept_uuid</span><span class="token punctuation" style=color:#393A34>.</span><span class="token builtin">hex</span><span class="token punctuation" style=color:#393A34>[</span><span class="token punctuation" style=color:#393A34>:</span><span class="token number" style=color:#36acaa>8</span><span class="token punctuation" style=color:#393A34>]</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>16</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token operator" style=color:#393A34>%</span><span class="token plain"> </span><span class="token number" style=color:#36acaa>1_000_000_000</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain" style=display:inline-block></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token comment" style=color:#999988;font-style:italic># Example usage</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain">city_concept_id </span><span class="token operator" style=color:#393A34>=</span><span class="token plain"> generate_concept_id</span><span class="token punctuation" style=color:#393A34>(</span><span class="token string" style=color:#e3116c>"JURISDICTION"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"CITY"</span><span class="token punctuation" style=color:#393A34>,</span><span class="token plain"> </span><span class="token string" style=color:#e3116c>"NEW_YORK"</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"></span><br/></div><div class=token-line style=color:#393A34><span class="token plain"></span><span class="token keyword" style=color:#00009f>print</span><span class="token punctuation" style=color:#393A34>(</span><span class="token plain">city_concept_id</span><span class="token punctuation" style=color:#393A34>)</span><span class="token plain"> </span><span class="token comment" style=color:#999988;font-style:italic># e.g., 2045879021 (repeatable)</span><br/></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=downloading-ohdsi-athena-vocabularies>Downloading OHDSI Athena Vocabularies<a href=#downloading-ohdsi-athena-vocabularies class=hash-link aria-label="Direct link to Downloading OHDSI Athena Vocabularies" title="Direct link to Downloading OHDSI Athena Vocabularies" translate=no>​</a></h3>
<ol>
<li class="">Visit <a href=https://athena.ohdsi.org/ target=_blank rel="noopener noreferrer" class="">https://athena.ohdsi.org/</a></li>
<li class="">Select vocabularies:<!-- -->
<ul>
<li class="">βœ… Gender</li>
<li class="">βœ… Race</li>
<li class="">βœ… Ethnicity</li>
<li class="">βœ… Geography (US Counties, States)</li>
</ul>
</li>
<li class="">Download CSV files</li>
<li class="">Import into <code>vocabulary/</code> folder:<!-- -->
<ul>
<li class=""><code>vocabulary_gender.parquet</code></li>
<li class=""><code>vocabulary_race.parquet</code></li>
<li class=""><code>vocabulary_ethnicity.parquet</code></li>
<li class=""><code>vocabulary_geography.parquet</code></li>
</ul>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-missing-datasets-to-add>🎯 Missing Datasets to Add<a href=#-missing-datasets-to-add class=hash-link aria-label="Direct link to 🎯 Missing Datasets to Add" title="Direct link to 🎯 Missing Datasets to Add" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=high-priority>High Priority<a href=#high-priority class=hash-link aria-label="Direct link to High Priority" title="Direct link to High Priority" translate=no>​</a></h3>
<ul class="contains-task-list containsTaskList_mC6p">
<li class=task-list-item><input type=checkbox disabled checked/> <strong>Ballot Measures</strong> - βœ… Added to data model! Fluoridation votes, bond measures</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>State Legislation</strong> - βœ… Added to data model! Open States API (FREE)</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>Policy Topics</strong> - βœ… Added to data model! Oral health advocacy tracking</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>Government Finances</strong> - βœ… Added to data model! City/county/state budgets, Census of Governments</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>School Finances</strong> - βœ… Added to data model! NCES F-33 per-pupil spending, revenues</li>
<li class=task-list-item><input type=checkbox disabled checked/> <strong>Nonprofit Financials</strong> - βœ… Added to data model! Form 990 detailed financials (10M+ filings)</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Census Demographics</strong> - Full census data per jurisdiction (beyond population)</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Procurement Records</strong> - Government contracts</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Election Results</strong> - Historical voting data</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Health Outcomes</strong> - CDC PLACES data (oral health metrics!)</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Environmental Data</strong> - EPA water quality (fluoridation levels)</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=medium-priority>Medium Priority<a href=#medium-priority class=hash-link aria-label="Direct link to Medium Priority" title="Direct link to Medium Priority" translate=no>​</a></h3>
<ul class="contains-task-list containsTaskList_mC6p">
<li class=task-list-item><input type=checkbox disabled/> <strong>Property Records</strong> - Public assessment data</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Crime Statistics</strong> - UCR/NIBRS data</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Business Licenses</strong> - Local business registrations (dental clinics!)</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Building Permits</strong> - Construction activity</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Code Violations</strong> - Inspection records</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Police Reports</strong> - Public safety incidents</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Fire Department Data</strong> - Emergency response</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Parks & Recreation</strong> - Facilities & programs</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Transportation Data</strong> - Traffic & transit</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=integration-improvements>Integration Improvements<a href=#integration-improvements class=hash-link aria-label="Direct link to Integration Improvements" title="Direct link to Integration Improvements" translate=no>​</a></h3>
<ul class="contains-task-list containsTaskList_mC6p">
<li class=task-list-item><input type=checkbox disabled/> <strong>Full Wikidata Sync</strong> - All civic entities</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>DBpedia Expansion</strong> - Complete local government coverage</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Ballotpedia Data</strong> - (if budget allows) Electoral info & analysis</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Court Records</strong> - Public dockets</li>
<li class=task-list-item><input type=checkbox disabled/> <strong>Tax Records</strong> - Property tax data</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-implementation-status>πŸš€ Implementation Status<a href=#-implementation-status class=hash-link aria-label="Direct link to πŸš€ Implementation Status" title="Direct link to πŸš€ Implementation Status" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=-completed>βœ… Completed<a href=#-completed class=hash-link aria-label="Direct link to βœ… Completed" title="Direct link to βœ… Completed" translate=no>​</a></h3>
<ul>
<li class="">Jurisdiction discovery pipeline</li>
<li class="">YouTube channel discovery</li>
<li class="">Meeting platform detection</li>
<li class="">NCES school district ingestion</li>
<li class="">Open States API integration</li>
<li class="">Wikidata SPARQL queries</li>
<li class="">DBpedia Lookup API</li>
<li class="">Google Civic API (code ready)</li>
<li class="">Social media discovery</li>
<li class="">HuggingFace upload pipeline</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=-in-progress>πŸ”¨ In Progress<a href=#-in-progress class=hash-link aria-label="Direct link to πŸ”¨ In Progress" title="Direct link to πŸ”¨ In Progress" translate=no>​</a></h3>
<ul>
<li class="">Meeting minutes extraction (Tuscaloosa pilot)</li>
<li class="">Video transcript processing</li>
<li class="">Document keyword detection</li>
<li class="">Nonprofit data enrichment</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=-planned>πŸ“‹ Planned<a href=#-planned class=hash-link aria-label="Direct link to πŸ“‹ Planned" title="Direct link to πŸ“‹ Planned" translate=no>​</a></h3>
<ul>
<li class="">Automated meeting scraping at scale</li>
<li class="">Real-time meeting notifications</li>
<li class="">Budget document parsing</li>
<li class="">Full census integration</li>
<li class="">Health outcome correlation</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-related-documentation>πŸ“š Related Documentation<a href=#-related-documentation class=hash-link aria-label="Direct link to πŸ“š Related Documentation" title="Direct link to πŸ“š Related Documentation" translate=no>​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=data-standards--specifications>Data Standards & Specifications<a href=#data-standards--specifications class=hash-link aria-label="Direct link to Data Standards & Specifications" title="Direct link to Data Standards & Specifications" translate=no>​</a></h3>
<ul>
<li class="">
<p><strong><a href=https://github.com/popolo-project/popolo-spec target=_blank rel="noopener noreferrer" class="">Popolo Project</a></strong> - Open government data specification for people, organizations, and elected positions. Our LEADER, ORGANIZATION, and JURISDICTION entities follow Popolo schema conventions for maximum interoperability with civic tech platforms.</p>
</li>
<li class="">
<p><strong><a href=https://schema.org/ target=_blank rel="noopener noreferrer" class="">Schema.org</a></strong> - W3C structured data vocabulary for semantic web. Our entities map to Schema.org types (Event, Person, Organization, Legislation, ClaimReview, etc.) enabling SEO-optimized JSON-LD exports, Google Search rich results, and voice assistant compatibility.</p>
</li>
<li class="">
<p><strong><a href=https://ceds.ed.gov/ target=_blank rel="noopener noreferrer" class="">Common Education Data Standards (CEDS)</a></strong> - U.S. Department of Education data standards for K-12, postsecondary, and workforce data. Our SCHOOL_DISTRICT entity aligns with CEDS Element IDs and NCES survey specifications (CCD, F-33 Finance).</p>
</li>
<li class="">
<p><strong><a href=https://open-civic-data.readthedocs.io/en/latest/proposals/0002.html target=_blank rel="noopener noreferrer" class="">Open Civic Data (OCD-IDs)</a></strong> - Standardized division identifiers for jurisdictions. Format: <code>ocd-division/country:us/state:al/place:birmingham</code></p>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=internal-documentation>Internal Documentation<a href=#internal-documentation class=hash-link aria-label="Direct link to Internal Documentation" title="Direct link to Internal Documentation" translate=no>​</a></h3>
<ul>
<li class=""><a class="" href=/docs/guides/huggingface-publishing>HuggingFace Publishing Guide</a></li>
<li class=""><a class="" href=/docs/data-sources/overview>Data Sources Overview</a></li>
<li class=""><a class="" href=/docs/data-sources/jurisdiction-discovery>Discovery Pipeline</a></li>
</ul>
<hr/>
<p><strong>Last Updated:</strong> <!-- -->2026-05-03</p>
<p><strong>Data Model Version:</strong> 2.1 (Popolo-compatible)</div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href=https://github.com/getcommunityone/open-navigator-for-engagement/tree/main/website/docs/data-sources/data-model-erd.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_Z9Sw aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/docs/legal-compliance><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Legal & Compliance</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/docs/data-sources/jurisdiction-discovery><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Jurisdiction Discovery System</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#-huggingface-dataset-structure class="table-of-contents__link toc-highlight">οΏ½ HuggingFace Dataset Structure</a><ul><li><a href=#current-datasets-being-uploaded class="table-of-contents__link toc-highlight">Current Datasets Being Uploaded</a><li><a href=#parquet-file-naming-convention class="table-of-contents__link toc-highlight">Parquet File Naming Convention</a></ul><li><a href=#-data-extraction-pipeline class="table-of-contents__link toc-highlight">πŸ”„ Data Extraction Pipeline</a><ul><li><a href=#phase-1-discovery-bronze-layer class="table-of-contents__link toc-highlight">Phase 1: Discovery (Bronze Layer)</a><li><a href=#phase-2-enrichment-silver-layer class="table-of-contents__link toc-highlight">Phase 2: Enrichment (Silver Layer)</a><li><a href=#phase-3-processing-gold-layer class="table-of-contents__link toc-highlight">Phase 3: Processing (Gold Layer)</a><li><a href=#new-dataset-categories-explained class="table-of-contents__link toc-highlight">New Dataset Categories Explained</a><ul><li><a href=#-analytics-datasets class="table-of-contents__link toc-highlight">πŸ“Š Analytics Datasets</a><li><a href=#-standards-compliant-exports class="table-of-contents__link toc-highlight">🌐 Standards-Compliant Exports</a><li><a href=#-fact-checking-datasets class="table-of-contents__link toc-highlight">βœ… Fact-Checking Datasets</a></ul></ul><li><a href=#-complete-data-model-erd class="table-of-contents__link toc-highlight">οΏ½πŸ“Š Complete Data Model (ERD)</a><li><a href=#️-political-economy-analysis-framework class="table-of-contents__link toc-highlight">βš–οΈ Political Economy Analysis Framework</a><ul><li><a href=#the-4-step-framework-for-effective-change class="table-of-contents__link toc-highlight">The 4-Step Framework for Effective Change</a><ul><li><a href=#step-1-rhetoric-gap---frame-analysis class="table-of-contents__link toc-highlight">Step 1: Rhetoric Gap - <strong>Frame Analysis</strong></a><li><a href=#step-2-displacement-matrix---budget-to-minutes-delta class="table-of-contents__link toc-highlight">Step 2: Displacement Matrix - <strong>Budget-to-Minutes Delta</strong></a><li><a href=#step-3-influence-radar---stakeholder-analysis class="table-of-contents__link toc-highlight">Step 3: Influence Radar - <strong>Stakeholder Analysis</strong></a><li><a href=#step-4-deferral-pattern---temporal-voting-analysis class="table-of-contents__link toc-highlight">Step 4: Deferral Pattern - <strong>Temporal Voting Analysis</strong></a></ul><li><a href=#quantitative-why-indicators class="table-of-contents__link toc-highlight">Quantitative "Why" Indicators</a><li><a href=#implementation-files class="table-of-contents__link toc-highlight">Implementation Files</a></ul><li><a href=#-data-standards--interoperability class="table-of-contents__link toc-highlight">🌐 Data Standards & Interoperability</a><ul><li><a href=#popolo-project-alignment class="table-of-contents__link toc-highlight">Popolo Project Alignment</a><ul><li><a href=#popolo-class-mappings class="table-of-contents__link toc-highlight">Popolo Class Mappings</a><li><a href=#schemaorg-type-mappings class="table-of-contents__link toc-highlight">Schema.org Type Mappings</a><li><a href=#common-education-data-standards-ceds-alignment class="table-of-contents__link toc-highlight">Common Education Data Standards (CEDS) Alignment</a><li><a href=#microsoft-common-data-model-for-nonprofits class="table-of-contents__link toc-highlight">Microsoft Common Data Model for Nonprofits</a><li><a href=#underlying-standards class="table-of-contents__link toc-highlight">Underlying Standards</a><li><a href=#benefits-of-standards-compliance class="table-of-contents__link toc-highlight">Benefits of Standards Compliance</a><li><a href=#example-popolo-compatible-json-ld-export class="table-of-contents__link toc-highlight">Example: Popolo-Compatible JSON-LD Export</a></ul><li><a href=#open-civic-data-ocd-id-identifiers class="table-of-contents__link toc-highlight">Open Civic Data (OCD-ID) Identifiers</a></ul><li><a href=#-data-statistics class="table-of-contents__link toc-highlight">πŸ“Š Data Statistics</a><li><a href=#-see-also class="table-of-contents__link toc-highlight">οΏ½ See Also</a><li><a href=#-meeting--event-types class="table-of-contents__link toc-highlight">οΏ½πŸ“ Meeting & Event Types</a><ul><li><a href=#event-categories-in-the-meeting-entity class="table-of-contents__link toc-highlight">Event Categories in the MEETING Entity</a><ul><li><a href=#1-government-meetings-event_category-government_meeting class="table-of-contents__link toc-highlight">1. <strong>Government Meetings</strong> (<code>event_category: "government_meeting"</code>)</a><li><a href=#2-public-hearings-event_category-public_hearing class="table-of-contents__link toc-highlight">2. <strong>Public Hearings</strong> (<code>event_category: "public_hearing"</code>)</a><li><a href=#3-community-events-event_category-community_event class="table-of-contents__link toc-highlight">3. <strong>Community Events</strong> (<code>event_category: "community_event"</code>)</a><li><a href=#4-trainings-event_category-training--new class="table-of-contents__link toc-highlight">4. <strong>Trainings</strong> (<code>event_category: "training"</code>) ⭐ NEW</a></ul><li><a href=#why-trainings-matter-for-advocacy class="table-of-contents__link toc-highlight">Why Trainings Matter for Advocacy</a><li><a href=#meeting-types-within-each-category class="table-of-contents__link toc-highlight">Meeting Types Within Each Category</a></ul><li><a href=#-nonprofit-funding-source-tracking class="table-of-contents__link toc-highlight">οΏ½πŸ’° Nonprofit Funding Source Tracking</a><ul><li><a href=#revenue-source-breakdown-form-990-data class="table-of-contents__link toc-highlight">Revenue Source Breakdown (Form 990 Data)</a><ul><li><a href=#1-grant-revenue-institutional-funding class="table-of-contents__link toc-highlight">1. <strong>Grant Revenue</strong> (Institutional Funding)</a><li><a href=#2-donation-revenue-community-funding class="table-of-contents__link toc-highlight">2. <strong>Donation Revenue</strong> (Community Funding)</a><li><a href=#3-earned-revenue-self-sufficiency class="table-of-contents__link toc-highlight">3. <strong>Earned Revenue</strong> (Self-Sufficiency)</a><li><a href=#4-investment-revenue class="table-of-contents__link toc-highlight">4. <strong>Investment Revenue</strong></a><li><a href=#5-other-revenue class="table-of-contents__link toc-highlight">5. <strong>Other Revenue</strong></a></ul><li><a href=#calculated-metrics class="table-of-contents__link toc-highlight">Calculated Metrics</a><li><a href=#why-this-matters-for-advocacy class="table-of-contents__link toc-highlight">Why This Matters for Advocacy</a></ul><li><a href=#-grant-tracking-system class="table-of-contents__link toc-highlight">πŸ’΅ Grant Tracking System</a><ul><li><a href=#individual-grant-transactions-grant-entity class="table-of-contents__link toc-highlight">Individual Grant Transactions (GRANT Entity)</a><ul><li><a href=#grant-fields class="table-of-contents__link toc-highlight">Grant Fields</a><li><a href=#data-sources class="table-of-contents__link toc-highlight">Data Sources</a></ul><li><a href=#why-grant-tracking-matters class="table-of-contents__link toc-highlight">Why Grant Tracking Matters</a><ul><li><a href=#example-questions-now-answerable class="table-of-contents__link toc-highlight">Example Questions Now Answerable:</a></ul><li><a href=#dataset-structure class="table-of-contents__link toc-highlight">Dataset Structure</a></ul><li><a href=#-time-dimension-modeling class="table-of-contents__link toc-highlight">⏰ Time Dimension Modeling</a><ul><li><a href=#time-dimension-table class="table-of-contents__link toc-highlight">Time Dimension Table</a><li><a href=#temporal-relationships class="table-of-contents__link toc-highlight">Temporal Relationships</a><li><a href=#temporal-analysis-patterns class="table-of-contents__link toc-highlight">Temporal Analysis Patterns</a></ul><li><a href=#-metric-views class="table-of-contents__link toc-highlight">πŸ“Š Metric Views</a><ul><li><a href=#core-metric-view-components class="table-of-contents__link toc-highlight">Core Metric View Components</a><li><a href=#example-metric-views class="table-of-contents__link toc-highlight">Example Metric Views</a><ul><li><a href=#1-advocacy-activity-metrics class="table-of-contents__link toc-highlight">1. Advocacy Activity Metrics</a><li><a href=#2-government-spending-metrics class="table-of-contents__link toc-highlight">2. Government Spending Metrics</a><li><a href=#3-nonprofit-impact-metrics class="table-of-contents__link toc-highlight">3. Nonprofit Impact Metrics</a></ul><li><a href=#metric-view-best-practices class="table-of-contents__link toc-highlight">Metric View Best Practices</a><li><a href=#query-optimization class="table-of-contents__link toc-highlight">Query Optimization</a></ul><li><a href=#-system-internal-tables-omop-inspired-vocabulary class="table-of-contents__link toc-highlight">πŸ”§ System-Internal Tables (OMOP-Inspired Vocabulary)</a><ul><li><a href=#vocabulary-sources class="table-of-contents__link toc-highlight">Vocabulary Sources</a><li><a href=#concept-classes-for-civic-data class="table-of-contents__link toc-highlight">Concept Classes for Civic Data</a><li><a href=#example-concept-entries class="table-of-contents__link toc-highlight">Example Concept Entries</a><li><a href=#concept-relationships class="table-of-contents__link toc-highlight">Concept Relationships</a><li><a href=#implementation-in-existing-tables class="table-of-contents__link toc-highlight">Implementation in Existing Tables</a><ul><li><a href=#updated-jurisdiction-schema class="table-of-contents__link toc-highlight">Updated JURISDICTION Schema</a><li><a href=#updated-organization-schema class="table-of-contents__link toc-highlight">Updated ORGANIZATION Schema</a><li><a href=#updated-demographics-schema class="table-of-contents__link toc-highlight">Updated DEMOGRAPHICS Schema</a></ul><li><a href=#benefits-of-omop-style-vocabulary class="table-of-contents__link toc-highlight">Benefits of OMOP-Style Vocabulary</a><li><a href=#etl-mapping-strategy class="table-of-contents__link toc-highlight">ETL Mapping Strategy</a><li><a href=#downloading-ohdsi-athena-vocabularies class="table-of-contents__link toc-highlight">Downloading OHDSI Athena Vocabularies</a></ul><li><a href=#-missing-datasets-to-add class="table-of-contents__link toc-highlight">🎯 Missing Datasets to Add</a><ul><li><a href=#high-priority class="table-of-contents__link toc-highlight">High Priority</a><li><a href=#medium-priority class="table-of-contents__link toc-highlight">Medium Priority</a><li><a href=#integration-improvements class="table-of-contents__link toc-highlight">Integration Improvements</a></ul><li><a href=#-implementation-status class="table-of-contents__link toc-highlight">πŸš€ Implementation Status</a><ul><li><a href=#-completed class="table-of-contents__link toc-highlight">βœ… Completed</a><li><a href=#-in-progress class="table-of-contents__link toc-highlight">πŸ”¨ In Progress</a><li><a href=#-planned class="table-of-contents__link toc-highlight">πŸ“‹ Planned</a></ul><li><a href=#-related-documentation class="table-of-contents__link toc-highlight">πŸ“š Related Documentation</a><ul><li><a href=#data-standards--specifications class="table-of-contents__link toc-highlight">Data Standards & Specifications</a><li><a href=#internal-documentation class="table-of-contents__link toc-highlight">Internal Documentation</a></ul></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Documentation</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/docs/intro>Getting Started</a><li class=footer__item><a class=footer__link-item href=/docs/data-sources/citations>Citations & Data Sources</a><li class=footer__item><a class=footer__link-item href=/docs/data-sources/overview>Data Sources</a><li class=footer__item><a class=footer__link-item href=/docs/for-developers>For Developers</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Resources</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.communityone.com target=_blank rel="noopener noreferrer" class=footer__link-item>Launch Open Navigator<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://github.com/getcommunityone/open-navigator-for-engagement target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.groundvue.org/ target=_blank rel="noopener noreferrer" class=footer__link-item>GroundVue (Partner)<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://www.instagram.com/getcommunityone/ target=_blank rel="noopener noreferrer" class=footer__link-item>Instagram<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.facebook.com/getcommunityone target=_blank rel="noopener noreferrer" class=footer__link-item>Facebook<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://x.com/getcommunityone/ target=_blank rel="noopener noreferrer" class=footer__link-item>X (Twitter)<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.linkedin.com/company/getcommunityone target=_blank rel="noopener noreferrer" class=footer__link-item>LinkedIn<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.youtube.com/@getcommunityone target=_blank rel="noopener noreferrer" class=footer__link-item>YouTube<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://discord.gg/uH6Dytek target=_blank rel="noopener noreferrer" class=footer__link-item>Discord<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Legal</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/docs/legal/privacy-policy>Privacy Policy</a><li class=footer__item><a class=footer__link-item href=/docs/legal/terms-of-service>Terms of Service</a><li class=footer__item><a class=footer__link-item href=/docs/legal/data-provider-terms>Data Provider Terms</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/blog>Blog</a><li class=footer__item><a href=https://github.com/getcommunityone/open-navigator-for-engagement/blob/main/LICENSE target=_blank rel="noopener noreferrer" class=footer__link-item>License (MIT)<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright Β© 2026 Community One. Built with Docusaurus.</div></div></div></footer></div></body>