YTSPROM2 ;SLC/KCM - Score PROMIS29 v2.1 ; 10/14/18 2:02pm
Source file <YTSPROM2.m>
action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
Name | Comments | DBIA/ICR reference |
---|---|---|
DLLSTR(YSDATA,YS,YSTRNG) | ; compute scores or report text based on YSTRNG
; input ; YSDATA(2)=adminId^patientDFN^instrumentName^dateGiven^isComplete ; YSDATA(2+n)=questionId^sequence^choiceId ; YS("AD")=adminId ; YSTRNG=1 for score, 2 for report ; output if YSTRNG=1: ^TMP($J,"YSCOR",n)=scaleId=score ; output if YSTRNG=2: append special "answers" to YSDATA |
|
SCORESV | ; calculate the raw scores and map to T-Scores
; expects YSDATA from DLLSTR |
|
MAPQSTN(YSDATA,YTRESP) | ; loop YSDATA and map questions to choice values
|
|
REPORT(TXT) | ; build the scoring display for the report
; expects ^TMP($J,"YSCOR",...) and ^TMP($J,"YSG") from DLLSTR ; YSDATA from DLLSTR ; organize the scores into SCORES(scaleId)=raw^tscore |
|
PRO29(SCORES) | ; return text for PROMIS29
|
|
PROPR(SCORES) | ; return text for PROMIS29+2 (PROPr)
|
|
SCORSTR(SID,SCORE) | ; return score string given scale identifier
|
|
PAIN() | ; return pain intensity selection
|
|
MKTLST(SCORES,TSCORES) | ; build a named list of t-scores for PROPr
|
|
TBLVAL(RAW,COLUMN) | ; return table value given RAW score and COLUMN
|
|
TMAP | ; Map of raw scores to t-scores
|
Name | Line Occurrences |
---|---|
$$PAIN | PRO29+10, PROPR+11 |
$$PRO29 | REPORT+13 |
$$PROPR | REPORT+14 |
$$SCORSTR | PRO29+3, PRO29+4, PRO29+5, PRO29+6, PRO29+7, PRO29+8, PRO29+9, PROPR+3, PROPR+4, PROPR+5 , PROPR+6, PROPR+7, PROPR+8, PROPR+9, PROPR+10 |
$$TBLVAL | SCORESV+25, SCORESV+26, SCORESV+27, SCORESV+28, SCORESV+29, SCORESV+30, SCORESV+31, SCORESV+33, SCORSTR+3, SCORSTR+4 , SCORSTR+5, SCORSTR+6, SCORSTR+7, SCORSTR+8, SCORSTR+9, SCORSTR+10 |
MAPQSTN | SCORESV+3 |
MKTLST | PROPR+15 |
REPORT | DLLSTR+13 |
SCORESV | DLLSTR+9 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
COLUMN | TBLVAL~, TBLVAL+3 |
I | SCORESV+21~, SCORESV+22*, REPORT+4~, REPORT+5*, REPORT+6*, REPORT+10*, PAIN+1~, PAIN+2*, PAIN+3 |
J | SCORESV+21~, SCORESV+22*, SCORESV+34* |
MAP | REPORT+4~ |
MAP( | REPORT+9*, REPORT+11, REPORT+12 |
N | DLLSTR+11~, DLLSTR+14*, DLLSTR+15, TBLVAL+1~, TBLVAL+3*, TBLVAL+4 |
QSTN | SCORESV+2~, SCORESV+5*, SCORESV+6*, SCORESV+7*, SCORESV+8*, SCORESV+9*, SCORESV+10*, SCORESV+11*, SCORESV+12* |
RAW | SCORESV+2~, SCORSTR+1~, SCORSTR+2*, SCORSTR+3, SCORSTR+4, SCORSTR+5, SCORSTR+6, SCORSTR+7, SCORSTR+8, SCORSTR+9 , SCORSTR+10, SCORSTR+11, TBLVAL~ |
RAW( | SCORESV+4* |
RAW("anxiety" | SCORESV+6*, SCORESV+26 |
RAW("cog" | SCORESV+12*, SCORESV+33 |
RAW("depress" | SCORESV+7*, SCORESV+27 |
RAW("fatigue" | SCORESV+8*, SCORESV+28 |
RAW("intensity" | SCORESV+13*, SCORESV+32 |
RAW("pain" | SCORESV+11*, SCORESV+31 |
RAW("physical" | SCORESV+5*, SCORESV+25 |
RAW("sleep" | SCORESV+9*, SCORESV+29 |
RAW("social" | SCORESV+10*, SCORESV+30 |
SCORE | SCORSTR~, SCORSTR+2 |
SCORES | REPORT+4~, REPORT+13, REPORT+14, PRO29~, PROPR~, PROPR+15, MKTLST~ |
SCORES( | REPORT+5*, REPORT+12* |
SCORES(1375 | PRO29+3 |
SCORES(1376 | PRO29+4 |
SCORES(1377 | PRO29+5 |
SCORES(1378 | PRO29+6 |
SCORES(1379 | PRO29+7 |
SCORES(1380 | PRO29+8 |
SCORES(1381 | PRO29+9 |
SCORES(1383 | PROPR+3, MKTLST+5 |
SCORES(1384 | PROPR+4 |
SCORES(1385 | PROPR+5, MKTLST+2 |
SCORES(1386 | PROPR+6, MKTLST+3 |
SCORES(1387 | PROPR+7, MKTLST+6 |
SCORES(1388 | PROPR+8, MKTLST+7 |
SCORES(1389 | PROPR+9, MKTLST+4 |
SCORES(1390 | PROPR+10, MKTLST+1 |
SCORETXT | DLLSTR+11~, DLLSTR+13, DLLSTR+15 |
SE | SCORSTR+1~, SCORSTR+2*, SCORSTR+3*, SCORSTR+4*, SCORSTR+5*, SCORSTR+6*, SCORSTR+7*, SCORSTR+8*, SCORSTR+9*, SCORSTR+10* , SCORSTR+11 |
SID | SCORSTR~, SCORSTR+3, SCORSTR+4, SCORSTR+5, SCORSTR+6, SCORSTR+7, SCORSTR+8, SCORSTR+9, SCORSTR+10 |
T1 | SCORSTR+1~, SCORSTR+2*, SCORSTR+11 |
TSCORES | PROPR+14~, PROPR+15, MKTLST~ |
TSCORES("cognition" | MKTLST+1* |
TSCORES("depression" | MKTLST+2* |
TSCORES("fatigue" | MKTLST+3* |
TSCORES("pain" | MKTLST+4* |
TSCORES("physical" | MKTLST+5* |
TSCORES("sleep" | MKTLST+6* |
TSCORES("social" | MKTLST+7* |
TXT | REPORT~, REPORT+13*, REPORT+14* |
U | SCORESV+24, SCORESV+25, SCORESV+26, SCORESV+27, SCORESV+28, SCORESV+29, SCORESV+30, SCORESV+31, SCORESV+33, MAPQSTN+3 , MAPQSTN+4, MAPQSTN+5, REPORT+9, REPORT+13, REPORT+14, SCORSTR+2, PAIN+3, MKTLST+1, MKTLST+2, MKTLST+3 , MKTLST+4, MKTLST+5, MKTLST+6, MKTLST+7, TBLVAL+3 |
USCORES | PROPR+14~, PROPR+15 |
USCORES("PROPr" | PROPR+17 |
USCORES("cognition" | PROPR+24 |
USCORES("depression" | PROPR+19 |
USCORES("fatigue" | PROPR+20 |
USCORES("pain" | PROPR+23 |
USCORES("physical" | PROPR+18 |
USCORES("sleep" | PROPR+21 |
USCORES("social" | PROPR+22 |
X | SCORESV+2~, SCORESV+4*, SCORESV+21~, SCORESV+22*, SCORESV+23, SCORESV+24*, REPORT+4~, REPORT+6*, REPORT+7, REPORT+8* , REPORT+9, REPORT+10*, REPORT+11, REPORT+12, PRO29+1~*, PRO29+2*, PRO29+3*, PRO29+4*, PRO29+5*, PRO29+6* , PRO29+7*, PRO29+8*, PRO29+9*, PRO29+10*, PRO29+11, PROPR+1~*, PROPR+2*, PROPR+3*, PROPR+4*, PROPR+5* , PROPR+6*, PROPR+7*, PROPR+8*, PROPR+9*, PROPR+10*, PROPR+11*, PROPR+16*, PROPR+17*, PROPR+18*, PROPR+19* , PROPR+20*, PROPR+21*, PROPR+22*, PROPR+23*, PROPR+24*, PROPR+25, SCORSTR+1~, PAIN+1~, PAIN+2*, PAIN+3* , PAIN+4, TBLVAL+1~, TBLVAL+2*, TBLVAL+3 |
YS | DLLSTR~, DLLSTR+12 |
YSDATA | DLLSTR~, DLLSTR+12, SCORESV+3, MAPQSTN~ |
YSDATA( | DLLSTR+15*, MAPQSTN+2, MAPQSTN+3, MAPQSTN+4, PAIN+2, PAIN+3 |
YSDATA("" | DLLSTR+14 |
YSDATA(2 | REPORT+13, REPORT+14 |
YSTRNG | DLLSTR~, DLLSTR+9, DLLSTR+10 |
YTCHC | MAPQSTN+1~, MAPQSTN+3*, MAPQSTN+5 |
YTI | MAPQSTN+1~, MAPQSTN+2*, MAPQSTN+3, MAPQSTN+4 |
YTN | SCORESV+21~, SCORESV+24*, SCORESV+34 |
YTQSTN | MAPQSTN+1~, MAPQSTN+3*, MAPQSTN+4, MAPQSTN+5 |
YTRESP | SCORESV+2~, SCORESV+3, MAPQSTN~ |
YTRESP( | SCORESV+5, SCORESV+6, SCORESV+7, SCORESV+8, SCORESV+9, SCORESV+10, SCORESV+11, SCORESV+12, MAPQSTN+4*, MAPQSTN+5* |
YTRESP(8613 | SCORESV+13 |
YTS | SCORESV+21~, SCORESV+24*, SCORESV+25, SCORESV+26, SCORESV+27, SCORESV+28, SCORESV+29, SCORESV+30, SCORESV+31, SCORESV+32 , SCORESV+33 |
YTX | SCORESV+21~, SCORESV+24*, SCORESV+25*, SCORESV+26*, SCORESV+27*, SCORESV+28*, SCORESV+29*, SCORESV+30*, SCORESV+31*, SCORESV+32* , SCORESV+33*, SCORESV+34 |
Name | Field # of Occurrence |
---|---|
$T(TMAP+RAW | TBLVAL+2 |