{"id":30369394,"url":"https://github.com/dsacms/npd","last_synced_at":"2026-01-05T21:21:47.875Z","repository":{"id":302274074,"uuid":"1001606310","full_name":"DSACMS/npd","owner":"DSACMS","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-16T02:57:30.000Z","size":35160,"stargazers_count":2,"open_issues_count":12,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-16T04:34:12.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DSACMS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS.md","security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-13T17:11:32.000Z","updated_at":"2025-08-06T12:47:09.000Z","dependencies_parsed_at":"2025-07-18T14:18:35.011Z","dependency_job_id":"00c5dce0-2ab7-4244-bb9c-97e06f9e6c84","html_url":"https://github.com/DSACMS/npd","commit_stats":null,"previous_names":["dsacms/ndh","dsacms/npd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DSACMS/npd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2Fnpd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2Fnpd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2Fnpd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2Fnpd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DSACMS","download_url":"https://codeload.github.com/DSACMS/npd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2Fnpd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271252993,"owners_count":24726918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-20T02:15:32.638Z","updated_at":"2026-01-02T21:10:33.288Z","avatar_url":"https://github.com/DSACMS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CMS National Provider Directory\n\n- [CMS National Provider Directory](#cms-national-provider-directory)\n  - [About the Project](#about-the-project)\n    - [Problem](#problem)\n    - [Main Challenges](#main-challenges)\n      - [Planned Solution](#planned-solution)\n    - [Project Vision](#project-vision)\n    - [Agency Mission](#agency-mission)\n    - [Team Mission](#team-mission)\n  - [Core Team](#core-team)\n  - [Repository Structure](#repository-structure)\n- [Development and Software Delivery Lifecycle](#development-and-software-delivery-lifecycle)\n  - [Community](#community)\n    - [Community Guidelines](#community-guidelines)\n  - [Governance](#governance)\n  - [Feedback](#feedback)\n  - [Policies](#policies)\n    - [Open Source Policy](#open-source-policy)\n    - [Security and Responsible Disclosure Policy](#security-and-responsible-disclosure-policy)\n    - [Software Bill of Materials (SBOM)](#software-bill-of-materials-sbom)\n  - [Public domain](#public-domain)\n\n## About the Project\n\n### Problem\n\nCMS maintains the country’s de facto provider directory because of the agency’s role in registering new doctors for a National Provider ID in the National Plan and Provider Enumeration System (NPPES), and because of the agency’s role in enrolling providers in Medicare, overseeing the State Medicaid programs, and running the Federally-facilitated marketplace.\n\nEnrollment for Medicaid happens in the states, but for Medicare, the enrollment workflow happens in the Provider Enrollment, Chain, and Ownership System (PECOS). However, NPPES and PECOS data is often inaccurate and lacks key interoperability information needed by CMS and the industry. The Medicare enrollment process provides some validation of the information, but the process is done in multiple systems, partly performed by CMS and partly performed by regional Medicare Administrative Contractors (MACs).\n\nAdditionally, there are several paper forms (received by fax) involved in the process and proprietary solutions used by the MACs to validate the data before submitting it back to CMS. These processes are duplicative, ineffective, costly, and the improved information is not shared back with the industry.\n\nThe healthcare system has been begging for a single directory at CMS for decades and the cost to the larger healthcare industry of not having one is estimated at $2.76B a year.\n\n### Main Challenges\n\n* There is no reliable single source of truth for accurate provider information. CMS itself has at least five systems that manage provider information. The CMS NPPES system is the default directory used as a starter provider database for the industry, but due to data quality problems , it is branched and corrected over 5,000 times in the industry where updates are applied in silos.\n* Provider directories across the industry are inaccurate, with manual validation done over the phone, or via fax or email.\n* Due to duplicative places the provider has to update and the risk of fines from health plans, plans continually badger providers to update their information. Because each provider has to update ~20 systems monthly, the exercise is futile and there is lack of motivation to keep trying.\n* Billing information and patient-facing information are consistently conflated within the ecosystem causing patients to try to visit mailing addresses, rather than practice addresses.\n* Interoperability efforts desperately need a central repository of provider FHIR endpoints, but it does not currently exist.\n* The health plan data that indicates which providers participate in each insurance plan is stored in different formats, is difficult to access, and is updated at different intervals. This results in patients being unable to access accurate information as they seek care, which means that patients cannot find plans with the specific providers they need, nor can they easily tell if a provider they want to see will be covered by their insurance.\n\n#### Planned Solution\n\nWe are breaking the initial MVP work into two work streams: **Core Data Model** and **National Provider Directory**.\n\nThe Core Data Model workstream encompassess all of the incoming data pipelines from various CMS open data sources, internal-to-CMS data sources, and data provided by industry partners. The goal of the Core Data Model workstream is to layer and combine data from these sources to build as accurate of a representation of our nation's healthcare providers, healthcare providing organizations, and healthcare data networks as possible.\n\nThe National Provider Directory workstream focuses on exposing the key elements of the Core Data Model through a FHIR API and a user-friendly search interface.\n\nEventually, providers and organizations will be able to use the National Provider Directory to update their information as well.\n\n### Project Vision\n\nWe envision a world where the provider experience at CMS is so seamless that it is a joy and a breeze for providers to keep their information up-to-date.\n\nThe CMS Provider Directory should be an authoritative and accurate source of provider information.\n\n### Agency Mission\n\nThe Centers for Medicare and Medicaid Services (CMS) provides health coverage to more than 100 million people through Medicare, Medicaid, the Children’s Health Insurance Program, and the Health Insurance Marketplace. The CMS seeks to strengthen and modernize the Nation’s health care system, to provide access to high quality care and improved health at lower costs.\n\n### Team Mission\n\nWe are a cross-functional team of product managers, designers, and software engineers, who are working together to improve the Provider experience at CMS.\n\n## Core Team\n\nA list of core team members responsible for the code and documentation in this repository can be found in [COMMUNITY.md](COMMUNITY.md).\n\n## Repository Structure\n\nThis is the main repository for the Naitonal Provider Directory (NPD) workstream. You will find more information about each component in a README.md file within its respective directory.\n\n- [backend](./backend/): FHIR Provider Directory API and directory browser\n- [frontend](./backend/): Directory browser React application\n- [flyway](./flyway/): Database migrations\n- [playwright](./playwright/): End-to-end test suite\n\nThe [DSACMS/npd_etl](https://github.com/DSACMS/npd_etl) project on GitHub provides data ingestion for this system.\n\n# Development and Software Delivery Lifecycle\n\nFor more information on contributing, including notes on project setup and development, see: [CONTRIBUTING.md](./CONTRIBUTING.md).\n\nWe are taking an iterative approach to the development of this project, starting first with an MVP and building additional functionality as we go.\n\n## Community\n\nThe NPD team is taking a community-first and open source approach to the product development of this tool. We believe government software should be made in the open and be built and licensed such that anyone can download the code, run it themselves without paying money to third parties or using proprietary software, and use it as they will.\n\nWe know that we can learn from a wide variety of communities, including those who will use or will be impacted by the tool, who are experts in technology, or who have experience with similar technologies deployed in other spaces. We are dedicated to creating forums for continuous conversation and feedback to help shape the design and development of the tool.\n\nWe also recognize capacity building as a key part of involving a diverse open source community. We are doing our best to use accessible language, provide technical and process documents, and offer support to community members with a wide variety of backgrounds and skillsets.\n\n### Community Guidelines\n\nPrinciples and guidelines for participating in our open source community are can be found in [COMMUNITY.md](COMMUNITY.md). Please read them before joining or starting a conversation in this repo or one of the channels listed below. All community members and participants are expected to adhere to the community guidelines and code of conduct when participating in community spaces including: code repositories, communication channels and venues, and events.\n\n## Governance\n\nInformation about how the NPD community is governed may be found in [GOVERNANCE.md](GOVERNANCE.md).\n\n## Feedback\n\nIf you have ideas for how we can improve or add to our capacity building efforts and methods for welcoming people into our community, please let us know at **opensource@cms.hhs.gov**.\n\nIf you would like to comment on the tool itself, please let us know by [filing an issue on our GitHub repository](https://github.com/DSACMS/npd/issues).\n\n## Policies\n\n### Open Source Policy\n\nWe adhere to the [CMS Open Source Policy](https://github.com/CMSGov/cms-open-source-policy). If you have any questions, just [shoot us an email at opensource@cms.hhs.gov](mailto:opensource@cms.hhs.gov).\n\n### Security and Responsible Disclosure Policy\n\n_Submit a vulnerability:_ Vulnerability reports can be submitted through [Bugcrowd](https://bugcrowd.com/cms-vdp). Reports may be submitted anonymously. If you share contact information, we will acknowledge receipt of your report within 3 business days.\n\nFor more information about our Security, Vulnerability, and Responsible Disclosure Policies, see [SECURITY.md](SECURITY.md).\n\n### Software Bill of Materials (SBOM)\n\nA Software Bill of Materials (SBOM) is a formal record containing the details and supply chain relationships of various components used in building software.\n\nIn the spirit of [Executive Order 14028 - Improving the Nation’s Cyber Security](https://www.gsa.gov/technology/it-contract-vehicles-and-purchasing-programs/information-technology-category/it-security/executive-order-14028), a SBOM for this repository is provided here: https://github.com/DSACMS/npd/network/dependencies.\n\nFor more information and resources about SBOMs, visit: https://www.cisa.gov/sbom.\n\n## Public domain\n\nThis project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/) as indicated in [LICENSE](LICENSE).\n\nAll contributions to this project will be released under the CC0 dedication. By submitting a pull request or issue, you are agreeing to comply with this waiver of copyright interest.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsacms%2Fnpd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsacms%2Fnpd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsacms%2Fnpd/lists"}