{ "schema_version": 2, "question": "Lista dei pazienti che, negli ultimi 15 anni, hanno avuto un'ablazione transcatetere seguita da un impianto di defibrillatore (ICD) entro 10 anni.", "strategy": "Catena di 4 CTE: prima isolo le ablazioni transcatetere e gli impianti ICD separatamente (con le rispettive finestre temporali), poi li unisco per paziente mantenendo solo le coppie in cui l'impianto segue l'ablazione entro 10 anni, infine riduco a una riga per paziente scegliendo la prima coppia qualificante.", "ctes": [ { "name": "ablazioni_recenti", "index": 1, "purpose": "Ablazioni transcatetere (ablazione_transcatetere IS TRUE) con data ∈ [2011-07-03, 2026-07-03].", "rationale": "Punto di partenza della catena: isola l'evento indice (ablazione) prima di cercare l'impianto conseguente.", "depends_on": [], "tables": [ { "name": "fact_studio_elettrofisiologico_endocavitario_ablazione", "description": "Fatto clinico derivato da cr_seeablazione relativo a eventi, procedure o rilevazioni del paziente. Esclude record riclassificati come cardioversione o chiusura auricola." } ], "keys": ["cod_paz", "num"], "filters": [ { "column": "fact_studio_elettrofisiologico_endocavitario_ablazione.ablazione_transcatetere", "op": "IS", "value": "TRUE", "description": "Indicazione di ablazione transcatetere derivata dal text analysis sul campo conclusioni (sovrascrive il flag Cardioref).", "rationale": "Filtra solo le procedure di ablazione transcatetere richieste dalla domanda, escludendo altre tipologie di intervento." }, { "column": "fact_studio_elettrofisiologico_endocavitario_ablazione.data_ablazione", "op": "BETWEEN", "value": "2011-07-03 AND 2026-07-03", "description": "Data di esecuzione della procedura di ablazione.", "rationale": "Finestra degli «ultimi 15 anni» calcolata rispetto alla data corrente della domanda." } ], "output_columns": ["cod_paz", "num", "data_ablazione"] }, { "name": "impianti_icd", "index": 2, "purpose": "Impianti ICD iniziali con data.", "rationale": "Secondo evento della catena: individua gli impianti candidati che potrebbero seguire un'ablazione già isolata in ablazioni_recenti.", "depends_on": [], "tables": [ { "name": "fact_impianto_defibrillatore_impiantabile", "description": "Fact table degli impianti di defibrillatori (ICD). Esclude record riclassificati come CRT-P/CRT-D/S-ICD dal classificatore CIED." } ], "keys": ["cod_paz", "num"], "filters": [], "output_columns": ["cod_paz", "num", "data_impianto"] }, { "name": "sequenze_abl_imp", "index": 3, "purpose": "Join su cod_paz tra ablazioni_recenti e impianti_icd, mantiene le coppie con data_impianto > data_ablazione E <= data_ablazione + 10 anni.", "rationale": "Applica il vincolo temporale «entro 10 anni» richiesto dalla domanda, collegando ablazione e impianto per lo stesso paziente.", "depends_on": ["ablazioni_recenti", "impianti_icd"], "tables": [ { "name": "dim_patient", "description": "Dimensione paziente derivata dall'anagrafica Cardioref normalizzata nello schema di integrazione. Popolata solo con pazienti che hanno almeno un record in una tabella flaggata is_activity_table:true in integration-map.yaml (gate di attivita clinica del reparto di aritmologia)." } ], "keys": ["cod_paz"], "filters": [ { "column": "sequenze_abl_imp.data_impianto", "op": ">", "value": "data_ablazione", "description": "", "rationale": "L'impianto deve seguire cronologicamente l'ablazione (non precederla né coincidere)." }, { "column": "sequenze_abl_imp.data_impianto", "op": "<=", "value": "data_ablazione + INTERVAL '10 years'", "description": "", "rationale": "Vincolo «entro 10 anni» dalla domanda originale." } ], "output_columns": ["cod_paz", "num_ablazione", "data_ablazione", "num_impianto", "data_impianto"] }, { "name": "pazienti_qualificati", "index": 4, "purpose": "Una riga per paziente (prima coppia qualificante: ablazione più recente) + gap in anni.", "rationale": "Riduce sequenze_abl_imp a una riga per paziente come richiesto dalla «lista dei pazienti», scegliendo la coppia più recente in caso di ablazioni multiple.", "depends_on": ["sequenze_abl_imp"], "tables": [], "keys": ["cod_paz"], "filters": [], "output_columns": ["cod_paz", "data_ablazione", "data_impianto", "gap_anni"] } ] }