Repository Analysis

maziyarpanahi/openmed

Local-first healthcare AI: clinical NER & HIPAA PII de-identification that runs 100% on-device. 1,000+ medical models, 12 languages, Apple MLX + Python, no cloud, no patient data leaving your network. Apache-2.0

25.7 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of maziyarpanahi/openmed, a Python project with 4,553 GitHub stars. SynthScan v2.0 examined 338,767 lines of code across 1224 source files, recording 7760 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 25.7 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

25.7
Adjusted Score
25.7
Raw Score
100%
Time Factor
2026-07-14
Last Push
4.6K
Stars
Python
Language
338.8K
Lines of Code
1.2K
Files
7.8K
Pattern Hits
2026-07-14
Scan Date
0.05
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 56MEDIUM 413LOW 7291

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 7760 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers4104 hits · 4214 pts
SeverityFileLineSnippetContext
LOWopenmed/core/repro_hash.py38def compute_reproducibility_hash(CODE
LOWopenmed/core/repro_hash.py88def compute_environment_lock_digest(lock_path: str | Path = "uv.lock") -> str:CODE
LOWopenmed/core/repro_hash.py94def compute_training_reproducibility_hash(CODE
LOWopenmed/core/repro_hash.py124def build_training_provenance(CODE
LOWopenmed/core/repro_hash.py172def write_training_provenance(CODE
LOWopenmed/core/repro_hash.py280def _normalise_training_provenance(provenance: Mapping[str, Any]) -> dict[str, Any]:CODE
LOWopenmed/core/repro_hash.py353def _verify_manifest_row_hash(row: Mapping[str, Any], recorded_hash: str) -> None:CODE
LOWopenmed/core/quality_gates.py328def validate_entity_spans_strict(CODE
LOWopenmed/core/quality_gates.py389def resolve_overlapping_entities(CODE
LOWopenmed/core/quality_gates.py453def detect_overlapping_entities(CODE
LOWopenmed/core/audit.py607 def export_review_bundle_json(self) -> str:CODE
LOWopenmed/core/models.py536 def _resolve_attn_implementation(CODE
LOWopenmed/core/models.py549 def _apply_attention_pipeline_kwargs(self, pipeline_kwargs: Dict[str, Any]) -> None:CODE
LOWopenmed/core/models.py624 def _build_load_quantization_config(CODE
LOWopenmed/core/models.py656 def _build_pipeline_cache_key(CODE
LOWopenmed/core/thresholds.py151def validate_threshold_matrix(matrix: Mapping[str, Any]) -> None:CODE
LOWopenmed/core/thresholds.py244def membership_defense_for_profile(CODE
LOWopenmed/core/thresholds.py274def apply_membership_defense_to_score(CODE
LOWopenmed/core/thresholds.py457def _validate_membership_defense(entry: Any, path: str) -> None:CODE
LOWopenmed/core/locale_formats.py536def _parsed_date_from_candidate(CODE
LOWopenmed/core/locale_formats.py549def _normalize_number_with_locale(CODE
LOWopenmed/core/locale_formats.py579def _normalize_number_without_locale(value: str, sign: str) -> NormalizedNumber:CODE
LOWopenmed/core/locale_formats.py635def _normalize_space_grouped_number(value: str, sign: str) -> NormalizedNumber:CODE
LOWopenmed/core/locale_formats.py650def _clean_valid_space_grouping(value: str) -> str | None:CODE
LOWopenmed/core/locale_formats.py684def _invalid_or_ambiguous_number(part: str) -> NormalizedNumber:CODE
LOWopenmed/core/hf_hub.py264def _import_snapshot_download() -> tuple[Any, type[Exception]]:CODE
LOWopenmed/core/arbitration.py395def _collapse_exact_duplicates(CODE
LOWopenmed/core/offline.py65def network_blocked_if_offline(CODE
LOWopenmed/core/pii_entity_merger.py712def merge_entities_with_semantic_units(CODE
LOWopenmed/core/pii_entity_merger.py892def _coalesce_overlapping_merged_entities(CODE
LOWopenmed/core/custom_recognizer.py276 def apply_to_prediction_result(CODE
LOWopenmed/core/script_detect.py313def candidate_languages_for_script(script: str) -> tuple[str, ...]:CODE
LOWopenmed/core/script_detect.py319def normalize_for_pii_detection(text: str) -> DetectionNormalization:CODE
LOWopenmed/core/clinical_protect.py89def _load_bundled_terms_cached() -> tuple[str, ...]:CODE
LOWopenmed/core/clinical_protect.py156def protection_options_from_config(config: Any) -> dict[str, Any]:CODE
LOWopenmed/core/clinical_protect.py291def _looks_like_direct_identifier(surface: str) -> bool:CODE
LOWopenmed/core/backends.py200def select_privacy_filter_backend(CODE
LOWopenmed/core/backends.py230def resolve_privacy_filter_model(CODE
LOWopenmed/core/backends.py260def create_privacy_filter_pipeline(model_name: str, config: Any = None) -> Callable:CODE
LOWopenmed/core/policy_lint.py231def _loads_tracking_duplicates(raw_json: str) -> Mapping[str, Any]:CODE
LOWopenmed/core/policy_lint.py314def _policy_label_action_errors(CODE
LOWopenmed/core/policy_lint.py334def _threshold_profile_errors(CODE
LOWopenmed/core/policy_lint.py416def _unreachable_policy_label_action_warnings(CODE
LOWopenmed/core/pipeline.py76 def original_index_to_normalized(self, index: int) -> int | None:CODE
LOWopenmed/core/pipeline.py79 def normalized_index_to_original(self, index: int) -> int:CODE
LOWopenmed/core/pipeline.py82 def original_span_to_normalized(self, start: int, end: int) -> tuple[int, int]:CODE
LOWopenmed/core/pipeline.py98 def normalized_span_to_original_offsets(CODE
LOWopenmed/core/pipeline.py949 def _apply_calibration_thresholds(CODE
LOWopenmed/core/pipeline.py1227 def _registered_detector_spans(CODE
LOWopenmed/core/pipeline.py1316 def _suppress_custom_allowed_spans(CODE
LOWopenmed/core/pipeline.py1392def _iter_normalization_segments(text: str):CODE
LOWopenmed/core/pipeline.py1446def _section_detection_unavailable_metadata(exc: ImportError) -> dict[str, Any]:CODE
LOWopenmed/core/pipeline.py1477def _remap_section_metadata_to_normalized(CODE
LOWopenmed/core/pipeline.py1495def _remap_section_to_normalized(section: Any, offset_map: OffsetMap) -> Any:CODE
LOWopenmed/core/pipeline.py1747def _arbitration_trace_metadata(CODE
LOWopenmed/core/pipeline.py1870def _arbitration_threshold_trace(CODE
LOWopenmed/core/pipeline.py1932def _arbitration_tie_break_rule(CODE
LOWopenmed/core/pipeline.py1993def _prediction_result_from_spans(CODE
LOWopenmed/core/pipeline.py2051def _remap_pii_result_to_original(CODE
LOWopenmed/core/pipeline.py2071def _remap_entity_to_original(CODE
4044 more matches not shown…
Unused Imports2120 hits · 1674 pts
SeverityFileLineSnippetContext
LOWopenmed/__init__.py3CODE
LOWopenmed/__init__.py10CODE
LOWopenmed/__init__.py11CODE
LOWopenmed/__init__.py12CODE
LOWopenmed/__init__.py12CODE
LOWopenmed/__init__.py12CODE
LOWopenmed/__init__.py12CODE
LOWopenmed/__init__.py12CODE
LOWopenmed/__init__.py19CODE
LOWopenmed/__init__.py19CODE
LOWopenmed/__init__.py19CODE
LOWopenmed/__init__.py19CODE
LOWopenmed/__init__.py20CODE
LOWopenmed/__init__.py21CODE
LOWopenmed/__init__.py21CODE
LOWopenmed/__init__.py22CODE
LOWopenmed/__init__.py22CODE
LOWopenmed/__init__.py22CODE
LOWopenmed/__init__.py22CODE
LOWopenmed/__init__.py22CODE
LOWopenmed/__init__.py29CODE
LOWopenmed/__init__.py29CODE
LOWopenmed/__init__.py30CODE
LOWopenmed/__init__.py30CODE
LOWopenmed/__init__.py30CODE
LOWopenmed/__init__.py30CODE
LOWopenmed/__init__.py30CODE
LOWopenmed/__init__.py30CODE
LOWopenmed/__init__.py30CODE
LOWopenmed/__init__.py39CODE
LOWopenmed/__init__.py39CODE
LOWopenmed/__init__.py39CODE
LOWopenmed/__init__.py41CODE
LOWopenmed/__init__.py41CODE
LOWopenmed/__init__.py41CODE
LOWopenmed/__init__.py41CODE
LOWopenmed/__init__.py41CODE
LOWopenmed/__init__.py48CODE
LOWopenmed/__init__.py48CODE
LOWopenmed/__init__.py48CODE
LOWopenmed/__init__.py48CODE
LOWopenmed/__init__.py48CODE
LOWopenmed/__init__.py55CODE
LOWopenmed/__init__.py55CODE
LOWopenmed/__init__.py55CODE
LOWopenmed/__init__.py55CODE
LOWopenmed/__init__.py61CODE
LOWopenmed/__init__.py61CODE
LOWopenmed/__init__.py67CODE
LOWopenmed/__init__.py67CODE
LOWopenmed/__init__.py67CODE
LOWopenmed/__init__.py67CODE
LOWopenmed/__init__.py73CODE
LOWopenmed/__init__.py73CODE
LOWopenmed/__init__.py73CODE
LOWopenmed/__init__.py73CODE
LOWopenmed/__init__.py73CODE
LOWopenmed/__init__.py73CODE
LOWopenmed/__init__.py73CODE
LOWopenmed/__init__.py73CODE
2060 more matches not shown…
Decorative Section Separators396 hits · 1349 pts
SeverityFileLineSnippetContext
MEDIUMopenmed/core/labels.py23# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/labels.py25# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/labels.py266# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/labels.py268# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/labels.py624# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/labels.py626# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/config.py416# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/config.py418# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_entity_merger.py63# ============================================================================COMMENT
MEDIUMopenmed/core/pii_entity_merger.py65# ============================================================================COMMENT
MEDIUMopenmed/core/pii_entity_merger.py515# ============================================================================COMMENT
MEDIUMopenmed/core/pii_entity_merger.py517# ============================================================================COMMENT
MEDIUMopenmed/core/pii_i18n.py3856# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py3858# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py4353# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py4355# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py34# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py36# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py123# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py125# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py144# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py146# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py1137# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py1139# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py1397# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py1399# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py1546# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py1548# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py2881# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py2883# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py3084# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py3086# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py3109# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/pii_i18n.py3111# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/decoding/viterbi.py18# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/decoding/viterbi.py20# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/decoding/viterbi.py103# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/decoding/viterbi.py105# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/decoding/viterbi.py233# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/decoding/viterbi.py235# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py31# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py33# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py60# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py62# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py80# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py82# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py109# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py111# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py155# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py157# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py244# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py246# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py322# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py324# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py416# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py418# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py432# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/registry.py434# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/format_preserve.py22# ---------------------------------------------------------------------------COMMENT
MEDIUMopenmed/core/anonymizer/format_preserve.py24# ---------------------------------------------------------------------------COMMENT
336 more matches not shown…
Fake / Example Data431 hits · 490 pts
SeverityFileLineSnippetContext
LOWCHANGELOG.md565- **`method="replace"` outputs no longer come from the prior hardcoded list** (`["Jane Smith", "John Doe", "Alex JohnsonCODE
LOWCHANGELOG.md814 - Expanded locale fake-data dictionaries with `FIRST_NAME`, `LAST_NAME`, and `ZIPCODE` values across supported languagCODE
LOWREADME.md445[('NAME', 'John Doe'), ('DATE', '01/15/1970'), ('SSN', '123-45-6789')]CODE
LOWopenmed/core/pii_i18n.py3862 "NAME": ["Jane Smith", "John Doe", "Alex Johnson", "Sam Taylor"],CODE
LOWopenmed/core/pii_i18n.py3865 "EMAIL": ["patient@example.com", "contact@example.org"],CODE
LOWopenmed/core/pii_i18n.py3866 "PHONE": ["555-0123", "555-0456", "555-0789"],CODE
LOWopenmed/core/pii_i18n.py3868 "STREET_ADDRESS": ["123 Main St", "456 Oak Ave"],CODE
LOWopenmed/core/pii_i18n.py3990 "EMAIL": ["patient@example.in", "sampark@example.org"],CODE
LOWopenmed/core/pii_i18n.py4027 "EMAIL": ["patient@example.in", "sampark@example.org"],CODE
LOWopenmed/core/pii_i18n.py4064 "EMAIL": ["patient@example.eg", "contact@example.org"],CODE
LOWopenmed/core/pii_i18n.py4101 "EMAIL": ["patient@example.co.il", "contact@example.org"],CODE
LOWopenmed/core/pii_i18n.py4138 "EMAIL": ["patient@example.jp", "renraku@example.org"],CODE
LOWopenmed/core/pii_i18n.py4215 "EMAIL": ["pasyente@example.ph", "kontak@example.org"],CODE
LOWopenmed/core/pii_i18n.py4230 "EMAIL": ["patient@example.dk", "kontakt@example.org"],CODE
LOWopenmed/core/pii_i18n.py4250 "EMAIL": ["patient@example.th", "contact@example.org"],CODE
LOWopenmed/core/pii_i18n.py4268 "EMAIL": ["pacients@example.lv", "kontakts@example.org"],CODE
LOWopenmed/core/pii_i18n.py4288 "EMAIL": ["pacient@example.sk", "kontakt@example.org"],CODE
LOWopenmed/core/pii.py2221# Canonical labels that don't have a fake-data key fall through to theCOMMENT
LOWopenmed/core/pii.py2275 fake_data = LANGUAGE_FAKE_DATA.get(lang, LANGUAGE_FAKE_DATA["en"])CODE
LOWopenmed/core/pii.py2278 if key in fake_data:CODE
LOWopenmed/core/pii.py2279 return random.choice(fake_data[key])CODE
LOWopenmed/core/pii.py18 ... {"[NAME]": "Casey Example", "[PHONE]": "555-0100"},STRING
LOWopenmed/core/anonymizer/format_preserve.py106def preserve_email_pattern(original: str, fake_email: str) -> str:CODE
LOWopenmed/core/anonymizer/format_preserve.py107 """Use ``fake_email``'s local part with ``original``'s domain.STRING
LOWopenmed/core/anonymizer/format_preserve.py111 the local part. Falls back to ``fake_email`` verbatim if either sideSTRING
LOWopenmed/core/anonymizer/format_preserve.py114 if "@" not in original or "@" not in fake_email:CODE
LOWopenmed/core/anonymizer/format_preserve.py115 return fake_emailCODE
LOWopenmed/core/anonymizer/format_preserve.py116 fake_local = fake_email.split("@", 1)[0]CODE
LOWopenmed/core/anonymizer/engine.py64 consistency (so "John Doe" appearing twice gets one surrogate).STRING
LOWopenmed/processing/display.py361 >>> "PERSON" in html and "John Doe" in htmlSTRING
LOWopenmed/mlx/inference.py190 "word": "John Doe", "start": 8, "end": 16}, ...]STRING
LOWtests/unit/test_pii_multilingual_regression.py86 _ent("John Doe", "first_name", 8, 16, 0.95),CODE
LOWtests/unit/test_quality_gates.py97 # Entity claims text is "Jane Doe" but span points to "John Doe"COMMENT
LOWtests/unit/test_quality_gates.py97 # Entity claims text is "Jane Doe" but span points to "John Doe"COMMENT
LOWtests/unit/test_quality_gates.py50 entities = [_ent("John Doe", start=8, end=16)]CODE
LOWtests/unit/test_quality_gates.py100 text="Jane Doe",CODE
LOWtests/unit/test_quality_gates.py278 _ent("John Doe", label="OTHER", start=8, end=16, confidence=0.60),CODE
LOWtests/unit/test_quality_gates.py279 _ent("John Doe", label="OTHER", start=8, end=16, confidence=0.95),CODE
LOWtests/unit/test_quality_gates.py134 _ent("John Doe", start=0, end=8),CODE
LOWtests/unit/test_quality_gates.py198 _ent("John Doe", start=0, end=8),CODE
LOWtests/unit/test_quality_gates.py318 _ent("John Doe", label="PERSON", start=8, end=16),CODE
LOWtests/unit/test_quality_gates.py334 _ent("John Doe", label="PERSON", start=8, end=16),CODE
LOWtests/unit/test_display.py391 text="John Doe", label="PERSON", confidence=0.9, start=8, end=16CODE
LOWtests/unit/test_display.py479 assert "John Doe" in _visible_text(html)CODE
LOWtests/unit/test_display.py492 assert "John Doe" in _visible_text(html)CODE
LOWtests/unit/test_display.py513 "John Doe",CODE
LOWtests/unit/test_display.py124 assert "John Doe" in marks[0]["_text"]CODE
LOWtests/unit/test_display.py463 text="John Doe",CODE
LOWtests/unit/test_display.py553 text="John Doe",CODE
LOWtests/unit/test_examples_smoke.py114 SimpleNamespace(label="NAME", text="John Doe", start=0, end=8, confidence=0.97),CODE
LOWtests/unit/test_examples_smoke.py123 ["NAME", "John Doe", "0", "8", "0.97"],CODE
LOWtests/unit/test_examples_smoke.py137 label="NAME", text="John Doe", start=0, end=8, confidence=0.9CODE
LOWtests/unit/test_examples_smoke.py148 assert view.entity_rows == [["NAME", "John Doe", "0", "8", "0.90"]]CODE
LOWtests/unit/test_pii.py36 text="John Doe", label="NAME", start=8, end=16, confidence=0.95CODE
LOWtests/unit/test_pii.py39 text="555-1234", label="PHONE", start=20, end=28, confidence=0.90CODE
LOWtests/unit/test_pii.py69 text="John Doe",CODE
LOWtests/unit/test_pii.py76 assert entity.text == "John Doe"CODE
LOWtests/unit/test_pii.py97 text="555-1234",CODE
LOWtests/unit/test_pii.py103 original_text="555-1234",CODE
LOWtests/unit/test_pii.py107 assert entity.original_text == "555-1234"CODE
371 more matches not shown…
Modern Structural Boilerplate288 hits · 288 pts
SeverityFileLineSnippetContext
LOWopenmed/__init__.py144logger = logging.getLogger(__name__)CODE
LOWopenmed/__init__.py643__all__ = [CODE
LOWopenmed/core/safety_sweep.py225__all__ = [CODE
LOWopenmed/core/repro_hash.py411__all__ = [CODE
LOWopenmed/core/labels.py1014__all__ = [CODE
LOWopenmed/core/quality_gates.py23logger = logging.getLogger(__name__)CODE
LOWopenmed/core/quality_gates.py216def _set_span_valid(entity: Any, valid: bool) -> None:CODE
LOWopenmed/core/config.py304def set_config(config: OpenMedConfig) -> None:CODE
LOWopenmed/core/audit.py630__all__ = [CODE
LOWopenmed/core/models.py9logger = logging.getLogger(__name__)CODE
LOWopenmed/core/surrogate_vault.py277 def set_epoch_manager(self, epoch_manager: _EpochManager) -> None:CODE
LOWopenmed/core/surrogate_vault.py1124__all__ = [CODE
LOWopenmed/core/baseline.py238__all__ = [CODE
LOWopenmed/core/thresholds.py498__all__ = [CODE
LOWopenmed/core/locale_formats.py715__all__ = [CODE
LOWopenmed/core/date_shift.py51__all__ = [CODE
LOWopenmed/core/hf_hub.py32__all__ = [CODE
LOWopenmed/core/arbitration.py491__all__ = [CODE
LOWopenmed/core/policy.py911__all__ = [CODE
LOWopenmed/core/__init__.py58__all__ = [CODE
LOWopenmed/core/custom_recognizer.py545__all__ = [CODE
LOWopenmed/core/script_detect.py398__all__ = [CODE
LOWopenmed/core/clinical_protect.py311__all__ = [CODE
LOWopenmed/core/backends.py25logger = logging.getLogger(__name__)CODE
LOWopenmed/core/policy_lint.py463__all__ = [CODE
LOWopenmed/core/pipeline.py47logger = logging.getLogger(__name__)CODE
LOWopenmed/core/pipeline.py2294__all__ = [CODE
LOWopenmed/core/hf_publish.py29logger = logging.getLogger(__name__)CODE
LOWopenmed/core/detector_plugins.py68logger = logging.getLogger(__name__)CODE
LOWopenmed/core/detector_plugins.py387__all__ = [CODE
LOWopenmed/core/name_order.py33__all__ = [CODE
LOWopenmed/core/redaction_strength.py249__all__ = [CODE
LOWopenmed/core/streaming.py328 def _update_hashes(self, original_text: str, redacted_text: str) -> None:CODE
LOWopenmed/core/streaming.py500__all__ = [CODE
LOWopenmed/core/policy_diff.py460__all__ = [CODE
LOWopenmed/core/explain.py572__all__ = [CODE
LOWopenmed/core/rtl_render.py396__all__ = [CODE
LOWopenmed/core/cascade.py372__all__ = [CODE
LOWopenmed/core/decoding/graph.py767__all__ = [CODE
LOWopenmed/core/decoding/__init__.py41__all__ = [CODE
LOWopenmed/core/decoding/spans.py327__all__ = [CODE
LOWopenmed/core/schemas/__init__.py20__all__ = [CODE
LOWopenmed/core/schemas/span.py326__all__ = [CODE
LOWopenmed/core/anonymizer/registry.py499__all__ = [CODE
LOWopenmed/core/anonymizer/format_preserve.py170__all__ = [CODE
LOWopenmed/core/anonymizer/__init__.py58__all__ = [CODE
LOWopenmed/core/anonymizer/engine.py336__all__ = ["Anonymizer", "AnonymizerConfig"]CODE
LOWopenmed/core/anonymizer/locales.py193__all__ = [CODE
LOWopenmed/core/anonymizer/providers/clinical_ids.py1628__all__ = [CODE
LOWopenmed/core/anonymizer/providers/__init__.py44__all__ = [CODE
LOWopenmed/core/anonymizer/providers/registry_ids.py441__all__ = [CODE
LOWopenmed/ner/labels.py209__all__ = [CODE
LOWopenmed/ner/adapter.py220__all__ = [CODE
LOWopenmed/ner/__init__.py34__all__ = [CODE
LOWopenmed/ner/infer.py309__all__ = [CODE
LOWopenmed/ner/indexing.py394__all__ = [CODE
LOWopenmed/ner/families/__init__.py14__all__ = [CODE
LOWopenmed/ner/families/base.py23__all__ = ["ModelFamily", "SupportsPrediction"]CODE
LOWopenmed/ner/families/gliner2.py190__all__ = [CODE
LOWopenmed/ner/families/gliner.py132__all__ = [CODE
228 more matches not shown…
Docstring Block Structure42 hits · 210 pts
SeverityFileLineSnippetContext
HIGHopenmed/core/config.py210Create config from a named profile. Args: profile_name: Name of the profile (dev, prod, test, fast,STRING
HIGHopenmed/core/config.py440Get the settings for a specific profile. Args: profile_name: Name of the profile. Returns: DicSTRING
HIGHopenmed/core/config.py487Delete a custom profile. Args: profile_name: Name of the profile to delete. Returns: True if dSTRING
HIGHopenmed/core/models.py108Load a TokenClassification model and tokenizer. Args: model_name: Name of the model to load. Can beSTRING
HIGHopenmed/core/locale_formats.py441Return date order and number separators for an OpenMed language code. Args: lang: OpenMed ISO 639-1 languagSTRING
HIGHopenmed/core/hf_hub.py66Resolve a registry alias or bare name to a fully-qualified Hub repo id. A value that already looks like a Hub id (cSTRING
HIGHopenmed/core/hf_hub.py107Pre-download an OpenMed model snapshot and return its local path. The friendly *name_or_alias* is resolved to a HubSTRING
HIGHopenmed/core/hf_hub.py173Return the OpenMed model repos present in the local Hugging Face cache. The scan is read-only and never touches theSTRING
HIGHopenmed/core/hf_hub.py240Delete a single OpenMed repo from the local Hugging Face cache. Args: name: Registry key, repo id, or bare STRING
HIGHopenmed/core/pii_i18n.py4383Return combined PII patterns for the given language. English patterns (email, URL, IP, etc.) are universal and alwaSTRING
HIGHopenmed/core/rtl_render.py252Render de-identified ``text`` with bidi-safe masks. For a right-to-left or mixed-script document, each replacement STRING
HIGHopenmed/core/rtl_render.py338Wrap a single mask/surrogate token in ``FSI ... PDI`` isolates. A convenience for callers that build redacted outpuSTRING
HIGHopenmed/core/rtl_render.py369Remove bidi isolate/embedding/override controls and directional marks. For source text without pre-existing bidi coSTRING
HIGHopenmed/ner/indexing.py99Discover models located under ``models_dir`` and return a structured index. Args: models_dir: Root directorSTRING
HIGHopenmed/interop/fhir_operations.py129Return a de-identified copy of a single FHIR resource. Walks the resource's string-typed elements and its ``text`` STRING
HIGHopenmed/interop/fhir_operations.py167Return a de-identified copy of a FHIR Bundle. Applies :func:`de_identify_resource` to every ``entry.resource`` whilSTRING
HIGHopenmed/interop/fhir_operations.py201Run ``$de-identify`` over a FHIR ``Parameters`` envelope. Accepts a ``Parameters`` resource carrying a ``resource``STRING
HIGHopenmed/interop/cdm_etl.py377Transform clinical note entities into deterministic CDM-style tables. Args: notes: Iterable of :class:`ClinSTRING
HIGHopenmed/interop/fhir_bulk.py346De-identify every ``*.ndjson`` file in a FHIR bulk export directory. The output directory mirrors the input directoSTRING
HIGHopenmed/interop/cda.py174Redact PHI from a CDA/C-CDA XML document. Args: document_or_path: XML string/bytes or a filesystem path. STRING
HIGHopenmed/interop/omop/cdm_loader.py545Build OMOP CDM tables from grounded clinical note records. Args: notes: Iterable of mappings or objects witSTRING
HIGHopenmed/utils/validation.py14Validate and clean input text. Args: text: Input text to validate. min_length: Minimum allowed textSTRING
HIGHopenmed/utils/validation.py61Validate model name format. Args: model_name: Model name to validate. Returns: Validated modelSTRING
HIGHopenmed/utils/validation.py109Validate confidence threshold value. Args: threshold: Confidence threshold to validate. Returns: STRING
HIGHopenmed/utils/validation.py130Validate output format name. Args: format_name: Output format to validate. Returns: Validated STRING
HIGHopenmed/utils/validation.py155Validate batch size for processing. Args: batch_size: Batch size to validate. max_batch_size: MaximSTRING
HIGHopenmed/multimodal/documents_markdown.py48Extract normalized text and source offsets from Markdown/GFM content. Args: source: A filesystem path, raw STRING
HIGHopenmed/multimodal/epub.py93Extract EPUB spine text and source-offset metadata. Args: path: EPUB file path. Returns: An :cSTRING
HIGHopenmed/clinical/exporters/flat_table.py137Return a pandas DataFrame using the fixed flat-table schema. pandas is imported lazily so importing this module hasSTRING
HIGHopenmed/clinical/exporters/code_provenance.py33Return a copy of ``coding`` stamped with code-system version provenance. ``version_pins`` may be keyed by a short vSTRING
HIGHopenmed/clinical/exporters/codeable_concept_simple.py54Return the canonical HL7 FHIR R4 system URI for *vocabulary_id*. Accepts either a short vocabulary id (case-insensiSTRING
HIGHopenmed/clinical/exporters/codeable_concept_simple.py93Build one FHIR R4 Coding dict. Args: system: A short vocabulary id or an already-canonical systSTRING
HIGHopenmed/clinical/exporters/codeable_concept_simple.py124Build an R4-shaped CodeableConcept from one or more Codings. Codings are ordered deterministically by *system_priorSTRING
HIGHopenmed/clinical/exporters/fhir/operation_outcome.py113Build an R4 ``OperationOutcome`` from an iterable of issues. Args: issues: An iterable of issue-like items,STRING
HIGHopenmed/clinical/exporters/fhir/provenance.py34Translate an OpenMed audit report into an R4 ``Provenance`` resource. Args: audit_report: Signed OpenMed auSTRING
HIGHopenmed/eval/frontier.py453Assemble one :class:`FrontierPoint` from already-measured reports. Throughput is read from a :class:`~openmed.eval.STRING
HIGHopenmed/eval/flaky.py287Detect flaky benchmark metrics by repeating the same scoring callable. Args: run_callable: Zero-argument caSTRING
HIGHopenmed/eval/suites/multimodal_dicom.py216Generate a deterministic synthetic burned-in-PHI DICOM corpus. Each case writes a single-frame phantom DICOM with sSTRING
HIGHopenmed/eval/suites/multimodal_dicom.py265Score the DICOM redaction path over the synthetic corpus. Generates (or reuses) the synthetic corpus, runs the realSTRING
HIGHopenmed/eval/datasets/i2b2.py183Load i2b2 de-identification XML files from a credentialed directory. Args: path: Approved local directory cSTRING
HIGHopenmed/risk/kanon.py73Measure k-anonymity, l-diversity and t-closeness for ``records``. Args: records: Tabular records in any shaSTRING
HIGHexamples/gradio_deid_app.py78De-identify *text* with *method* and adapt the result for the UI. This wraps the public :func:`openmed.deidentify` STRING
Excessive Try-Catch Wrapping157 hits · 169 pts
SeverityFileLineSnippetContext
LOWopenmed/__init__.py324 except Exception:CODE
LOWopenmed/__init__.py329 except Exception:CODE
LOWopenmed/__init__.py602 except Exception as exc: # pragma: no coverCODE
LOWopenmed/core/safety_sweep.py66 except Exception:CODE
LOWopenmed/core/models.py215 except Exception as e:CODE
LOWopenmed/core/models.py248 except Exception:CODE
LOWopenmed/core/models.py352 except Exception as e:CODE
LOWopenmed/core/models.py468 except Exception as exc:CODE
LOWopenmed/core/models.py491 except Exception as exc:CODE
LOWopenmed/core/models.py697 except Exception:CODE
LOWopenmed/core/models.py705 except Exception:CODE
LOWopenmed/core/models.py715 except Exception:CODE
LOWopenmed/core/surrogate_vault.py823 except Exception:CODE
LOWopenmed/core/arbitration.py337 except Exception:CODE
LOWopenmed/core/pipeline.py1241 except Exception as exc:CODE
LOWopenmed/core/pipeline.py1904 except Exception:CODE
LOWopenmed/core/hf_publish.py709 except Exception as exc:CODE
MEDIUMopenmed/core/hf_publish.py694def _load_hf_api() -> Any:CODE
LOWopenmed/core/detector_plugins.py269 except Exception as exc: # pragma: no cover - importlib defensive guardCODE
LOWopenmed/core/detector_plugins.py282 except Exception as exc:CODE
LOWopenmed/core/doctor.py97 except Exception:CODE
LOWopenmed/core/cascade.py348 except Exception:CODE
LOWopenmed/core/anonymizer/engine.py211 except Exception as exc: # noqa: BLE001 — never let a single label kill the docCODE
LOWopenmed/ner/families/gliner2.py152 except Exception: # pragma: no cover - defensive pathCODE
LOWopenmed/ner/families/gliner.py107 except Exception: # pragma: no cover - defensive pathCODE
LOWopenmed/onnx/convert.py678 except Exception as exc:CODE
LOWopenmed/onnx/convert.py861 except Exception as exc: # pragma: no cover - depends on runtime kernels.CODE
LOWopenmed/onnx/convert.py1013 except Exception as exc: # pragma: no cover - depends on optional ORT tools.CODE
LOWopenmed/onnx/convert.py1203 except Exception as exc: # pragma: no cover - depends on runtime profiling.CODE
LOWopenmed/onnx/convert.py1345 except Exception:CODE
LOWopenmed/onnx/ort_mobile.py113 except Exception as exc:CODE
LOWopenmed/onnx/openvino_export.py546 except Exception:CODE
MEDIUMopenmed/onnx/openvino_export.py481def _openvino_conversion_api() -> tuple[Any, Any]:CODE
LOWopenmed/processing/object_storage.py297 except Exception as exc:CODE
LOWopenmed/processing/object_storage.py377 except Exception as exc:CODE
LOWopenmed/processing/object_storage.py386 except Exception as exc:CODE
MEDIUMopenmed/processing/object_storage.py203def _import_fsspec() -> Any:CODE
LOWopenmed/processing/batch.py589 except Exception as e:CODE
LOWopenmed/processing/batch.py598 except Exception as e:CODE
LOWopenmed/processing/batch.py705 except Exception as e:CODE
LOWopenmed/processing/batch.py761 except Exception as e:CODE
LOWopenmed/processing/display.py52 except Exception:CODE
LOWopenmed/processing/display.py75 except Exception:CODE
LOWopenmed/processing/display.py86 except Exception:CODE
LOWopenmed/processing/display.py444 except Exception:CODE
LOWopenmed/processing/display.py450 except Exception:CODE
LOWopenmed/processing/display.py455 except Exception:CODE
LOWopenmed/processing/kafka_connector.py657 except Exception as exc: # pragma: no cover - defensive logging branchCODE
LOWopenmed/processing/pulsar_connector.py127 except Exception as exc: # pragma: no cover - exercised by real client usersCODE
LOWopenmed/processing/outputs.py196 except Exception:CODE
LOWopenmed/interop/fhir_operations.py412 except Exception:CODE
LOWopenmed/interop/polars_accessor.py282 except Exception:CODE
MEDIUMopenmed/interop/polars_accessor.py279def _namespace_registered() -> bool:CODE
LOWopenmed/interop/duckdb_udf.py249 except Exception:STRING
LOWopenmed/interop/omop/cdm_loader.py1243 except Exception:CODE
LOWopenmed/torch/attention.py115 except Exception:CODE
MEDIUMopenmed/torch/attention.py91def _flash_attention_2_is_available() -> bool:CODE
LOWopenmed/torch/device.py95 except Exception:CODE
LOWopenmed/torch/device.py107 except Exception:CODE
LOWopenmed/torch/device.py118 except Exception:CODE
97 more matches not shown…
Deep Nesting117 hits · 106 pts
SeverityFileLineSnippetContext
LOWopenmed/__init__.py181CODE
LOWopenmed/__init__.py467CODE
LOWopenmed/core/result_cache.py60CODE
LOWopenmed/core/config.py209CODE
LOWopenmed/core/policy.py541CODE
LOWopenmed/core/pii_entity_merger.py568CODE
LOWopenmed/core/pii_entity_merger.py651CODE
LOWopenmed/core/pii_entity_merger.py712CODE
LOWopenmed/core/custom_recognizer.py394CODE
LOWopenmed/core/policy_lint.py248CODE
LOWopenmed/core/hf_publish.py167CODE
LOWopenmed/core/pii_i18n.py789CODE
LOWopenmed/core/pii_i18n.py985CODE
LOWopenmed/core/manifest_schema.py155CODE
LOWopenmed/core/manifest_schema.py497CODE
LOWopenmed/core/pii.py458CODE
LOWopenmed/core/pii.py2032CODE
LOWopenmed/core/pii.py2554CODE
LOWopenmed/core/decoding/viterbi.py265CODE
LOWopenmed/core/decoding/viterbi.py364CODE
LOWopenmed/ner/indexing.py297CODE
LOWopenmed/onnx/convert.py1090CODE
LOWopenmed/processing/tokenization.py308CODE
LOWopenmed/processing/kafka_connector.py92CODE
LOWopenmed/processing/outputs.py563CODE
LOWopenmed/processing/outputs.py125CODE
LOWopenmed/processing/outputs.py526CODE
LOWopenmed/training/active_learning.py492CODE
LOWopenmed/training/distill.py462CODE
LOWopenmed/training/distill.py864CODE
LOWopenmed/interop/fhir_operations.py351CODE
LOWopenmed/interop/cdm_etl.py371CODE
LOWopenmed/interop/cdm_etl.py323CODE
LOWopenmed/interop/philter.py175CODE
LOWopenmed/interop/pydeid.py158CODE
LOWopenmed/interop/cda.py315CODE
LOWopenmed/interop/cda.py351CODE
LOWopenmed/interop/athena.py56CODE
LOWopenmed/interop/athena.py180CODE
LOWopenmed/interop/omop/cdm_loader.py771CODE
LOWopenmed/mcp/tool_registry.py278CODE
LOWopenmed/mcp/tool_registry.py408CODE
LOWopenmed/mcp/workflow.py142CODE
LOWopenmed/cli/active_learning.py88CODE
LOWopenmed/cli/main.py1339CODE
LOWopenmed/cli/main.py2017CODE
LOWopenmed/cli/main.py2070CODE
LOWopenmed/coreml/convert.py914CODE
LOWopenmed/integrations/columnar_redactor.py868CODE
LOWopenmed/multimodal/documents_markdown.py447CODE
LOWopenmed/multimodal/documents_markdown.py939CODE
LOWopenmed/multimodal/documents_docx.py294CODE
LOWopenmed/multimodal/documents_docx.py325CODE
LOWopenmed/multimodal/documents_pdf.py63CODE
LOWopenmed/multimodal/ocr.py412CODE
LOWopenmed/multimodal/dicom.py1033CODE
LOWopenmed/multimodal/dicom.py1115CODE
LOWopenmed/clinical/summary_card.py233CODE
LOWopenmed/clinical/grounding/vocab.py622CODE
LOWopenmed/clinical/grounding/vocab.py662CODE
57 more matches not shown…
AI Structural Patterns65 hits · 56 pts
SeverityFileLineSnippetContext
LOWopenmed/__init__.py181CODE
LOWopenmed/core/arbitration.py222CODE
LOWopenmed/core/pipeline.py233CODE
LOWopenmed/core/pipeline.py309CODE
LOWopenmed/core/model_search.py53CODE
LOWopenmed/core/hf_publish.py226CODE
LOWopenmed/core/streaming.py54CODE
LOWopenmed/core/pii.py739CODE
LOWopenmed/core/pii.py852CODE
LOWopenmed/core/pii.py1464CODE
LOWopenmed/core/pii.py1721CODE
LOWopenmed/core/pii.py1815CODE
LOWopenmed/core/cascade.py54CODE
LOWopenmed/ner/infer.py118CODE
LOWopenmed/onnx/convert.py338CODE
LOWopenmed/onnx/convert.py799CODE
LOWopenmed/processing/object_storage.py92CODE
LOWopenmed/processing/batch.py856CODE
LOWopenmed/processing/batch.py236CODE
LOWopenmed/processing/kafka_connector.py92CODE
LOWopenmed/training/distill.py356CODE
LOWopenmed/training/distill.py609CODE
LOWopenmed/training/synthetic/translation_augment.py190CODE
LOWopenmed/torch/quantize_gptq.py33CODE
LOWopenmed/torch/quantize_awq.py36CODE
LOWopenmed/mcp/server.py109CODE
LOWopenmed/mcp/server.py213CODE
LOWopenmed/cli/typer_app.py96CODE
LOWopenmed/coreml/convert.py164CODE
LOWopenmed/coreml/convert.py735CODE
LOWopenmed/integrations/spark_streaming.py140CODE
LOWopenmed/integrations/lakehouse_redact.py324CODE
LOWopenmed/integrations/columnar_redactor.py231CODE
LOWopenmed/multimodal/tabular_csv.py302CODE
LOWopenmed/multimodal/chatlog_jsonl.py206CODE
LOWopenmed/multimodal/chatlog_jsonl.py280CODE
LOWopenmed/multimodal/dicom.py393CODE
LOWopenmed/multimodal/image.py202CODE
LOWopenmed/eval/release_gates.py442CODE
LOWopenmed/eval/fairness.py482CODE
LOWopenmed/eval/metrics.py1141CODE
LOWopenmed/eval/metrics.py1527CODE
LOWopenmed/eval/harness.py810CODE
LOWopenmed/eval/harness.py1081CODE
LOWopenmed/eval/harness.py1282CODE
LOWopenmed/eval/harness.py1323CODE
LOWopenmed/eval/harness.py1355CODE
LOWopenmed/eval/robustness.py395CODE
LOWopenmed/eval/robustness.py524CODE
LOWopenmed/eval/quant_delta.py324CODE
LOWopenmed/eval/calibrate.py634CODE
LOWopenmed/eval/calibrate.py715CODE
LOWopenmed/eval/calibrate.py941CODE
LOWopenmed/eval/suites/multimodal_dicom.py252CODE
LOWopenmed/eval/datasets/biomedical_ner.py367CODE
LOWopenmed/eval/attacks/reid.py64CODE
LOWopenmed/service/client.py233CODE
LOWopenmed/service/client.py293CODE
LOWopenmed/service/client.py330CODE
LOWopenmed/service/client.py371CODE
5 more matches not shown…
Cross-Language Confusion (JS/TS)6 hits · 42 pts
SeverityFileLineSnippetContext
HIGHdocs/website/assets/script.js292 print(entity.label, entity.text, entity.confidence)CODE
HIGHdocs/website/assets/script.js295print(deid.deidentified_text)`,CODE
HIGHdocs/website/assets/script.js305 print(entity.label, entity.text, entity.confidence)CODE
HIGHdocs/website/assets/script.js308print(deid.deidentified_text)`,CODE
HIGHdocs/website/assets/script.js318 print(f"{e['entity_group']:16} {e['word']:32} score={e['score']:.2f}")`,CODE
HIGHdocs/website/assets/script.js333 print(entity.label, entity.text, entity.confidence)CODE
Cross-File Repetition7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHopenmed/eval/utility.py0return a json-serializable report dictionary with stable keys.STRING
HIGHopenmed/eval/error_analysis.py0return a json-serializable report dictionary with stable keys.STRING
HIGHopenmed/eval/report.py0return a json-serializable report dictionary with stable keys.STRING
HIGHopenmed/eval/datasets/cmeee.py0load deft records from an explicit local path. openmed does not bundle deft corpus text. pass a local path to data you aSTRING
HIGHopenmed/eval/datasets/pharmaconer.py0load deft records from an explicit local path. openmed does not bundle deft corpus text. pass a local path to data you aSTRING
HIGHopenmed/eval/datasets/cantemist.py0load deft records from an explicit local path. openmed does not bundle deft corpus text. pass a local path to data you aSTRING
HIGHopenmed/eval/datasets/deft.py0load deft records from an explicit local path. openmed does not bundle deft corpus text. pass a local path to data you aSTRING
Modern AI Meta-Vocabulary5 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMopenmed/core/pii_entity_merger.py546 # Extract context windowCOMMENT
MEDIUMopenmed/cli/typer_app.py228 # zero-shot (GLiNER/GLiNER2)COMMENT
MEDIUMtests/run-tests.sh13# Core test suite without slow markers (collect coverage for zero-shot modules)COMMENT
MEDIUMtests/unit/ner/__init__.py1# Unit tests for the zero-shot NER toolkit.COMMENT
MEDIUMtests/unit/cli/test_false_negative_explorer_cli.py165 # Span text and a surrounding-context window are surfaced from the fixture.COMMENT
AI Slop Vocabulary3 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMopenmed/eval/suites/multimodal_dicom.py72#: Device tier reported for pixel-space (image) PHI in the harness slices.COMMENT
LOWtests/unit/core/test_anonymizer.py201 # If the original isn't an email, just return the fake.COMMENT
MEDIUMtests/unit/eval/test_multimodal_dicom_suite.py270 # Report renders to the harness's Markdown/JSON surfaces.COMMENT
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippetContext
LOWopenmed/core/models.py506 # Check if it's a registry keyCOMMENT
LOWopenmed/core/models.py511 # Check if it needs org prefixCOMMENT
LOWopenmed/processing/advanced_ner.py619 # Check if same entity type and close proximityCOMMENT
LOWopenmed/processing/advanced_ner.py669 # Check if we have token-level data (no aggregation_strategy used)COMMENT
LOWopenmed/processing/outputs.py341 # Check if entities are adjacent and same labelCOMMENT
Verbosity Indicators3 hits · 7 pts
SeverityFileLineSnippetContext
LOWopenmed/processing/advanced_ner.py667 # Step 1: Smart grouping if requested and we have token-level outputCOMMENT
LOWopenmed/processing/advanced_ner.py689 # Step 2: Advanced filteringCOMMENT
LOWopenmed/processing/advanced_ner.py692 # Step 3: Merge adjacent entities if enabledCOMMENT
Structural Annotation Overuse3 hits · 7 pts
SeverityFileLineSnippetContext
LOWopenmed/processing/advanced_ner.py667 # Step 1: Smart grouping if requested and we have token-level outputCOMMENT
LOWopenmed/processing/advanced_ner.py689 # Step 2: Advanced filteringCOMMENT
LOWopenmed/processing/advanced_ner.py692 # Step 3: Merge adjacent entities if enabledCOMMENT
Self-Referential Comments1 hit · 4 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_profiles.py148 # Create a custom profileCOMMENT
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippetContext
LOWopenmed/core/name_order.py41COMMENT
LOWopenmed/core/data/clinical_protect_terms.txt1# OpenMed clinical protection terms v1COMMENT
LOWdocs/security/pip-audit-ignore.toml1# Time-boxed pip-audit ignores.COMMENT
LOWswift/OpenMedKit/Sources/OpenMedKit/OpenMedKit.swift1import CryptoKitCOMMENT
Cross-Language Confusion1 hit · 2 pts
SeverityFileLineSnippetContext
HIGHopenmed/eval/quant_delta.py412 """Return KL(reference || candidate) over fixed-seed token frequencies."""STRING
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_profiling.py264 def my_function():CODE
LOWtests/unit/service/test_rest_client.py41 def handle_request(self, request: httpx.Request) -> httpx.Response:CODE