{"id":50277921,"url":"https://github.com/imsweb/algorithms","last_synced_at":"2026-05-27T22:02:38.704Z","repository":{"id":3962102,"uuid":"47124349","full_name":"imsweb/algorithms","owner":"imsweb","description":"Java implementation of cancer-related algorithms (NHIA, NAPIIA, Survival Time, etc...)","archived":false,"fork":false,"pushed_at":"2026-05-14T19:00:59.000Z","size":232913,"stargazers_count":7,"open_issues_count":0,"forks_count":6,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-14T21:06:07.041Z","etag":null,"topics":["cancer","napiia","nhia","seer","survival"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imsweb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-11-30T14:32:56.000Z","updated_at":"2026-05-14T19:01:13.000Z","dependencies_parsed_at":"2024-10-28T16:21:46.881Z","dependency_job_id":"73656dd6-4f3c-4f39-a330-a16ee7472684","html_url":"https://github.com/imsweb/algorithms","commit_stats":null,"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"purl":"pkg:github/imsweb/algorithms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsweb%2Falgorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsweb%2Falgorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsweb%2Falgorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsweb%2Falgorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imsweb","download_url":"https://codeload.github.com/imsweb/algorithms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imsweb%2Falgorithms/sbom","scorecard":{"id":486458,"data":{"date":"2025-08-11","repo":{"name":"github.com/imsweb/algorithms","commit":"d496845b1647c30409c54d249a00d8cf587f88b5"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"16 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/integration.yml:1","Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 1/22 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":8,"reason":"binaries present in source code","details":["Warn: binary detected: config/intellij/seer-intellij-settings-20190116.jar:1","Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integration.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/imsweb/algorithms/integration.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integration.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/imsweb/algorithms/integration.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/integration.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/imsweb/algorithms/integration.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/imsweb/algorithms/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/imsweb/algorithms/publish.yml/master?enable=pin","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:11"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":3,"reason":"SAST tool is not run on all commits -- score normalized to 3","details":["Warn: 3 commits out of 10 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T17:56:53.192Z","repository_id":3962102,"created_at":"2025-08-19T17:56:53.192Z","updated_at":"2025-08-19T17:56:53.192Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33585203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"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":["cancer","napiia","nhia","seer","survival"],"created_at":"2026-05-27T22:02:36.184Z","updated_at":"2026-05-27T22:02:38.699Z","avatar_url":"https://github.com/imsweb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SEER Algorithms\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=imsweb_algorithms\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=imsweb_algorithms)\n[![integration](https://github.com/imsweb/algorithms/workflows/integration/badge.svg)](https://github.com/imsweb/algorithms/actions)\n[![Maven Central](https://img.shields.io/maven-central/v/com.imsweb/algorithms.svg)](https://central.sonatype.com/artifact/com.imsweb/algorithms)\n\nThis library contains the Java implementations of algorithms used in cancer-related data processing.\n\n## Features\n\nThe following algorithms are available:\n\n* SEER Site Recode ([SeerSiteRecodeUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/seersiterecode/SeerSiteRecodeUtils.java))\n* SEER International Classification of Childhood Cancer ([IcccRecodeUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/iccc/IcccRecodeUtils.java))\n* SEER SEER Adolescents and Young Adults (AYA) Site Recode ([AyaSiteRecodeUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/ayasiterecode/AyaSiteRecodeUtils.java))\n* SEER Cause-specific Death Classification ([CauseSpecificUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/causespecific/CauseSpecificUtils.java))\n* SEER Survival Time in Months ([SurvivalTimeUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/survival/SurvivalTimeUtils.java))\n* SEER Lymphoid Neoplasm Recode ([LymphoidNeoplasmRecodeUtils ](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/lymphoma/LymphoidNeoplasmRecodeUtils.java))\n* SEER Derived Summary Grade ([DerivedSummaryGradeUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/derivedgrade/DerivedSummaryGradeUtils.java))\n* SEER Behavior Recode ([BehaviorRecodeUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/behavrecode/BehaviorRecodeUtils.java))\n* SEER Brain/CNS Recode ([BrainCnsRecodeUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/braincnsrecode/BrainCnsRecodeUtils.java))\n* SEER Days from Diagnosis to Treatment ([DaysToTreatmentAlgorithm](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/daystotreatment/DaysToTreatmentAlgorithm.java))\n* SEER Tumor Size Over Time ([TumorSizeOverTimeUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/tumorsizeovertime/TumorSizeOverTimeUtils.java))\n* SEER Site-specific Surgery tables ([SiteSpecificSurgeryUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/surgery/SiteSpecificSurgeryUtils.java))\n* SEER ICD Conversions ([IcdUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/icd/IcdUtils.java))\n* NAACCR County at Diagnosis Analysis ([CountyAtDxAnalysisUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/countyatdiagnosisanalysis/CountyAtDxAnalysisUtils.java))\n* NAACCR Asian/Pacific Islander Identification Algorithm ([NapiiaUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/napiia/NapiiaUtils.java))\n* NAACCR Hispanic Identification Algorithm ([NhiaUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/nhia/NhiaUtils.java))\n* NAACCR Poverty Linkage Program ([CensusTractPovertyIndicatorUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/censustractpovertyindicator/CensusTractPovertyIndicatorUtils.java))\n* NAACCR Rural Urban Program (RUCA/URIC/Continuum) ([RuralUrbanUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/ruralurban/RuralUrbanUtils.java))\n* NAACCR Yost Quintile \u0026 Area-Based Social Measures Linkage Program ([YostAcsPovertyUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/yostacspoverty/YostAcsPovertyUtils.java))\n* NAACCR Cancer Reporting Zones ([CancerReportingZoneUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/cancerreportingzone/CancerReportingZoneUtils.java))\n* NAACCR Tract-Estimated Congressional Districts ([TractEstCongressDistUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/tractestcongressdist/TractEstCongressDistUtils.java))\n* NPCR PRCDA Linkage Program ([PrcdaUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/prcda/PrcdaUtils.java))\n* NPCR UIHO Linkage Program ([UihoUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/uiho/UihoUtils.java))\n* NPCR EPHT SubCounty ([EphtSubCountyUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/ephtsubcounty/EphtSubCountyUtils.java))\n* CDC/ATSDR Social Vulnerability Index ([SocialVulnerabilityIndexUtils](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/svi/SocialVulnerabilityIndexUtils.java))\n* IARC Multiple Primary Algorithm ([IarcUtils](https://github.com/imsweb/algorithms/tree/master/src/main/java/com/imsweb/algorithms/iarc/IarcUtils.java))\n* Persistent Poverty ([PersistentPovertyAlgorithm](https://github.com/imsweb/algorithms/blob/master/src/main/java/com/imsweb/algorithms/persistentpoverty/PersistentPovertyAlgorithm.java))\n\n## Download\n\nThe library is available on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.imsweb%22%20AND%20a%3A%22algorithms%22).\n\nTo include it to your Maven or Gradle project, use the group ID `com.imsweb` and the artifact ID `algorithms`.\n\nYou can check out the [release page](https://github.com/imsweb/algorithms/releases) for a list of the releases and their changes.\n\n\n## Algorithm versions\n\nTo know the version of a specific algorithm, click the link to the corresponding utility class and check the static variables defined on the top of the class.\n\nNot all algorithms support a version.\n\nThis library does not support several versions of a given algorithm; it only contains the latest version available.\n\n## Usage\n\nThere two ways to use this library: \n\n1. Every algorithm has a utility class that exposes one or several computation methods; those methods can be called directly.\n2. Every algorithm also has an implementation of the Algorithm class which exposes a unified execute method.\n\nThe Algorithms class acts as a repository of all the algorithms and their input/output fields.\n\n## About SEER\n\nThis library was developed through the [SEER](https://seer.cancer.gov/) program.\n\nThe Surveillance, Epidemiology and End Results program is a premier source for cancer statistics in the United States.\nThe SEER program collects information on incidence, prevalence and survival from specific geographic areas representing\na large portion of the US population and reports on all these data plus cancer mortality data for the entire country.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimsweb%2Falgorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimsweb%2Falgorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimsweb%2Falgorithms/lists"}