🏥 ICD Converter

Classificazioni ICD-9-CM · ICD-10-IM v.GAMMA 2.1 · CIPI v.GAMMA 2.0 · Transcodifica ICD-9↔CIPI v.2.0.1 · MS-DRG CMS FY2026 v43.0 — Ministero della Salute italiano

ICD-9-CM ICD-10-IM CIPI MS-DRG Semantic AI API Docs

Conversione Codice ICD

Esempi ICD-9: 410.91 (IMA) 427.31 (FA) 250.00 (Diabete) 486 (Polmonite) 81.54 (PTG)
Esempi ICD-10: I21.9 (IMA) I48.91 (FA) E11.9 (Diabete T2) J18.9 (Polmonite) G20 (Parkinson)

Ricerca per Similitudine Semantica

Inserisci un testo clinico libero. Il sistema può operare in due modalità:
Euristica — ricerca per parole chiave BM25, sempre disponibile.
Embedding — pipeline avanzata con modello AI (richiede LLM_EMBED_MODEL, es. nomic-embed-text via Ollama): query expansion LLM (genera riformulazioni ICD-aligned della query), multi-query splitting (testi lunghi vengono spezzati in clausole embeddate separatamente) e fusione ibrida RRF (embedding + BM25 combinati via Reciprocal Rank Fusion).

Esempi: infarto STEMI fibrillazione atriale diabete tipo 2 + nefropatia polmonite batterica frattura femore ins. cardiaca sistolica ernia discale + sciatalgia appendicite perforata emorragia subaracnoidea ictus ischemico sepsi + shock settico ulcera peptica + emorragia IRC stadio 4 carcinoma polmonare trauma cranico grave stenosi aortica morbo di Crohn ictus emorragico schizofrenia paranoide artrite reumatoide
Testi lunghi (per LLM): STEMI anteriore (lungo) Ictus ischemico + trombolisi (lungo) Riacutizzazione BPCO (lungo) Nefrite lupica classe IV (lungo) TAVI stenosi aortica (lungo) Scompenso cirrotico + SER (lungo)

Ricerca Codici CIPI

Cerca nei 15.164 codici CIPI v.GAMMA 2.0 — Classificazione degli Interventi e delle Procedure Italiani.
La struttura è gerarchica: capitoli (2 cifre) → blocchi (3 cifre) → categorie (4 cifre) → codici codificanti (fatturabili).

Esempi: artroscopia bypass cardiaco laparoscopia protesi anca endoscopia trapianto rene angioplastica

Esplora Gerarchia CIPI

Inserisci un codice per espandere i suoi figli diretti, oppure lascia vuoto per vedere tutti i capitoli radice.

Navigazione rapida: Tutti i capitoli 00 Non classificati 01 Cranio/Cervello 35 Cuore 45 Intestino 81 Arti/Ortopedia

MS-DRG Grouper

Esempi: IMA + Angioplastica Scompenso cardiaco Polmonite + IRA IRC + Dialisi Sepsi + Shock settico Frattura femore + ORIF
1
Paziente
2
Diagnosi
3
Procedure
Riepilogo
Passo 1 — Dati del Paziente

Lookup Codice MS-DRG

Cerca un singolo codice MS-DRG CMS FY2026 v43.0 (772 DRG, 26 MDC). Il codice può essere espresso con o senza zeri iniziali (es. 1 = 001).

Esempi: 001 Trapianto Cuore 280 IMA + CMM 291 Scompenso Cardiaco + CMM 470 Protesi anca/ginocchio 193 Polmonite + CMM 871 Setticemia + VM >96h

Ricerca Testuale DRG

Esempi: scompenso cardiaco polmonite setticemia trapianto rene ictus insufficienza respiratoria

Categorie Diagnostiche Principali (MDC)

Clicca su un MDC per filtrare i DRG che vi appartengono.

Caricamento MDC…

🏥 MS-DRG Grouper (CMS FY2026 v43.0)

Il grouper implementa l'algoritmo ufficiale CMS Medicare Severity DRG (MS-DRG), versione 43.0 (FY2026). Dato un set di diagnosi ICD-10-CM e procedure ICD-10-PCS, assegna il codice DRG che descrive la categoria di trattamento ospedaliero e ne determina il peso relativo (indicatore di intensità di risorse) e la degenza attesa.

Algoritmo di raggruppamento (5 fasi)
1. Pre-MDC
2. Assegna MDC
3. Partizione CHIR/MED
4. Livello CC/CMM
5. Selezione DRG
Pre-MDC: verifica se la diagnosi/procedura rientra in un DRG ad alta complessità (trapianti, ECMO, ventilazione meccanica ≥96h, ustioni estese) che sovrascrivono la classificazione MDC.
MDC: la diagnosi principale è mappata su una delle 26 Major Diagnostic Categories (sistemi organici).
Partizione: all'interno dell'MDC, il ricovero è classificato come Chirurgico (presenza di procedura O.R.) o Medico.
CC/CMM: le diagnosi secondarie vengono valutate come Complicazione o Comorbidità (CC) o Complicazione o Comorbidità Maggiore (CMM), influenzando la scelta tra i DRG triplet (CMM / CC / senza CC).
DRG finale: intersecazione MDC × partizione × livello CC produce il codice DRG numerico.
Famiglie MDC supportate: MDC 01 (sistema nervoso), MDC 04 (apparato respiratorio), MDC 05 (sistema circolatorio), MDC 06 (apparato digerente), MDC 07 (epato-biliare e pancreas), MDC 11 (rene e vie urinarie), MDC 18 (malattie infettive e parassitarie) — le descrizioni di ogni DRG sono sempre lette dal database, senza etichette hardcoded.
772
Codici DRG
versione v43.0 FY2026
26
Categorie MDC
Major Diagnostic Categories
3
Livelli CC
Nessuna / CC / CMM
2
Partizioni
CHIRURGICO / MEDICO

Fonti dei Dati

Tabelle MS-DRG v43.0 FY2026 — CMS
Tabelle ufficiali di raggruppamento (Pre-MDC, logic tables, CC/MCC exclusion list, MDC assignment) pubblicate dal Centers for Medicare & Medicaid Services (USA) per l'anno fiscale 2026.
772 DRG 26 MDC FY2026 (v43.0) Pubblico
Pesi relativi e degenze medie — CMS IPPS FY2026
Pesi relativi (relative weights), degenze geometriche medie (geometric mean LOS) e aritmetiche (arithmetic mean LOS) per ciascun DRG, tratti dalle tabelle IPPS FY2026 (Inpatient Prospective Payment System).
Peso relativo per DRG GLOS e ALOS

🔍 Ricerca per Similitudine Semantica

La scheda Ricerca Similitudine utilizza tecniche di NLP e machine learning per trovare i codici ICD e CIPI più pertinenti a partire da testo clinico libero — referti, lettere di dimissione, diagnosi in linguaggio naturale — senza richiedere la conoscenza esatta dei codici o delle denominazioni ufficiali. Il sistema supporta due modalità selezionabili dall'utente:

🔤 Modalità euristica (keyword)
Ricerca basata su corrispondenza di termini nelle descrizioni ufficiali ICD/CIPI. Implementa un algoritmo di scoring BM25-like: tokenizza la query, espande le varianti morfologiche italiane (singolare/plurale, accenti) e ordina i risultati per frequenza di occorrenza ponderata sulla lunghezza del documento.
Quando è attiva: sempre disponibile, anche senza Ollama. Usata come fallback automatico se il modello embedding non è configurato, e come componente di re-ranking ibrido nella modalità embedding.
Limiti: non comprende sinonimi, varianti ortografiche o termini semanticamente equivalenti non presenti letteralmente nelle descrizioni ufficiali. (es. "ischemia miocardica" non trova "infarto")
Sempre disponibile BM25-like Nessuna GPU
🤖 Modalità embedding (AI)
Pipeline avanzata che combina embedding vettoriale e ricerca keyword tramite Reciprocal Rank Fusion (RRF). I codici ICD/CIPI vengono pre-calcolati come vettori ad alta dimensione e memorizzati; al momento della ricerca la query viene embeddato nello stesso spazio e si calcola la similarità coseno.
Quando è attiva: richiede la variabile d'ambiente LLM_EMBED_MODEL e un server Ollama raggiungibile. Gli indici vengono costruiti al primo avvio e poi memorizzati in cache nel database SQLite.
Vantaggi: comprende sinonimi, lingue miste, testi lunghi e terminologia parafrasata. Particolarmente efficace su referti clinici complessi.
Richiede Ollama Cosine similarity Cache SQLite

Componenti della pipeline embedding

📐 Embedding vettoriale
Ogni descrizione ICD/CIPI viene trasformata in un vettore numerico ad alta dimensione tramite un modello sentence-transformer. Al momento della ricerca il testo della query viene convertito nello stesso spazio e vengono restituiti i codici con la similarità coseno più elevata.
Modello attivo: all-minilm — sentence-transformer multilingua ottimizzato per similarità semantica, servito tramite Ollama.
Cosine similarity Multilingua Ollama
🧠 Query expansion con LLM
Prima dell'embedding, la query viene inviata a un modello generativo (chat LLM) che produce 2–3 sinonimi clinici della diagnosi principale in terminologia ICD italiana. Ogni sinonimo viene embeddato separatamente e i risultati vengono fusi tramite Reciprocal Rank Fusion (RRF).
Modello attivo: gemma3:1b — modello generativo leggero, eseguito localmente tramite Ollama. L'espansione è best-effort: se il modello supera il timeout configurato, la ricerca procede comunque con la query originale.
Best-effort RRF fusion Locale / privacy
Pipeline di ricerca
1. Testo libero
2. Estrazione diagnosi
3. Espansione LLM
4. Embedding multi-query
5. RRF + ranking finale
Il testo viene anche suddiviso in chunks (clausole cliniche) prima dell'embedding, in modo che referti lunghi non degradino la qualità della ricerca. I risultati di embedding e ricerca keyword vengono fusi con RRF per massimizzare il recall.
Nota sulla privacy: tutta l'elaborazione (embedding e LLM) avviene localmente tramite Ollama. Nessun dato clinico viene inviato a servizi cloud esterni. È possibile sostituire i modelli configurando le variabili d'ambiente LLM_MODEL, LLM_EMBED_MODEL e LLM_BASE_URL.

🔄 Conversione Bidirezionale ICD-9-CM ↔ CIPI

A partire dalla tabella ufficiale di transcodifica v.2.0.1 (Ministero della Salute, marzo 2026), il sistema supporta la conversione bidirezionale tra codici procedurali ICD-9-CM e codici CIPI (Classificazione degli Interventi e delle Procedure Italiani). Le 10.788 coppie di mappatura coprono l'intero Volume 3 dell'ICD-9-CM e consentono di passare agevolmente tra le due nomenclature nell'ambito del flusso informativo SDO.

10.788
Mappature ICD-9 ↔ CIPI
Tabella v.2.0.1 — Marzo 2026
2
Endpoint REST
to-cipi · to-icd9
Bidirezionale
ICD-9 → CIPI e CIPI → ICD-9

Endpoint

GET /api/v1/icd9/{code}/to-cipi → converte un codice ICD-9-CM nei CIPI equivalenti
GET /api/v1/cipi/{code}/to-icd9 → converte un codice CIPI nei codici ICD-9-CM equivalenti
I risultati della conversione includono il codice sorgente completo di descrizione e, nel campo mappings, la lista dei codici destinazione arricchiti di descrizione, tipo e gerarchia. Un codice ICD-9 può corrispondere a più CIPI (relazione 1-N) e viceversa.

📚 Fonti dei Dati

Tutti i dati utilizzati in questa applicazione provengono da fonti ufficiali del Ministero della Salute italiano e dell'Organizzazione Mondiale della Sanità (OMS). I file originali sono stati elaborati e normalizzati con gli script presenti nella cartella scripts/ e sono inclusi nel bundle dell'applicazione.

ICD-9-CM — Classificazione Internazionale delle Malattie, 9ª revisione, Modificazione Clinica

Diagnosi ICD-9-CM
16.212 codici di diagnosi in lingua italiana (versione 2007 con correzioni).
16.212 codici Italiano Versione 2007
Procedure ICD-9-CM (Volume 3)
4.460 codici di procedura in lingua italiana.
4.460 codici Italiano

ICD-10-IM — Classificazione Internazionale delle Malattie, 10ª revisione, versione Italiana (Ministero della Salute)

Elenco Sistematico ICD-10-IM v.GAMMA 2.1
14.785 codici ICD-10-IM in lingua italiana, validi dal 16 febbraio 2026.
14.785 codici Italiano Validità: 16/02/2026
Tabella di Transcodifica Bidirezionale ICD-9-CM ↔ ICD-10-IM v.GAMMA 2.1
19.539 mappature ufficiali bidirezionali tra ICD-9-CM e ICD-10-IM.
19.539 mappature Febbraio 2026

CIPI — Classificazione degli Interventi e delle Procedure Italiani v.GAMMA 2.0 & Transcodifica ICD-9↔CIPI v.2.0.1

Tabella CIPI v.GAMMA 2.0 (2025)
15.164 codici di procedura italiani: 98 capitoli, 867 blocchi, 3.528 categorie e 10.671 codici codificanti (fatturabili).
15.164 codici Italiano Versione GAMMA 2.0
Transcodifica ICD-9-CM ↔ CIPI v.2.0.1
10.788 coppie di transcodifica bidirezionali tra ICD-9-CM Volume 3 (procedure) e codici CIPI. Abilita gli endpoint /icd9/{code}/to-cipi e /cipi/{code}/to-icd9.
10.788 mappature Marzo 2026 Bidirezionale

Nota sull'utilizzo ufficiale

Per gli usi ufficiali dei codici di diagnosi all'interno dei flussi informativi NSIS resta valido lo standard ICD-9-CM per tutto il 2026. ICD-10-IM è in fase di sperimentazione nell'ambito del Progetto NSIS-CLASS (DM 23 ottobre 2025) e rappresenta un prototipo soggetto ad aggiornamento.

Licenza

ICD-10-IM è distribuita con licenza CC BY-NC-ND 4.0.
Titolari: Ministero della Salute e Regione Autonoma Friuli Venezia Giulia.
La traduzione italiana di ICD-10 è stata realizzata dal Centro collaboratore italiano dell'OMS per la Famiglia delle Classificazioni Internazionali.

Esplora Codici ICD