YTSPROM2 ;SLC/KCM - Score PROMIS29 v2.1 ; 10/14/18 2:02pm
Source file <YTSPROM2.m>
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
|