YTSCOREX ;SLC/KCM - Score tests without admins ; 1/25/2017
Source file <YTSCOREX.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
CALC(TEST,ANSWERS,SCORES) | ; Calculate and return .SCORES given ANSWERS
; TEST=name or IEN of instrument ; .ANSWERS(n,"id")=questionId ; .ANSWERS(n,"value")=choiceId or integerValue ; .SCORES(n,"name")=scaleName ; .SCORES(n,"id")=scaleId ; .SCORES(n,"raw")=rawScore ; .SCORES(n,"tscore")=tScore ; .SCORES("error")=error message if defined |
|
SUMKEY(TEST,ANSWERS,SCORES) | ; score by summing scoring keys
; expects ^TMP($J,"YSG",n) to contain scale id's |
|
BYQSTN(ANSWERS,QALIST) | ; return QALIST(questionId)=choiceText or value
|
|
BYKEY(SCALE,QALIST) | ; returns score based on scoring keys for SCALE
; .QALIST(questionId)=choiceId (with "q" and "c" removed) |
|
COMPLEX(TEST,ANSWERS,SCORES) | ; score by calling routine
; expects: ^TMP($J,"YSG",n) to contain scale id's ; expects: YS and YSDATA from CALC |
|
MKYSDATA(TEST,ANSWERS,YSDATA) | ; Convert "tree" array of answers to YSDATA format
|
|
NSCALES(NMLIST) | ; build scale NMLIST(name)=sequence^scaleId
; expects: ^TMP($J,"YSG",n) from CALC |
|
SPLITWP(IN,OUT) | ; split WP into 240 char segments and use | as newline
|
|
ADDSEGS(LINE,OUT) | ; add 240 char segment to OUT array
; See ADDSEGS^YTQRQAD2 for similar code. This is a bit more general. |
|
LEGACY(TESTNM,ADFN,AUSER,ANSWERS,SCORES) | ; return .SCORES for legacy test
; .ANSWERS(n,"id")=questionId ; .ANSWERS(n,"value")=choiceId or integerValue |
|
FULLANS(ANSWERS,QADISP) | ; List out display values of questions/answers
; expects .ANSWERS(sequence,"id")="q1234" ; .ANSWERS(sequence,"value")="c567" ; returns .QADISP(sequence,"qText")=questionText ; .QADISP(sequence,"aText")=answerText |
|
PARTANS(TEST,ANSWERS,QADISP) | ; List out display values for designator/legacyValue
; expects .ANSWERS(sequence,"id")="q1234" ; .ANSWERS(sequence,"value")="c567" ; returns .QADISP(sequence,"qText")=designator ; .QADISP(sequence,"aText")=legacyValue |
|
CPRSSTR(TEST,ANSWERS,SCORES) | ; build string for CPRS DLL
|