Calcolatore PSI
Un uomo di 65 anni con scompenso cardiaco, 32 atti respiratori al minuto e un'azotemia di 35 mg/dl totalizza 115 punti: classe di rischio IV, con una mortalità a 30 giorni vicina al 9,3%. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
L’indice di gravità della polmonite, pubblicato anche come punteggio PORT dal Pneumonia Patient Outcomes Research Team, è una regola additiva ampiamente insegnata per la polmonite comunitaria. Questa calcolatrice implementa l’algoritmo in due passi di Fine del 1997: converte demografia, cinque indicatori di comorbilità, soglie dei segni vitali e cut-off di laboratorio in un totale di punti, quindi assegna la classe di rischio da I a V con una fascia di mortalità a 30 giorni pubblicata e un’indicazione di destinazione assistenziale. I flag e gli esami opzionali che Lei omette contribuiscono zero punti: sono trattati come se non soddisfacessero quel criterio.
Che cosa misura l’indice di gravità della polmonite e come funzionano i due passi di Fine
La polmonite comunitaria copre un’ampia gamma di rischio a 30 giorni, da adulti in precedenza sani che si riprendono a casa fino a pazienti che necessitano di sorveglianza ospedaliera. Fine e colleghi derivarono l’indice dalla coorte PORT e pubblicarono la regola nel New England Journal of Medicine nel 1997 affinché clinici e studenti potessero stratificare quella gamma con un punteggio unico e ispezionabile, invece di un modello opaco.
Il passo 1 chiede se il paziente ha cinquant’anni o meno e non presenta nessuna delle cinque comorbilità — malattia neoplastica, epatopatia, scompenso cardiaco congestizio, malattia cerebrovascolare e nefropatia — né nessuno dei cinque reperti d’esame: alterazione dello stato mentale, frequenza respiratoria di almeno trenta atti al minuto, pressione arteriosa sistolica inferiore a novanta millimetri di mercurio, temperatura inferiore a trentacinque o di almeno quaranta gradi Celsius, e polso di almeno centoventicinque battiti al minuto.
Quando tutti i vagli del passo 1 sono negativi, l’algoritmo originale assegna la classe di rischio I senza attendere i punti di laboratorio.
Il passo 2 calcola sempre un totale additivo: gli uomini ricevono l’età in anni come punti demografici e le donne l’età meno dieci; un residente in struttura aggiunge dieci; le comorbilità aggiungono trenta, venti o dieci secondo la tabella pubblicata; le anomalie d’esame aggiungono venti, quindici o dieci; e i reperti di laboratorio o radiografici aggiungono trenta per acidemia, venti per urea elevata o iponatriemia, e dieci per iperglicemia, anemia, ipossiemia o versamento pleurico. Le classi da II a V seguono quindi i cut-off a settanta, novanta e centotrenta punti.
Contratto di ingresso, unità, convalida e forma di una risposta corretta
Invii l’età come numero finito strettamente maggiore di zero; è l’unico dato demografico che il gestore tratta come obbligatorio oltre al sesso. Il sesso deve essere male o female (si normalizza l’iniziale m o f) perché la tabella di Fine sottrae dieci punti alle donne. Ogni comorbilità e i flag di struttura e versamento pleurico sono booleani opzionali che valgono false per impostazione predefinita.
Segni vitali e laboratori sono numeri finiti opzionali: frequenza respiratoria in atti al minuto, pressione sistolica in millimetri di mercurio, temperatura in Celsius, polso in battiti al minuto, pH arterioso, azoto ureico in milligrammi per decilitro, sodio in milliequivalenti per litro, glucosio in milligrammi per decilitro, ematocrito in percentuale, tensione arteriosa di ossigeno in millimetri di mercurio e saturazione di ossigeno in percentuale.
Un vitale o un esame omesso contribuisce zero punti invece di inventare un valore normale, così un punteggio calcolato solo sulla demografia è onesto su ciò che è stato valutato. L’ipossiemia assegna al massimo dieci punti se PaO2 è sotto sessanta o la saturazione sotto novanta, mai venti per l’invio di entrambi. Le chiavi di uscita opzionali sono omesse invece di andare a null.
Come leggere le classi di rischio, dove sta la calcolatrice e che cosa non decide
La classe di rischio I è rischio molto basso, con mortalità di convalida PORT vicina a un decimo di punto percentuale, e la destinazione didattica abituale è l’assistenza ambulatoriale quando il contesto sociale è sicuro. La classe II resta a rischio basso, circa sei decimi di punto percentuale, e si insegna anch’essa come ambulatoriale. La classe III è rischio moderato, vicino a nove decimi di punto percentuale, e viene spesso inquadrata come osservazione o breve degenza.
La classe IV è rischio alto, vicino al 9.3 per cento, e la classe V è rischio molto alto, vicino al ventisette per cento; entrambe si insegnano come strati ospedalieri, e la V apre il discorso su un monitoraggio di maggiore acuità. Quelle percentuali sono cifre storiche di coorte della convalida originale, non una prognosi personale, e non sostituiscono CURB-65, i criteri maggiori e minori ATS/IDSA, le tendenze di ossigenazione né lo sguardo del clinico su comorbilità che questa tabella non cattura mai.
Poiché il passo 1 ignora i laboratori, un giovane adulto che supera i vagli di classe I può comunque portare punti di laboratorio nel totale numerico; la risposta riporta la classe e i cubi così Lei vede quella tensione invece di nasconderla. Usi la calcolatrice per la didattica, le chiavi d’esame, la codifica di ricerca di righe di polmonite comunitaria e i prototipi di prodotto che necessitano di un passo PSI deterministico prima di passare il testimone a sistemi abilitati.
Strumenti vicini come CURB-65, l’indice di shock o l’eGFR rispondono a intenzioni di ricerca diverse e devono conservare le proprie pagine invece di sovraccaricare questa.
Casi d'uso
Vignette didattiche e chiavi d’esame
Punteggi casi da manuale di polmonite comunitaria affinché docenti e auto-valutatori condividano un’unica verità di riferimento Fine 1997 per punti e classe di rischio.
Codifica di ricerca di coorti di polmonite
Alleghi un totale PSI riproducibile e un’etichetta di classe I–V alle righe dello studio quando demografia, flag, vitali ed esami selezionati sono già in tabella.
Impalcatura di prototipi di supporto decisionale
Inserisca un passo trasparente dell’indice di gravità della polmonite in app educative e liste che poi cedono le decisioni reali a sistemi clinici abilitati.
Domande frequenti
Che cos’è l’indice di gravità della polmonite (punteggio PSI / PORT)?
È la regola additiva di Fine del 1997 per la polmonite comunitaria. Questo strumento restituisce il totale dei punti, la classe di rischio I–V, una breve etichetta, una percentuale di mortalità di convalida PORT e un’indicazione didattica di destinazione.
Come si calcola il punteggio PSI a partire dagli ingressi?
Gli uomini ricevono l’età come punti e le donne l’età meno 10. La residenza in struttura, cinque comorbilità, cinque soglie d’esame e cut-off di laboratorio o radiografici selezionati aggiungono i pesi pubblicati di Fine. La classe I si assegna al passo 1 quando l’età è 50 o inferiore e quei vagli di comorbilità e esame sono tutti negativi.
Che cosa succede se l’età è zero, negativa o manca?
L’età deve essere un numero finito positivo; senza di essa l’indice di gravità della polmonite non è definito e la richiesta non viene addebitata.
Come devo interpretare le classi di rischio da I a V?
Le classi I e II si insegnano come rischio molto basso e basso (spesso ambulatoriale). La classe III è rischio moderato (osservazione o breve degenza). Le classi IV e V sono rischio alto e molto alto (strati ospedalieri didattici). Le cifre sono tassi storici di coorte, non una prognosi personale.
Posso usare questo risultato per decidere il ricovero o la terapia?
No. È un ausilio aritmetico educativo, non un consiglio medico. Ricovero, antibiotici e intensità di cura richiedono un clinico abilitato e il resto del quadro clinico che questa calcolatrice non raccoglie.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/health/psi \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"age":65,"sex":"male"}'const res = await fetch("https://api.kit.forhosting.com/health/psi", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"age": 65,
"sex": "male"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/psi",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"age": 65,
"sex": "male"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/psi", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"age":65,"sex":"male"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"age":65,"sex":"male"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/psi", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"age": 65,
"sex": "male"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.psi",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
L’età deve essere un numero finito positivo; un’età assente, nulla, negativa o non numerica fallisce con invalid_input e non viene addebitata. Tratti il JSON come un ausilio aritmetico trasparente, non come una diagnosi né come un sostituto del giudizio clinico abilitato.
Che cosa misura l’indice di gravità della polmonite e come funzionano i due passi di Fine
Questa capacità implementa quella tabella pubblicata esattamente, senza pesi nascosti, così una vignetta punteggiata a mano e il corpo JSON possono essere confrontati riga per riga.
Contratto di ingresso, unità, convalida e forma di una risposta corretta
Zero, valori negativi, stringhe vuote e token non numerici falliscono con invalid_input nominando age, in linea con la regola d’aula secondo cui l’indice non è definito senza un’età positiva in anni. In caso di successo il corpo restituisce score, risk_class come numerale romano da I a V, un breve risk_class_label, mortality_pct della fascia di convalida PORT, una stringa di destinazione, age e sex riecheggiati, i cubi age_points, nursing_home_points, comorbidity_points, exam_points e lab_points, un indicatore class_i_eligible per il passo 1, e formula PSI/PORT Fine 1997. Abbini il modulo gratuito del browser allo stesso contratto da script; le chiamate API riuscite costano $0.002 per elemento e i fallimenti di convalida non consumano il saldo prepagato.
Come leggere le classi di rischio, dove sta la calcolatrice e che cosa non decide
Non dosi antibiotici, non rifiuti un ricovero e non dimetta un paziente da questo solo JSON. L’aritmetica è parse puro, senza rete in uscita, quindi ingressi identici producono sempre lo stesso JSON, e il prezzo API pubblicato resta $0.002 per richiesta riuscita.
Domande tecniche
Quanto costa la calcolatrice PSI?
Il widget del browser funziona gratis e in locale. Lo stesso calcolo via API è fatturato a $0.002 per richiesta riuscita sul saldo prepagato del KIT; i fallimenti invalid_input non sono addebitati.