Turbo Pascal Measurement Program

A Turbo Pascal routine has been developed to estimate person measures when item and step measures are known (RMT 12:2 p. 638). It was designed for the VF-14 questionnaire. This probes 14 daily life activities (items) affected by cataracts. On each item, patients rate their difficulty of doing the activity (0 'no difficulty' to 4 'unable'). The specific parts of this routine related to the VF-14 are underlined and can be easily modified for other instruments.

Mercè Comas, Gemma Vilagut, Luís Prieto


ESTIMATING MEASURES WITH KNOWN POLYTOMOUS ITEM DIFFICULTIES WITH TURBO PASCAL

Mercè Comas Gemma Vilagut, Luís Prieto

Comas M, Vilagut G, Prieto L.

The following application, programmed in Turbo Pascal, is intended to automate the estimation of measures with known polytomous item difficulties using the method proposed by Linacre (1998):

(Eq. 1)

(Eq. 2)

(Eq. 3)

(Eq. 4)

(Eq. 5)

(Eq. 6)

 

The Turbo Pascal routine was initially developed to be applied to the responses of the VF-14 questionnaire. The VF14 measures functional capacity related to vision based on 14 daily life activities (items) affected by cataracts (Steinberg, 1994). Patients rate their difficulty doing each activity (0 "no difficulty" to 4 "unable"), final scores ranging from 0 (worst) to 100 (best). The item and step difficulties of the VF-14 were calibrated in a sample of 198 Spanish patients participating in an International study.

The specific parts of the routine related to this VF-14 are written in bold italics and must be replaced in case of using any other instrument.

 

PROGRAM RASCHVF14 (INPUT,OUTPUT);

CONST MIN=0; {minimum category of responses}

MAX=4; {maximum category of responses}

MAXI=14; {number of items}

MAXCAT=5; {number of response categories}

TYPE ITEMS = ARRAY [1..MAXI] OF REAL; {structure for item information}

CATEG = ARRAY [1..MAXCAT] OF REAL; {structure for category information}

PROB = ARRAY [1..MAXI] OF CATEG; {matrix of probabilities (MAXI x MAXCAT)}

CONST D:ITEMS=(1.27,0.48,-1.47,-1.58,-0.35,-0.13,0.64,0.26,-0.67,-0.5,-1.32,
-0.38,1.41,2.33
)
; {difficulty measures of items. Insert your own item difficulties}

STEPS:CATEG=(0,-0.42,-0.49,0.98,-0.07); {steps for categories. Insert your own steps}

VAR R,Dmean,M,M2,SCORE,V:REAL; L:INTEGER; PUNT,DP:ITEMS; P:PROB;{R = Raw Score; Dmean = mean of difficulty measures of the answered items}

{M = M; M2 = M updated; SCORE = Score; V = variance of Rasch measurement}

{L = number of answered items; PUNT = array of responses}

{DP = array of difficulty measures of the answered items}

{P = matrix of probabilities}

{Initialization of variables}

PROCEDURE INITIALIZE(VAR R,M,M2:REAL;VAR L:INTEGER;VAR DP,PUNT:ITEMS;VAR P:PROB);

VAR I,J:INTEGER;

BEGIN

R:=0;M:=0;M2:=0;L:=0;

FOR I:=1 TO MAXI DO

BEGIN

PUNT[I]:=9; {the array of responses is initialized as missing

values}

DP[I]:=0; FOR J:=1 TO MAXCAT DO P[I][J]:=0;

END

END;

{Reads responses from keyboard and computes Dmean}PROCEDURE READ_INPUT(VAR PUNT,DP:ITEMS;VAR L:INTEGER;VAR Dmean:REAL);

VAR I:INTEGER;

P:ITEMS;

SUMADI:REAL;

BEGIN

WRITE('1. Reading small prints: ');READLN(P[1]);

WRITE('2. Reading a newspaper: ');READLN(P[2]);

WRITE('3. Reading large prints: ');READLN(P[3]);

WRITE('4. Recognizing people: ');READLN(P[4]);

WRITE('5. Seeing steps, stairs: ');READLN(P[5]);

WRITE('6. Reading traffic signs: ');READLN(P[6]);

WRITE('7. Doing fine handwork: ');READLN(P[7]);

WRITE('8. Writing checks: ');READLN(P[8]);

WRITE('9. Playing games: ');READLN(P[9]);

WRITE('10. Taking part in activities: ');READLN(P[10]);

WRITE('11. Preparing meals: ');READLN(P[11]);

WRITE('12. Watching television: ');READLN(P[12]);

WRITE('13. Driving during the day: ');READLN(P[13]);

WRITE('14. Driving at night: ');READLN(P[14]);

L:=0;

SUMADI:=0;

FOR I:=1 TO MAXI DO

BEGIN

IF ((P[I]>=MIN) AND (P[I]<=MAX)) THEN

BEGIN

L:=L+1; {number of valid responses}

PUNT[L]:=MAX-P[I]; {Rescoring of initial responses of VF-14}

DP[L]:=D[I]; {array with difficulty measures of the
answered items}

SUMADI:=SUMADI+D[I]; {sum of difficulty measures}

END;

END;

IF L<>0 THEN Dmean:=SUMADI/L; {computation of the average item difficulty.
Eq. 1}

END;

{Computation of Raw Score R}

PROCEDURE RAW_SCORE_M(VAR R,M:REAL;Dmean:REAL;PUNT:ITEMS;L:INTEGER);

VAR I,Rmin,Rmax:INTEGER;

BEGIN

I:=1;

FOR I:=1 TO L DO R:=R+PUNT[I];

Rmin:=MIN*L;

Rmax:=MAX*L;

IF R=Rmin THEN R:=R+0.5;

IF R=Rmax THEN R:=R-0.5;

M:=Dmean+LN((R-Rmin)/(Rmax-R)); {Eq. 2}

END;

{Computation of the matrix of probabilities and M}

PROCEDURE PROBABILITIES(VAR P:PROB;PUNT,DP:ITEMS;M:REAL;VAR SCORE,V,M2:REAL;L:INTEGER;R:REAL);

VAR I,J:INTEGER;

F,DEN,EXP2,E2XP,E:REAL;

NUM:CATEG;

DIF:ITEMS;

BEGIN

FOR I:=1 TO L DO FOR J:=1 TO MAXCAT DO P[I][J]:=0;

SCORE:=0;

V:=0;

F:=0;

FOR I:=1 TO MAXI DO DIF[I]:=0;

FOR I:=1 TO L DO

BEGIN

F:=0;

DEN:=0;

FOR J:=1 TO MAXCAT DO NUM[J]:=0;

FOR J:=1 TO MAXCAT DO

BEGIN

F:=F+STEPS[J];

E:=((J-1)*(M-DP[I]))-F;

NUM[J]:=EXP(E);

DEN:=DEN+NUM[J];

END;

FOR J:=1 TO MAXCAT DO

BEGIN

P[I][J]:=NUM[J]/DEN; {Eq. 3}

SCORE:=SCORE+(J-1)*P[I][J]; {Eq. 4}

END;

END;

FOR I:=1 TO L DO

BEGIN

E2XP:=0;EXP2:=0;

FOR J:=1 TO MAXCAT DO

BEGIN

E2XP:=P[I][J]*SQR(J-1)+E2XP;

EXP2:=P[I][J]*(J-1)+EXP2;

END;

DIF[I]:=E2XP-SQR(EXP2);

V:=DIF[I]+V; {Eq. 5}

END;

M2:=M+((R-SCORE)/V); {Eq. 6}

END;

{Computation of Rasch measurement and its standard error and CI95%}

PROCEDURE RESULTS(M,V:REAL;VAR Q:CHAR;L:INTEGER);

VAR SE,PT,ICMIN,ICMAX:REAL;

BEGIN

SE:=0;

PT:=0;

ICMIN:=0;

ICMAX:=0;

WRITE ('VF-14 Rasch score: ');

IF L=0 THEN WRITELN('No valid responses')

ELSE

BEGIN

PT:=50.64+(11.75*M); {Rasch measurement on a 0 to 100 scale}

SE:=11.75*(1/SQRT(V)); {standard error}

ICMAX:=PT+1.96*SE; {upper confidence interval limit (CI95%)}

ICMIN:=PT-1.96*SE; {lower confidence interval limit (CI95%)}

IF (ICMAX>100) THEN ICMAX:=100;

IF (ICMIN<0) THEN ICMIN:=0;

{output:} WRITELN(PT:4:0,' (SE: ',SE:4:0,')');

WRITELN('IC: [',ICMIN:4:0,',',ICMAX:4:0,']');

END;

END;

{Main program}BEGIN INITIALIZE(R,M,M2,L,DP,PUNT,P); READ_INPUT(PUNT,DP,L,Dmean); IF L>0 THEN BEGIN

RAW_SCORE_M(R,M,Dmean,PUNT,L);

PROBABILITIES(P,PUNT,DP,M,SCORE,V,M2,L,R);

WHILE ABS(M2-M)>0.01 DO

BEGIN

M:=M2;

PROBABILITIES(P,PUNT,DP,M,SCORE,V,M2,L,R);

END;

END;

RESULTS(M,V,Q,L);

END.

 

REFERENCES

Alonso J, Espallargues M, Andersen TF, et al. International Applicability of the VF-14. An Index of Visual Function in Patients with Cataracts. Ophtalmology 1997; 104: 799-807.

Linacre JM. Estimating Measures with Known Polytomous Item Difficulties. Rasch Measurement Transactions 1998; 12: 638.

Prieto L, Alonso J, Valderas JM, et al. A Proposal of Content-Based Interpretation of Health-Related

Quality of Life Scores. Quality of Life Research 1998; 7: 652-653.

Steinberg EP, Tielsch JM, Schein OD, et al. The VF-14: an Index of Functional Impairment in Patients with Cataract. Archives of Ophtalmology 1994; 112: 630-638.

Turbo Pascal Measurement Program Prieto L, Comas M, Vilagut G … Rasch Measurement Transactions, 1999, 12:4 p.




Rasch Books and Publications
Invariant Measurement: Using Rasch Models in the Social, Behavioral, and Health Sciences, 2nd Edn. George Engelhard, Jr. & Jue Wang Applying the Rasch Model (Winsteps, Facets) 4th Ed., Bond, Yan, Heene Advances in Rasch Analyses in the Human Sciences (Winsteps, Facets) 1st Ed., Boone, Staver Advances in Applications of Rasch Measurement in Science Education, X. Liu & W. J. Boone Rasch Analysis in the Human Sciences (Winsteps) Boone, Staver, Yale
Introduction to Many-Facet Rasch Measurement (Facets), Thomas Eckes Statistical Analyses for Language Testers (Facets), Rita Green Invariant Measurement with Raters and Rating Scales: Rasch Models for Rater-Mediated Assessments (Facets), George Engelhard, Jr. & Stefanie Wind Aplicação do Modelo de Rasch (Português), de Bond, Trevor G., Fox, Christine M Appliquer le modèle de Rasch: Défis et pistes de solution (Winsteps) E. Dionne, S. Béland
Exploring Rating Scale Functioning for Survey Research (R, Facets), Stefanie Wind Rasch Measurement: Applications, Khine Winsteps Tutorials - free
Facets Tutorials - free
Many-Facet Rasch Measurement (Facets) - free, J.M. Linacre Fairness, Justice and Language Assessment (Winsteps, Facets), McNamara, Knoch, Fan
Other Rasch-Related Resources: Rasch Measurement YouTube Channel
Rasch Measurement Transactions & Rasch Measurement research papers - free An Introduction to the Rasch Model with Examples in R (eRm, etc.), Debelak, Strobl, Zeigenfuse Rasch Measurement Theory Analysis in R, Wind, Hua Applying the Rasch Model in Social Sciences Using R, Lamprianou El modelo métrico de Rasch: Fundamentación, implementación e interpretación de la medida en ciencias sociales (Spanish Edition), Manuel González-Montesinos M.
Rasch Models: Foundations, Recent Developments, and Applications, Fischer & Molenaar Probabilistic Models for Some Intelligence and Attainment Tests, Georg Rasch Rasch Models for Measurement, David Andrich Constructing Measures, Mark Wilson Best Test Design - free, Wright & Stone
Rating Scale Analysis - free, Wright & Masters
Virtual Standard Setting: Setting Cut Scores, Charalambos Kollias Diseño de Mejores Pruebas - free, Spanish Best Test Design A Course in Rasch Measurement Theory, Andrich, Marais Rasch Models in Health, Christensen, Kreiner, Mesba Multivariate and Mixture Distribution Rasch Models, von Davier, Carstensen

To be emailed about new material on www.rasch.org
please enter your email address here:

I want to Subscribe: & click below
I want to Unsubscribe: & click below

Please set your SPAM filter to accept emails from Rasch.org

Rasch Measurement Transactions welcomes your comments:

Your email address (if you want us to reply):

If Rasch.org does not reply, please post your message on the Rasch Forum
 

ForumRasch Measurement Forum to discuss any Rasch-related topic

Go to Top of Page
Go to index of all Rasch Measurement Transactions
AERA members: Join the Rasch Measurement SIG and receive the printed version of RMT
Some back issues of RMT are available as bound volumes
Subscribe to Journal of Applied Measurement

Go to Institute for Objective Measurement Home Page. The Rasch Measurement SIG (AERA) thanks the Institute for Objective Measurement for inviting the publication of Rasch Measurement Transactions on the Institute's website, www.rasch.org.

Coming Rasch-related Events
Apr. 21 - 22, 2025, Mon.-Tue. International Objective Measurement Workshop (IOMW) - Boulder, CO, www.iomw.net
Jan. 17 - Feb. 21, 2025, Fri.-Fri. On-line workshop: Rasch Measurement - Core Topics (E. Smith, Winsteps), www.statistics.com
Feb. - June, 2025 On-line course: Introduction to Classical Test and Rasch Measurement Theories (D. Andrich, I. Marais, RUMM2030), University of Western Australia
Feb. - June, 2025 On-line course: Advanced Course in Rasch Measurement Theory (D. Andrich, I. Marais, RUMM2030), University of Western Australia
May 16 - June 20, 2025, Fri.-Fri. On-line workshop: Rasch Measurement - Core Topics (E. Smith, Winsteps), www.statistics.com
June 20 - July 18, 2025, Fri.-Fri. On-line workshop: Rasch Measurement - Further Topics (E. Smith, Facets), www.statistics.com
Oct. 3 - Nov. 7, 2025, Fri.-Fri. On-line workshop: Rasch Measurement - Core Topics (E. Smith, Winsteps), www.statistics.com

 

The URL of this page is www.rasch.org/rmt/rmt124i.htm

Website: www.rasch.org/rmt/contents.htm