02.02.2013 Views

I Programmi di calcolo e di elaborazione statistica - Age.Na.S.

I Programmi di calcolo e di elaborazione statistica - Age.Na.S.

I Programmi di calcolo e di elaborazione statistica - Age.Na.S.

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

I <strong>Programmi</strong><br />

<strong>di</strong> <strong>calcolo</strong> e <strong>di</strong><br />

<strong>elaborazione</strong><br />

<strong>statistica</strong><br />

http://www.qualityin<strong>di</strong>cators.ahrq.gov/<br />

downloads.htm


I <strong>Programmi</strong> <strong>di</strong>sponibili per la<br />

costruzione degli in<strong>di</strong>catori:<br />

•Versione SAS<br />

I <strong>Programmi</strong> SAS:<br />

•Versione SPSS<br />

Inpatient Quality In<strong>di</strong>cators


LA FILOSOFIA DEI PGM SAS<br />

1. <strong>Programmi</strong> per il <strong>calcolo</strong> degli in<strong>di</strong>catori<br />

2. File esterni per la gestione dei criteri <strong>di</strong> inclusione ed<br />

esclusione<br />

3.File <strong>di</strong> supporto per aggiustamento e smoothing<br />

I <strong>Programmi</strong><br />

CONTROL.SAS Gestisce informazioni generali<br />

IQSAS1.SAS Applica i criteri <strong>di</strong> inclusione<br />

per ogni in<strong>di</strong>catore a tutti i<br />

pazienti<br />

IQSASP2.SAS Calcola gli in<strong>di</strong>catori grezzi<br />

IQSASP3.SAS Calcola gli in<strong>di</strong>catori aggiustati<br />

e “smooothed”<br />

IQFMTS.SAS Contiene tutti i formati che<br />

definiscono i criteri <strong>di</strong><br />

inclusione/esclusione


I files <strong>di</strong> supporto<br />

MSXIQP02.TXT Contiene valori per la centratura<br />

delle covariate<br />

COVIQP02.TXT Contiene i valori dei parametri <strong>di</strong><br />

aggiustamento stimati su una<br />

popolazione standard<br />

QICTY02.TXT Contiene dati <strong>di</strong> popolazione<br />

(USA)<br />

MSXP00.TXT Contiene i valori dei coefficienti<br />

per gli in<strong>di</strong>catori “smoothed”<br />

1<br />

Schema<br />

3<br />

2<br />

SDO


control.sas deve essere personalizzato dall’utente<br />

* --------------------------------------------------------------------------------------------------------------------- ;<br />

* --- All Programs --- ;<br />

* ---------------------------------------------------------------------------------------------------------------------;<br />

LIBNAME LIBRARY 'c:\pathname'; *


iqfmts.sas<br />

Definisce i criteri <strong>di</strong> inclusione/esclusione per ogni<br />

in<strong>di</strong>catore .<br />

Se si devono variare i criteri <strong>di</strong> inclusione è sufficiente<br />

mo<strong>di</strong>ficare l’elenco dei co<strong>di</strong>ci ICD IX riportati nei formati.<br />

NB: I programmi <strong>di</strong> <strong>calcolo</strong> non devono<br />

più essere mo<strong>di</strong>ficati<br />

/* ----------------------------------------------- */<br />

/* Acute Myocar<strong>di</strong>al Infarction Mortality (MRTAMI) */<br />

/* Mortality In<strong>di</strong>cator / IQI #15 */<br />

/* ----------------------------------------------- */<br />

/* Acute Myocar<strong>di</strong>al Infarction */<br />

/* ICD-9-CM Diagnosis Codes: */<br />

VALUE $MRTAMID<br />

'41001' = '1' /* AMI ANTEROLATERAL, INIT */<br />

'41011' = '1' /* AMI ANTERIOR WALL, INIT */<br />

'41021' = '1' /* AMI INFEROLATERAL, INIT */<br />

'41031' = '1' /* AMI INFEROPOST, INITIAL */<br />

'41041' = '1' /* AMI INFERIOR WALL, INIT */<br />

'41051' = '1' /* AMI LATERAL NEC, INITIAL */<br />

'41061' = '1' /* TRUE POST INFARCT, INIT */<br />

'41071' = '1' /* SUBENDO INFARCT, INITIAL */<br />

'41081' = '1' /* AMI NEC, INITIAL */<br />

'41091' = '1' /* AMI NOS, INITIAL */<br />

OTHER = '0' ;<br />

iqfmts.sas<br />

Esempio<br />

formato per<br />

TPIQ15


*=================================================================;<br />

FILENAME CONTROL 'c:\pathname\CONTROL_IQI.SAS'; *


* --- IN-HOSP IN HOSP MORT AMI Richiama la macro MDX1 con il<br />

Parametro MRTAMID<br />

--- ;<br />

Per cui il SAS legge così:<br />

IF (AGE >= 18) AND %MDX1($MRTAMID.) THEN DO;<br />

TPIQ15 = 0;<br />

IF DISP = 20 THEN DO;<br />

TPIQ15 = 1;<br />

END;<br />

denominatore<br />

numeratore<br />

Dataset in input<br />

%MACRO MDX1 ($MRTAMID);<br />

((PUT(DX1 ($MRTAMID)= '1'))<br />

%MEND;<br />

Modalità <strong>di</strong> <strong>di</strong>missione<br />

Deceduto<br />

Struttura rigida ben definita<br />

1. Deve contenere tutte le variabili richieste nominate<br />

come in<strong>di</strong>cato nel manuale AHRQ<br />

2. I formati per tutte le variabili devono essere quelli<br />

in<strong>di</strong>cati nel manuale AHRQ


Variable<br />

name<br />

KEY<br />

AGE<br />

RACE<br />

SEX<br />

HOSPID<br />

Variable<br />

DRG<br />

MDC<br />

DX1 –<br />

DX30<br />

DISP<br />

Description<br />

Sequence number.<br />

Unique case identifier.<br />

<strong>Age</strong> in years at<br />

admission<br />

Race of patient.<br />

Sex of patient<br />

Data Source hospital<br />

number<br />

Description<br />

Diagnosis Related<br />

Group<br />

Major Diagnostic<br />

Category<br />

ICD-9-CM <strong>di</strong>agnosis<br />

codes. DX1 is the<br />

principal <strong>di</strong>agnosis,<br />

DX2-DX30 are<br />

secondary <strong>di</strong>agnoses.<br />

Disposition of patient<br />

Format<br />

Numeric<br />

Numeric<br />

Numeric<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

Numeric<br />

1<br />

2<br />

Numeric<br />

Format<br />

Numeric<br />

Numeric<br />

String, 5<br />

characte<br />

r<br />

Numeric<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

20<br />

Value description<br />

User defined unique<br />

numeric identifier for<br />

each <strong>di</strong>scharge<br />

record<br />

<strong>Age</strong> in years<br />

White<br />

Black<br />

Hispanic<br />

Asian or Pacific<br />

Island<br />

<strong>Na</strong>tive American<br />

Other<br />

Male<br />

Female<br />

Hospital identification<br />

number<br />

Value description<br />

DRG from federal<br />

(CMS) DRG Grouper<br />

MDC from federal<br />

(CMS) DRG grouper<br />

Diagnosis codes<br />

Routine<br />

Short-term hospital<br />

Skilled nursing facility<br />

Interme<strong>di</strong>ate care<br />

Another type of<br />

facility<br />

Home health care<br />

Against me<strong>di</strong>cal<br />

advice<br />

Died in the hospital<br />

Comments<br />

Not used by the QI<br />

programs, but should be<br />

present to facilitate<br />

possible exploration;<br />

allows user to link the<br />

records from the<br />

IQSAS1.SAS program<br />

output file back to the<br />

original input data file.<br />

If this data element is<br />

missing the <strong>di</strong>scharge<br />

record will be excluded<br />

from analysis.<br />

The values of 1, 2, and 3<br />

are used <strong>di</strong>rectly in the QI<br />

software. All other<br />

ethnicity codes are<br />

mapped to an ‘other’<br />

category.<br />

If this data element is<br />

missing the <strong>di</strong>scharge<br />

record will be excluded<br />

from the analysis.<br />

Used to facilitate data<br />

exploration and possible<br />

Comments<br />

Users must specify the<br />

number of <strong>di</strong>agnoses in the<br />

parameter &NDX in<br />

CONTROL_IQI.SAS<br />

program.<br />

The values 2 and 20 are<br />

referenced by the QI code<br />

(to identify transfers to<br />

another short-term<br />

hospital, and patients who<br />

<strong>di</strong>ed in the hospital).


data a.sdo2002;set a.sdo2002_ (rename=(<br />

<strong>di</strong>agn=dx1<br />

cond1=dx2<br />

cond2=dx3<br />

cond3=dx4<br />

cond4=dx5<br />

cond5=dx6<br />

interv=pr1<br />

int1 =pr2<br />

int2 =pr3<br />

int3 =pr4<br />

int4 =pr5<br />

int5 =pr6<br />

));<br />

if cittad eq "100" then race = 1; else<br />

if cittad lt "100" then race = .; else<br />

race = 6;<br />

Dataset in input<br />

Ridenominazione variabili<br />

Dataset in input<br />

Passaggio critico <strong>di</strong> transco<strong>di</strong>fica: transco<strong>di</strong>fica effettuare scelte<br />

per adattare le co<strong>di</strong>fiche italiane alle co<strong>di</strong>fiche USA<br />

if mo<strong>di</strong>m eq "1" then <strong>di</strong>sp = 1; else<br />

if mo<strong>di</strong>m eq "3" then <strong>di</strong>sp = 2; else<br />

if mo<strong>di</strong>m eq "5" then <strong>di</strong>sp = 3; else<br />

if mo<strong>di</strong>m in ("7","8") then <strong>di</strong>sp = 4; else<br />

if mo<strong>di</strong>m in ("6","9") then <strong>di</strong>sp = 6; else<br />

if mo<strong>di</strong>m eq "2" then <strong>di</strong>sp = 7; else<br />

if mo<strong>di</strong>m eq "4" then <strong>di</strong>sp =20;<br />

if onere in ("1","2","7","N","D")<br />

then pay1 =1; else<br />

if onere in ("8","9","A" )<br />

then pay1 =2; else<br />

if onere in ("5","6" )<br />

then pay1 =3; else<br />

if onere eq "4"<br />

then pay1 =4; else<br />

if onere eq "3"<br />

then pay1 =6;


TASSI<br />

1. Identificare gli outcomes (numeratore<br />

numeratore) nei record SDO<br />

2. Identificare la popolazione a rischio (denominatore<br />

denominatore)<br />

3. Calcolare il tasso Osservato<br />

4. Calcolare il tasso Atteso<br />

numeratore<br />

IQI =<br />

denominato<br />

re<br />

5. Calcolare il tasso Aggiustato<br />

6. Calcolare il tasso “Smoothed”<br />

Tassi: numeratore<br />

1. Identificare gli outcomes (numeratore<br />

numeratore) nei record SDO<br />

Per ogni in<strong>di</strong>catore si in<strong>di</strong>viduano i casi<br />

Evento (decesso) & co<strong>di</strong>ci <strong>di</strong> <strong>di</strong>agnosi (principale)<br />

Flag=1<br />

Tassi: denominatore<br />

2. Identificare la popolazione a rischio (denominatore<br />

denominatore)<br />

Per ogni in<strong>di</strong>catore si in<strong>di</strong>vidua la popolazione a rischio<br />

co<strong>di</strong>ci <strong>di</strong> <strong>di</strong>agnosi (principale) & criteri esclusione<br />

Flag=0


Tassi: <strong>calcolo</strong><br />

3. Calcolare il tasso osservato<br />

Per ogni ospedale:<br />

1. Conteggio dei CASI<br />

2. Conteggio della POPOLAZIONE A RISCHIO<br />

3. Calcolo tasso<br />

CASI<br />

IQI<br />

=<br />

=<br />

POPOLAZION E A RISCHIO<br />

Dataset IQP2<br />

numeratore denominatore<br />

Ogni riga un ospedale<br />

∑<br />

∑ 0<br />

1<br />

& 1<br />

tasso


Tassi: aggiustamento<br />

4. Calcolare il tasso Atteso<br />

Applicazione coefficienti <strong>di</strong> aggiustamento<br />

5. Calcolare i tassi Aggiustati a partire dai tassi<br />

Osservati ed Attesi<br />

6. Calcolare i tassi Smoothed<br />

(Particolare tecnica <strong>statistica</strong> che cerca <strong>di</strong> eliminare dalle stime<br />

il “rumore” riducendo la variabilità entro struttura fra perio<strong>di</strong>.<br />

Sono necessari dati relativi ad almeno 3 anni).<br />

Dataset IQP3<br />

Tasso aggiustato Tasso smoothed


OUTPUT<br />

IQ1 data set contenente i record <strong>di</strong> tutti i pazienti con<br />

in<strong>di</strong>catore <strong>di</strong> esito (0, 1, missing)<br />

IQP2 data set contenente i valori degli in<strong>di</strong>catori grezzi<br />

calcolati a livello <strong>di</strong> ospedale<br />

IQP3 data set contenete i valori degli in<strong>di</strong>catori aggiustati<br />

per il rischio, attesi e smoothed<br />

Sintesi IQI<br />

1. Scaricare i programmi dal sito AHRQ<br />

2. Apportare le mo<strong>di</strong>fiche necessarie ai programmi <strong>di</strong><br />

<strong>elaborazione</strong> scaricati (control.sas)<br />

3. Adattare i dati agli standard richiesti dall’AHRQ<br />

4. Pre<strong>di</strong>sporre i file con i parametri <strong>di</strong> aggiustamento<br />

5. Calcolare gli in<strong>di</strong>catori grezzi,attesi, aggiustati e<br />

smoothed


I <strong>Programmi</strong> SAS:<br />

Patient Safety In<strong>di</strong>cators<br />

Come per gli in<strong>di</strong>catori IQI la struttura dei <strong>Programmi</strong><br />

SAS per i PSI è simile:<br />

1. <strong>Programmi</strong> per il <strong>calcolo</strong> degli in<strong>di</strong>catori<br />

2. File esterni per la gestione dei criteri <strong>di</strong> inclusione ed<br />

esclusione<br />

CONTROL.SAS Gestisce informazioni generali<br />

PSFMTS.SAS Definisce i formati per i criteri <strong>di</strong><br />

inclusione/esclusione per ogni in<strong>di</strong>catore .<br />

PSSAS1.SAS Applica i criteri <strong>di</strong> inclusione<br />

per ogni in<strong>di</strong>catore a tutti i pazienti<br />

PSSASP2.SAS Calcola gli in<strong>di</strong>catori grezzi


* --- FAILURE TO RESCUE --- ;<br />

IF (%MDX2($FTR1DX.) AND<br />

NOT (%MDX1($FTR1DX.) OR %MDX1($FTR1EX.) OR %MDX1($AMIID.) OR %MDX1($CARDRID.) OR<br />

%MDX1($CARDIID.) OR %MDX1($HEMORID.) OR %MDX1($GASTRID.) OR %MDX1($SHOCKID.) OR<br />

%MDX1($TRAUMID.) OR %MDR($TRAUMDR.)))<br />

OR<br />

(%MDX2($FTR2DX.) AND<br />

NOT (%MDX1($FTR2DX.) OR %MDX1($OBEMBOL.)))<br />

OR<br />

(%MDX2($FTR3DX.) AND<br />

NOT (%MDX1($FTR3DX.) OR %MDX1($FTR3EXA.) OR %MDX($FTR3EXB.) OR %MDX($IMMUNID.) OR<br />

%MPR($IMMUNIP.) OR MDC IN (4)))<br />

OR<br />

(%MDX2($FTR4DX.) AND<br />

NOT (%MDX1($FTR4DX.) OR %MDX($IMMUNID.) OR %MPR($IMMUNIP.) OR<br />

%MDX1($INFECID.) OR %MDR($INFECDR.) OR LOS > 3)) OR<br />

OR<br />

((%MDX2($FTR5DX.) OR %MPR($FTR5PR.)) AND<br />

NOT (%MDX1($FTR5DX.) OR %MDX1($FTR5EX.) OR %MDX1($HEMORID.) OR %MDX1($TRAUMID.) OR<br />

%MDR($TRAUMDR.) OR %MDX1($GASTRID.) OR MDC IN (4,5)))<br />

OR<br />

(%MDX2($FTR6DX.) AND<br />

NOT (%MDX1($FTR6DX.) OR %MDX1($FTR6EX.) OR %MDX1($TRAUMID.) OR %MDR($TRAUMDR.) OR<br />

%MDX1($ALCHLSM.) OR MDC IN (6,7)))<br />

THEN DO;<br />

TPPS04 = 0;<br />

IF DISP IN (20) THEN TPPS04 = 1;<br />

denominatore<br />

IF AGE >= 75 OR ASOURCE IN (2,3) OR DISP IN (2) OR MDC IN (15) THEN TPPS04 = .;<br />

END;<br />

pz. trasferito da Osp. Pubblico o pz. trasferito da struttura privata<br />

accre<strong>di</strong>tata o pz. trasferito da struttura privata non accre<strong>di</strong>tata o pz.<br />

trasferito da altro regime o tipologia <strong>di</strong> ricovero (day hospital -ricovero<br />

or<strong>di</strong>nario – riabilitazione o lungodegenza), all'interno dello stesso<br />

Istituto;<br />

Se la modalità <strong>di</strong> <strong>di</strong>missione è<br />

“deceduto” va al numeratore<br />

TRASFERIMENTO AD<br />

ALTRO ISTITUTO PER<br />

ACUTI.


OUTPUT PS1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!