Questo studio è stato approvato dal Comitato Etico dell'Ospedale Femminile e Pediatrico di Jinhua (n. 2024KY099). Il consenso informato è stato ottenuto dai tutori legali dei minori.
Dati dei pazienti
Questo studio retrospettivo ha incluso bambini con polmonite da Mycoplasma pneumoniae (MPP) ricoverati presso l'Ospedale Pediatrico Affiliato al Jinhua Women and Children's Hospital da novembre 2022 a novembre 2023. La MPP è stata diagnosticata sulla base di sintomi respiratori, riscontri di imaging toracico e test positivo per Mycoplasma pneumoniae DNA o RNA. La MPP generale (GMPP) si riferisce ai bambini che hanno risposto adeguatamente alla terapia standard con macrolidi, mentre la RMPP è stata definita come febbre persistente, sintomi aggravati o anomalie progressive per immagini dopo almeno 7 giorni di terapia standard conmacrolidi 10. I criteri di inclusione erano età <14 anni, infezione confermata da Mycoplasma pneumoniae , sintomi respiratori e riscontri di imaging compatibili con polmonite. I criteri di esclusione erano infezione mista entro 10 giorni dall'insorgenza della malattia, leucemia, malattia polmonare cronica, immunodeficienza, terapia immunosoppressiva precedente, ricovero durante la fase di recupero o cartelle incomplete. La terapia standard si riferiva a azitromicina 10 mg/kg una volta al giorno, per via orale o endovenosa, con una dose massima di 500 mg/giorno. I bambini che non soddisfacevano i criteri RMPP sono stati classificati come MPP generale (GMPP). Un totale di 500 bambini idonei sono stati divisi casualmente in una coorte di addestramento (n = 375) e una coorte di validazione (n = 125) utilizzando la versione software R 4.1.2 (funzione: campione(), set.seed = 42). La coorte di validazione era riservata esclusivamente alla valutazione esterna del modello e non veniva utilizzata in nessuna fase della costruzione del modello. I dati delle cartelle cliniche elettroniche venivano estratti utilizzando un modello di estrazione standardizzato sviluppato a priori. I campi dati includevano dati demografici, presentazione clinica, valori di laboratorio, risultati di imaging e referenze dei trattamenti. Due ricercatori addestrati hanno estratto i dati in modo indipendente e le discrepanze sono state risolte per consenso. I risultati della TAC toracica sono stati valutati da radiologi ciechi rispetto ai raggruppamenti clinici e ai risultati di laboratorio. L'affidabilità inter-valutatore per l'interpretazione delle immagini CT è stata valutata utilizzando la statistica kappa di Cohen per i risultati di imaging binario (tappi dell'espettorato o versamento pleurico: sì/no; consolidamento polmonare: sì/no). Infine, 129 bambini furono classificati come RMPP e 371 come MPP generale.
Variabili
Variabili demografiche, cliniche, di laboratorio e di imaging sono state estratte dalle cartelle cliniche elettroniche utilizzando un modulo predefinito. Le variabili cliniche includevano età, sesso, durata della febbre prima del ricovero, temperatura corporea di picco e ipossemia. La durata della febbre è stata definita come l'intervallo dall'insorgenza della febbre all'ammissione. La temperatura corporea massima è stata la più alta registrata prima o entro 24 ore dall'ammissione. L'ipossia è stata definita come saturazione periferica di ossigeno arterioso <92% nell'aria ambiente o la necessità di ossigeno supplementare. Le variabili di laboratorio includevano WBC, HB, PLT, CRP, ALB, ALT, CK-MB, LDH, D-dimer, IL-6, IL-8, IL-10, IL-17, PCT e NE%. I campioni di sangue venoso a digiuno sono stati raccolti entro 24 ore dall'ammissione, e il tempo di campionamento relativo all'insorgenza della febbre e all'inizio dell'antibiotico è stato registrato quando disponibile. Mycoplasma pneumoniae Per conferma eziologica venivano utilizzati test del DNA o dell'RNA. Il tampone in tempo reale per test quantitativo PCR per Mycoplasma pneumoniae DNA o RNA è risultato positivo. Il carico quantitativo di DNA/RNA non è stato incluso perché i dati standardizzati del carico non erano disponibili per tutti i pazienti. La TAC toracica eseguita entro 3 giorni prima o dopo il ricovero è stata esaminata per tappi di spettoro, versamento pleurale e consolidamento polmonare. "Tappi dell'espettorato o versamento pleurico" sono stati registrati come positivi quando erano presenti uno dei due rischi. La consolidazione polmonare è stata definita come opacità parenchimosa segmentaria o lobare, durante la TAC. Fu utilizzato uno scanner CT a 256 slice. I bambini sono stati posti in posizione supina e una scansione assiale toracica a basso dosaggio è stata eseguita con un rilevatore di larghezza appropriata durante la trattenuta del respiro o mentre i bambini dormivano. La copertura della scansione si estendeva dall'apice polmonare alla base polmonare per coprire l'intero parenchima polmonare. I parametri di scansione erano impostati come segue: tensione della valvola 100 kVp, spessore della sezione 5 mm, spessore della fetta di ricostruzione 1,25 mm, matrice 512 × 512, tempo di rotazione della passerella 0,28 s, indice di rumore 12. Le immagini venivano ricostruite utilizzando algoritmi ASIR-V e DLIR. Ogni gruppo conteneva immagini ricostruite con pesi ASIR-V del 20%, 50% e 80%, oltre a immagini DLIR-L, DLIR-M e DLIR-H. I dati delle immagini acquisite venivano importati nella workstation. Tutte le immagini sono state esaminate indipendentemente in modo doppio cieco da due radiologi con oltre cinque anni di esperienza clinica. Hanno valutato la presenza di segni polmonari anomali e riassunto le principali caratteristiche di imaging. Per i casi con interpretazioni discrepanti, si raggiunse un consenso attraverso una discussione reciproca.
Analisi statistica
Le analisi statistiche sono state effettuate utilizzando la versione 4.1.2 del software R. Le variabili categoriche sono presentate come n (%) e confrontate utilizzando il test del chi-quadrato o il test esatto di Fisher. Le variabili continue sono espresse come media ± deviazione standard o mediana (intervallo interquartile), a seconda della distribuzione. La normalità è stata misurata utilizzando il test di Shapiro-Wilk. Le variabili normalmente distribuite venivano confrontate usando il test t a campioni indipendenti, e le variabili normalmente distribuite tramite il test U di Mann-Whitney. Prima della costruzione del modello, la comparabilità di base tra le coorti di addestramento e validazione è stata confermata utilizzando test χ2 o Mann-Whitney U per tutti i predittori candidati, senza differenze significative tra le coorti (tutte le P > 0,05). Nella coorte di formazione, variabili con P < 0,05 nella regressione logistica univariata sono state inserite nella regressione logistica multivariabile. La multicollinearità è stata valutata utilizzando fattori di inflazione della varianza (VIF) calcolati con il pacchetto "car"; tutti i predittori selezionati avevano un VIF < 5, indicando che non era una multicollinearità sostanziale. L'assunzione di linearità per la LDH è stata esaminata usando trasformazione logaritmica e spline cubiche limitate (usando il pacchetto "rms" con 3 nodi posizionati al percentile 10, 50 e 90); la forma lineare veniva mantenuta quando l'adattamento del modello non migliorava (test del rapporto di versimiglianza: P > 0,05 per il termine spline non lineare, supportando la specifica lineare). Un nomogramma è stato costruito a partire dal modello multivariabile finale utilizzando il pacchetto "rms" (versione 6.3-0; funzioni: lrm per la regressione logistica, Predict per la previsione dei valori e nomogramma per la rappresentazione grafica). La discriminazione è stata valutata utilizzando curve caratteristiche operative del ricevitore, area sotto la curva e indice C con intervalli di confidenza al 95% (package "pROC"). La calibrazione è stata valutata utilizzando curve di calibrazione con 1.000 ricampionamenti bootstrap. "pacchetto RMS": Calibra funzione). Il cutoff ottimale di previsione è stato determinato indipendentemente all'interno di ciascuna coorte utilizzando l'indice di Youden tramite il pacchetto pROC: 0,222 nella coorte di formazione e 0,247 nella coorte di validazione. Il cutoff derivato dall'addestramento (0,222) è stato applicato anche alla coorte di validazione per il confronto delle prestazioni tra coorti, coerente con la prassi standard di validazione interna. L'intervallo di confidenza del 95% per la probabilità prevista, ad esempio, è stato calcolato utilizzando errori standard basati su modelli sulla scala logit. L'analisi della curva decisionale è stata utilizzata per valutare il beneficio netto tra probabilità soglia (pacchetto "rmda": funzioni decision_curve e plot_decision_curve). Un P a due facce < 0,05 è stato considerato statisticamente significativo. Gli script R completi, inclusi preprocessing dei dati, costruzione del modello, validazione e generazione di nomogrammi, sono disponibili all'autore corrispondente su richiesta.
I dati mancanti erano minimi (tutte le variabili <2% mancanti) e gestiti utilizzando l'imputazione mediana per le variabili continue e l'imputazione modale per le variabili categoriche prima dell'analisi. Tutti i predittori categorici erano codificati come variabili indicatori binarie (0/1). I predittori continui (durata della febbre, temperatura di picco, LDH) sono stati mantenuti nelle loro unità cliniche originali senza categorizzazione. Non è stata effettuata alcuna selezione variabile basata sullo screening univariato prima della modellazione multivariabile; invece, sono stati considerati tutti i candidati clinicamente rilevanti identificati in letteratura, mentre quelli con P < 0,05 nell'analisi univariata della coorte di addestramento sono stati avanzati al modello multivariabile.
Implementazione con calcolatrice web
Il nomogramma dinamico basato sul web è stato distribuito utilizzando il pacchetto "shiny" (versione 1.7.4) in R. L'interfaccia utente è stata costruita con shiny::fluidPage(), shiny::sidebarLayout() e shiny::sliderInput() per variabili continue (durata della febbre, temperatura di picco, LDH) e shiny::selectInput() per variabili binarie (tappi dell'espetto o versamento pleurico, consolidamento polmonare, iposemia). La logica del server invocava la funzione predict() dal modello lrm adattato per calcolare le stime individuali del rischio, con le probabilità risultanti resa tramite renderPlot() e renderText(). L'applicazione era ospitata su ShinyApps.io (https://predictrmpp.shinyapps.io/RMPP/).