pip install cognis-codemap
codemap scan . # β prioritized findings in secondsReal, reproducible output from the tool β runs offline:
$ codemap-emit --version
codemap 0.1.0$ codemap-emit --help
usage: codemap [-h] [--version] [--format {table,json}] COMMAND ...
CODEMAP - offline medical code crosswalk and validator (ICD-10 / LOINC / RxNorm / CPT).
positional arguments:
COMMAND
validate validate and identify codes
crosswalk map a code to equivalent concepts
detect detect the coding system of raw codes
options:
-h, --help show this help message and exit
--version show program's version number and exit
--format {table,json}
output format (default: table)
Examples:
codemap validate E11.9
codemap crosswalk E11.9 --to RXNORM --format json
codemap detect 4548-4Blocks above are real
codemapoutput β reproduce them from a clone.
Sample result format (illustrative values β run on your own data for real findings):
{
"findings": [
{
"id": "1234567890",
"title": "Suspicious Activity Detected",
"description": "Anomalous network traffic observed from IP 192.168.1.100",
"created_by": "cognis-connect",
"created_at": "2023-02-20T14:30:00Z"
}
]
}
-
Install:
pip install -e . -
Validate a code (the coding system is auto-detected) with the
validatesubcommand:codemap validate E11.9
Validate a batch from a file (one code per line) for CI-friendly output:
codemap validate --input codes.txt --format json
-
Crosswalk a code to equivalent concepts in other terminologies (ICD-10 / LOINC / RxNorm / CPT). Use
--toto limit the target system and--tableto supply your own terminology CSV:codemap crosswalk E11.9 --to RXNORM --format json
-
Read the result.
validatereports per-codeformat(valid/INVALID) and whether it isknown, exiting 1 if any code is invalid/unknown.crosswalklists mapped concepts and exits 1 when there are zero matches.detectidentifies the coding system of raw codes:codemap detect 4548-4
-
Use it in CI β fail when a code set contains anything invalid:
codemap validate --input codes.txt --format json || { echo "Invalid/unknown medical codes present"; exit 1; }
- Why codemap? Β· Features Β· Quick start Β· Example Β· Architecture Β· AI stack Β· How it compares Β· Integrations Β· Install anywhere Β· Related Β· Contributing
Offline, scriptable terminology crosswalk β turns a painful UMLS-portal lookup into a piped one-liner every clinical data engineer will star.
codemap is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table Β· JSON Β· SARIF), gate CI on it, and let agents drive it over MCP.
- β Normalize Code
- β Detect System
- β Load Table
- β Validate Code
- β Lookup
- β Crosswalk
- β Load Default
- β Runs on Linux/macOS/Windows Β· Docker Β· devcontainer
- β
Ports in Python, JavaScript, Go, and Rust (
ports/)
pip install cognis-codemap
codemap --version
codemap scan . # scan current project
codemap scan . --format json # machine-readable
codemap scan . --fail-on high # CI gate (non-zero exit)$ codemap scan .
[HIGH ] COD-001 example finding (./src/app.py)
[MEDIUM ] COD-002 another signal (./config.yaml)
2 findings Β· risk score 5 Β· 38ms
flowchart LR
IN[input] --> P[codemap<br/>analyze + score]
P --> OUT[report]
codemap is interoperable with every popular way of using AI:
- MCP server β
codemap mcp(Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet) - OpenAI-compatible / JSON β pipe
codemap scan . --format jsoninto any agent or LLM - LangChain Β· CrewAI Β· AutoGen Β· LlamaIndex β wrap the CLI/JSON as a tool in one line
- CI / scripts β exit codes + SARIF for non-AI pipelines
| Cognis codemap | OHDSI Athena + UMLS | |
|---|---|---|
| Self-hostable, no account | β | varies |
| Single command, zero config | β | |
| JSON + SARIF for CI | β | varies |
| MCP-native (AI agents) | β | β |
| Polyglot ports (JS/Go/Rust) | β | β |
| Open license | β COCL | varies |
Built in the spirit of OHDSI Athena + UMLS, re-framed the Cognis way. Missing a credit? Open a PR.
Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (codemap mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.
pip install "git+https://github.com/cognis-digital/codemap.git" # pip (works today)
pipx install "git+https://github.com/cognis-digital/codemap.git" # isolated CLI
uv tool install "git+https://github.com/cognis-digital/codemap.git" # uv
pip install cognis-codemap # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/codemap:latest --help # Docker
brew install cognis-digital/tap/codemap # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/codemap/main/install.sh | sh| Linux | macOS | Windows | Docker | Cloud |
|---|---|---|---|---|
scripts/setup-linux.sh |
scripts/setup-macos.sh |
scripts/setup-windows.ps1 |
docker run ghcr.io/cognis-digital/codemap |
DEPLOY.md (AWS/Azure/GCP/k8s) |
phiscrubβ Stream-scan logs, CSVs, and free-text notes for PHI (names, MRNs, SSNs, dates, addresses) and redact or tokenize in place.dicomsweepβ De-identify DICOM imaging studies per the DICOM PS3.15 Annex E profile, scrubbing tags and burned-in pixel text.fhirlintβ Validate FHIR R4/R5 resources and bundles against profiles (US Core, etc.) with precise, line-level error reporting.hl7tapβ Parse, pretty-print, diff, and replay HL7 v2 messages over MLLP from the terminal.consentledgerβ Maintain a tamper-evident, hash-chained audit log of patient-data access and consent events.synthcohortβ Generate statistically realistic synthetic patient cohorts (FHIR/CSV) from a schema spec for dev and testing.
Explore the suite β ποΈ all 170+ tools Β· β awesome-cognis Β· π cognis-sources Β· π€ uncensored-fleet Β· π§ engram
PRs, new rules, and demo scenarios are welcome under the collaboration-pull model β see CONTRIBUTING.md and SECURITY.md.
{} composes with the 300+ tool Cognis suite β JSON in/out and a shared
OpenAI-compatible /v1 backbone. See INTEROP.md for the
suite map, composition patterns, and reference stacks.
Source-available under the Cognis Open Collaboration License (COCL) v1.0 β free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license (licensing@cognis.digital). See LICENSE.