{"id":18793091,"url":"https://github.com/dsacms/deduplifhir","last_synced_at":"2025-04-13T14:31:49.380Z","repository":{"id":222212435,"uuid":"657261774","full_name":"DSACMS/dedupliFHIR","owner":"DSACMS","description":"Prototype for basic deduplication and aggregation of eCQM data","archived":false,"fork":false,"pushed_at":"2025-02-13T18:44:56.000Z","size":4788,"stargazers_count":8,"open_issues_count":28,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-27T06:02:23.050Z","etag":null,"topics":["ai","cmsoss-tier3","data-science","deduplication","electron","government","healthcare","poetry","python"],"latest_commit_sha":null,"homepage":"","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":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS.md","security":"SECURITY.md","support":".github/SUPPORT.md","governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-22T17:08:19.000Z","updated_at":"2025-02-13T18:44:26.000Z","dependencies_parsed_at":"2024-06-27T23:48:56.945Z","dependency_job_id":"8333e180-53b9-44c6-bc9a-b6a834e21d3a","html_url":"https://github.com/DSACMS/dedupliFHIR","commit_stats":null,"previous_names":["dsacms/deduplifhir"],"tags_count":26,"template":false,"template_full_name":"DSACMS/.github","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2FdedupliFHIR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2FdedupliFHIR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2FdedupliFHIR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSACMS%2FdedupliFHIR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DSACMS","download_url":"https://codeload.github.com/DSACMS/dedupliFHIR/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248728039,"owners_count":21152141,"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","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":["ai","cmsoss-tier3","data-science","deduplication","electron","government","healthcare","poetry","python"],"created_at":"2024-11-07T21:23:33.754Z","updated_at":"2025-04-13T14:31:49.037Z","avatar_url":"https://github.com/DSACMS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--- # NOTE: Modify sections marked with `TODO` and then rename the file.--\u003e\n\n# DedupliFHIR\n\nA CLI bundled with an electron front-end that provides data-linkage and AI deduplication for reported\nACO data at scale.\n\nhttps://github.com/DSACMS/dedupliFHIR/assets/29980737/2924b785-8915-4c17-841e-ba53bc210835\n\n## About the Project\nAs part of the Affordable Care Act, and attempts to reduce costs/utilization/expenditures, ACOS were created; Accountable care organizations.\n\nCurrently, ACO health metrics are self-reported and can result in duplicate records. DedupliFHIR is a tool that leverages existing open source AI data linkage libraries to help improve the quality of reported health data. This tool’s initial release targets the FHIR data format for ACO reported eCQM metrics. Future releases are planning to support QRDA formats, as well as generic .csv and other text formats.\n\nThis project originated from the CMS Open Source Community as a resource ACOs can use when preparing their patient records submission.\n\nThe DedupliFHIR project does not include or share any Personally Identifiable Information or Personal Health Information (PII/PHI) in this source code repository. All training and testing data we ship in the source code repository is ‘synthetic’ data, which is artificially generated. The tool itself uses only local data, uploaded by users on their own systems. The tool processes that data locally, and does not share that information over the network. Users control who that data is shared with after processing, and how it is shared, if at all.\n\n\n### Installation\n\nYou'll need poetry installed (see [installation instructions](https://python-poetry.org/docs/#installation)).\n\n```\nmake install\n```\n\n\nTo test your installation run:\n```\nmake test\n```\n\nTo run the cli (for now) use the command:\n```\npoetry run python cli/ecqm-dedupe.py \u003ccommand\u003e [--fmt] [\u003cargs\u003e]\n```\n\nTo run the desktop app, run the commands in the `frontend` directory:\n```\nnpm install\nnpm start\n``` \n\u003c!-- \n### TODO:\n\n- Figure out schema used for patient and measure/valueset bundles\n- [Patient/measure example?](https://github.com/projecttacoma/fqm-execution/blob/3767d19700a48baa1609257033e4179eea485aba/test/fixtures/elm/CMS13v2.json)\n- [Patient bundle example](https://github.com/projecttacoma/fqm-execution/blob/4738f84b72290c2d715c902163043674213fe837/test/fixtures/EXM111-9.1.000/Armando772_Almanza534_08fc9439-b7ff-4309-b409-4d143388594c.json)\n--\u003e\n\n### Questions\n\n- Are measures just instructions and patient bundles contain actual information?\n  - If so, should run everything on patient bundle\n- Should we pre-generate weights rather than training?\n\n### References\n\n- http://hl7.org/fhir/us/identity-matching/2022May/\n\n## Core Team\nAn up-to-date list of core team members can be found in [MAINTAINERS.md](MAINTAINERS.md). At this time, the project is still building the core team and defining roles and responsibilities. We are eagerly seeking individuals who would like to join the community and help us define and fill these roles.\n\n## Documentation Index \n- [CONTRIBUTING.md](./CONTRIBUTING.md)\n- [MAINTAINERS.md](./MAINTAINERS.md)\n- [CODEOWNERS.md](./CODEOWNERS.md)\n- [GOVERNANCE.md](./GOVERNANCE.md)\n- [COMMUNITY_GUIDELINES.md](./COMMUNITY_GUIDELINES.md)\n- [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)\n- [SECURITY.md](./SECURITY.md)\n- [LICENSE](./LICENSE)\n- [SUPPORT.md](./.github/SUPPORT.md)\n\n## Repository Structure\n\n```\n.\n├── .github\n│   └── workflows - Directory containing GitHub Actions workflows for automating CI/CD processes.\n├── cli - Command line tool for data linkage and deduplication of ACO patient data.\n│   └── deduplifhirLib\n├── frontend - Native desktop app frontend built using Electron. \n└── profile - Information about the Digital Service at CMS team.\n```\n\n\n# Development and Software Delivery Lifecycle \nThe following guide is for members of the project team who have access to the repository as well as code contributors. The main difference between internal and external contributions is that externabl contributors will need to fork the project and will not be able to merge their own pull requests. For more information on contribributing, see: [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n\u003c!--- ## Local Development\n\u003c!--- # TODO - with example below:\nThis project is monorepo with several apps. Please see the [api](./api/README.md) and [frontend](./frontend/README.md) READMEs for information on spinning up those projects locally. Also see the project [documentation](./documentation) for more info.\n--\u003e\n\n## Coding Style and Linters\nEach application has its own linting and testing guidelines. Lint and code tests are run on each commit, so linters and tests should be run locally before committing.\n\n## Branching Model\n\u003c!--- # TODO - with example below:\nThis project follows [trunk-based development](https://trunkbaseddevelopment.com/), which means:\n\n* Make small changes in [short-lived feature branches](https://trunkbaseddevelopment.com/short-lived-feature-branches/) and merge to `main` frequently.\n* Be open to submitting multiple small pull requests for a single ticket (i.e. reference the same ticket across multiple pull requests).\n* Treat each change you merge to `main` as immediately deployable to production. Do not merge changes that depend on subsequent changes you plan to make, even if you plan to make those changes shortly.\n* Ticket any unfinished or partially finished work.\n* Tests should be written for changes introduced, and adhere to the text percentage threshold determined by the project.\n\nThis project uses **continuous deployment** using [Github Actions](https://github.com/features/actions) which is configured in the [./github/worfklows](.github/workflows) directory.\n\nPull-requests are merged to `main` and the changes are immediately deployed to the development environment. Releases are created to push changes to production.\n--\u003e\n\nWe follow the [GitHub Flow Workflow](https://guides.github.com/introduction/flow/)\n\n1.  Fork the project \n2.  Check out the `main` branch \n3.  Create a feature branch\n4.  Write code and tests for your change \n5.  From your branch, make a pull request against `dev` if you have a feature change and `main` if it is a hotfix \n6.  Work with repo maintainers to get your change reviewed and resolve git history if needed\n7.  Wait for your change to be pulled into `dev` and later released into `main`\n8.  Delete your feature branch\n\n## Contributing\nThank you for considering contributing to an Open Source project of the US Government! For more information about our contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Codeowners\nThose responsible for the code and documentation in this repository can be found in [CODEOWNERS.md](CODEOWNERS.md).\n\n## Community\nThe DeDupliFHIR 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\nPrinciples and guidelines for participating in our open source community are can be found in [COMMUNITY_GUIDELINES.md](COMMUNITY_GUIDELINES.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\u003c!--\n## Governance\nInformation about how the **{project_name}** community is governed may be found in [GOVERNANCE.md](GOVERNANCE.md).\n--\u003e\n\n## Feedback\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 **mailto:opensource@cms.hhs.gov**. If you would like to comment on the tool itself, please let us know by filing an **issue on our GitHub repository.**\n\n\u003c!--\n## Glossary\nInformation about terminology and acronyms used in this documentation may be found in [GLOSSARY.md](GLOSSARY.md).\n--\u003e\n\n## Policies\n\n### Open Source Policy\n\nWe adhere to the [CMS Open Source\nPolicy](https://github.com/CMSGov/cms-open-source-policy). If you have any\nquestions, just [shoot us an email](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/dedupliFHIR/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 our [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%2Fdeduplifhir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsacms%2Fdeduplifhir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsacms%2Fdeduplifhir/lists"}