YTSCAT ;SLC/KCM - CAT Scoring and Reporting ; 6/30/2021
Source file <YTSCAT.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 |
| Package | Total | Caller Graph |
|---|---|---|
| Mental Health | 5 | YTQRCAT YTSALSFR YTSMIOS2 YTSMIOSB ^YTT(601.71 |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| DLLSTR(YSDATA,YS,YSMODE) | ; main tag for both scores and report text
|
|
| SCORE(YSDATA) | ; iterate through answers and calculate score
; looks like this is in every scoring routine... ; SCOREINS^YTSCORE sets up ^TMP($J,"YSG") with scales ; if no scales are defined, we can't score instrument |
|
| REPORT(YSDATA,YS) | ; add textual scores to report
; at this point YTQRRPT has already called GETSCORE^YTQAPI8 so ; ^TMP($J,"YSCOR") is defined and we're in the middle of ALLANS^YTQAPI2 ; YSDATA(2+n)=questionId^sequence^choiceId or text response |
|
| QA4TEST(ITEST) | ; add Questions & Answers for 1 Test
; expects: TREE,SCORTXT,LN from REPORT |
|
| QA4QID(QID) | ; return question & response text from answers
|
|
| TM4TEST(SEQ) | ; return a block of text with the completion time
|
|
| QA4ALL | ; add Questions & Answers for all tests together
; expects: TREE,SCORTXT,LN from REPORT |
|
| TM4ALL | ; add elapsed time for all questions
|
|
| ADDSCORE(SEQ,WHICH) | ; return a block of text with the appropriate scores
; expects TREE,SCORTXT from REPORT |
|
| ADDPTSD | ; add interpretive text for CAD-PTSD-DX
; expects SCORTXT |
|
| ADDLN(TXT) | ; add a line of text
; expects SCORTXT from REPORT>ADDSCORE |
|
| FULLNAME(TTYP) | ; return full name for a CAT Test Type
|
|
| INSNAME(TTYP) | ; return full name for a CAT Test Type
|
|
| PAD(LEN,STR) | ; return spaces until X is LEN
|
|
| TMSTR(ATIME) | ; return a readable elapsed time
|
|
| WP2JSON(YSDATA,TREE) | ; put YSDATA answer into M-subscript format
|
|
| WRAP(IN,MAX,PRE) | ; Return with | and spacing in correct place
|
|
| TXTPTSD | ; Interpretive text for CAD-PTSD-DX
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^TMP($J | SCORE+4!, SCORE+5, SCORE+6*, SCORE+7*, SCORE+11, SCORE+12*, SCORE+13*, SCORE+17*, SCORE+18, SCORE+19 , SCORE+27* |
| Name | Line Occurrences |
|---|---|
| $$FULLNAME | REPORT+9, REPORT+10 |
| $$INSNAME | SCORE+11 |
| $$PAD | QA4QID+5, QA4ALL+6 |
| $$QA4QID | QA4TEST+7 |
| $$TMSTR | QA4TEST+9, TM4TEST+7, QA4ALL+7, TM4ALL+6 |
| $$WRAP | QA4QID+4, QA4ALL+5 |
| ADDLN | TM4TEST+7, TM4ALL+6, ADDSCORE+3, ADDSCORE+6, ADDSCORE+7, ADDSCORE+8, ADDSCORE+9, ADDSCORE+10, ADDSCORE+11, ADDSCORE+12 , ADDSCORE+13, ADDPTSD+3 |
| ADDPTSD | REPORT+27 |
| ADDSCORE | REPORT+11, REPORT+12, REPORT+13, REPORT+14, REPORT+15, REPORT+16, REPORT+17, REPORT+18, REPORT+19, REPORT+20 , REPORT+21, REPORT+22, REPORT+23, REPORT+24 |
| QA4ALL | REPORT+30 |
| QA4TEST | REPORT+28 |
| REPORT | DLLSTR+10 |
| SCORE | DLLSTR+8 |
| TM4TEST | REPORT+26 |
| WP2JSON | SCORE+10, REPORT+6 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ALLANS | REPORT+4~, REPORT+5*, REPORT+25*, REPORT+30 |
| ANS | QA4QID+1~, QA4QID+3*, QA4QID+4, QA4QID+5 |
| ANSTXT | REPORT+4~, REPORT+5* |
| ATIME | TMSTR~, TMSTR+2, TMSTR+3 |
| DUR | QA4TEST+2~, QA4TEST+8*, QA4TEST+9 |
| I | SCORE+16~, SCORE+18*, SCORE+19, REPORT+4~, REPORT+7*, REPORT+8, REPORT+11, REPORT+12, REPORT+13, REPORT+14 , REPORT+15, REPORT+16, REPORT+17, REPORT+18, REPORT+19, REPORT+20, REPORT+21, REPORT+22, REPORT+23, REPORT+24 , REPORT+25, REPORT+26, REPORT+28, REPORT+31*, REPORT+32, REPORT+33, TM4TEST+1~, TM4TEST+5*, TM4TEST+6, QA4ALL+2~ , QA4ALL+4*, QA4ALL+5, QA4ALL+6, QA4ALL+7, TM4ALL+1~, TM4ALL+3*, TM4ALL+4, ADDSCORE+2~, ADDSCORE+5*, ADDPTSD+2~ , ADDPTSD+3*, WP2JSON+1~, WP2JSON+2*, WP2JSON+3, WRAP+1~, WRAP+3*, WRAP+6* |
| IN | WRAP~, WRAP+2, WRAP+3 |
| ITEM | QA4TEST+2~, QA4TEST+4*, QA4TEST+5, QA4TEST+8 |
| ITEST | QA4TEST~, QA4TEST+4, QA4TEST+5, QA4TEST+8 |
| J | WP2JSON+1~, WP2JSON+4*, WRAP+1~, WRAP+2*, WRAP+4, WRAP+5* |
| JSON | WP2JSON+1~ |
| JSON( | WP2JSON+4* |
| K | WP2JSON+1~, WP2JSON+2*, WP2JSON+4* |
| L | WP2JSON+1~, WP2JSON+3*, WP2JSON+4 |
| LEN | PAD~, PAD+2 |
| MAX | WRAP~, WRAP+4 |
| MIN | TMSTR+1~, TMSTR+2*, TMSTR+3, TMSTR+5 |
| N | SCORE+16~, SCORE+17*, SCORE+27* |
| PRE | WRAP~, WRAP+2, WRAP+5 |
| QATXT | QA4QID+1~, QA4QID+2*, QA4QID+4*, QA4QID+5*, QA4QID+6 |
| QID | QA4TEST+2~, QA4TEST+5*, QA4TEST+6, QA4TEST+7, QA4QID~, QA4QID+3 |
| S | WP2JSON+1~, WP2JSON+4* |
| SCORE | SCORE+16~, SCORE+21*, SCORE+22*, SCORE+23*, SCORE+24*, SCORE+25*, SCORE+26*, SCORE+27 |
| SCORTXT | REPORT+4~, REPORT+5*, REPORT+10*, REPORT+32, QA4TEST+10*, QA4ALL+8*, ADDLN+2* |
| SEC | TMSTR+1~, TMSTR+3*, TMSTR+6 |
| SEQ | TM4TEST~, TM4TEST+5, TM4TEST+6, ADDSCORE~, ADDSCORE+6, ADDSCORE+7, ADDSCORE+8, ADDSCORE+9, ADDSCORE+10, ADDSCORE+11 , ADDSCORE+12, ADDSCORE+13 |
| SNAME | SCORE+16~, SCORE+20*, SCORE+21, SCORE+22, SCORE+23, SCORE+24, SCORE+25, SCORE+26, SCORE+27 |
| SNUM | SCORE+16~, SCORE+20* |
| STR | PAD~, PAD+2 |
| TREE | SCORE+9~, SCORE+10, REPORT+4~, REPORT+6, WP2JSON~ |
| TREE("answers" | QA4QID+3, QA4QID+4, QA4QID+5, QA4ALL+4, QA4ALL+5, QA4ALL+6, QA4ALL+7, TM4ALL+3, TM4ALL+4 |
| TREE("report" | SCORE+11, SCORE+21, SCORE+22, SCORE+23, SCORE+24, SCORE+25, REPORT+7, REPORT+8, REPORT+25, QA4TEST+4 , QA4TEST+5, QA4TEST+8, TM4TEST+5, TM4TEST+6, ADDSCORE+6, ADDSCORE+7, ADDSCORE+8, ADDSCORE+9, ADDSCORE+10, ADDSCORE+11 , ADDSCORE+12, ADDSCORE+13 |
| TREE("status" | TM4TEST+2, ADDSCORE+3 |
| TSTTXT | REPORT+4~, REPORT+5*, REPORT+9*, REPORT+33 |
| TTIME | TM4TEST+1~, TM4TEST+4*, TM4TEST+6*, TM4TEST+7, TM4ALL+1~, TM4ALL+2*, TM4ALL+4*, TM4ALL+5*, TM4ALL+6 |
| TTYP | REPORT+4~, REPORT+8*, REPORT+9, REPORT+10, REPORT+11, REPORT+12, REPORT+13, REPORT+14, REPORT+15, REPORT+16 , REPORT+17, REPORT+18, REPORT+19, REPORT+20, REPORT+21, REPORT+22, REPORT+23, REPORT+24, REPORT+27, FULLNAME~ , FULLNAME+1*, FULLNAME+2, FULLNAME+3, FULLNAME+4, FULLNAME+5, FULLNAME+6, FULLNAME+7, FULLNAME+8, FULLNAME+9, FULLNAME+10 , FULLNAME+11, FULLNAME+12, FULLNAME+13, FULLNAME+14, FULLNAME+15, INSNAME~, INSNAME+1*, INSNAME+2, INSNAME+3, INSNAME+4 , INSNAME+5, INSNAME+6, INSNAME+7, INSNAME+8, INSNAME+9, INSNAME+10, INSNAME+11, INSNAME+12, INSNAME+13, INSNAME+14 , INSNAME+15 |
| TXT | QA4TEST+2~, QA4TEST+3*, QA4TEST+7*, QA4TEST+9*, QA4TEST+10, QA4ALL+2~, QA4ALL+3*, QA4ALL+5*, QA4ALL+6*, QA4ALL+7* , QA4ALL+8, ADDLN~, ADDLN+2, WRAP+1~ |
| TXT( | WRAP+2*, WRAP+4*, WRAP+5*, WRAP+6 |
| TXT(1 | WRAP+6 |
| U | SCORE+11, SCORE+26, WP2JSON+2 |
| WHICH | ADDSCORE~, ADDSCORE+5 |
| WORD | WRAP+1~, WRAP+3*, WRAP+4, WRAP+5 |
| X | SCORE+16~, SCORE+19*, SCORE+20, ADDSCORE+2~, ADDSCORE+5*, ADDSCORE+6, ADDSCORE+7, ADDSCORE+8, ADDSCORE+9, ADDSCORE+10 , ADDSCORE+11, ADDSCORE+12, ADDSCORE+13, ADDPTSD+2~, ADDPTSD+3*, PAD+1~*, PAD+2, TMSTR+1~, TMSTR+4*, TMSTR+5* , TMSTR+6*, TMSTR+7, WRAP+1~, WRAP+6*, WRAP+7 |
| YS | DLLSTR~, DLLSTR+10, REPORT~ |
| YSDATA | DLLSTR~, DLLSTR+8, DLLSTR+10, SCORE~, SCORE+10, REPORT~, REPORT+6, WP2JSON~ |
| YSDATA( | REPORT+32*, REPORT+33*, WP2JSON+2, WP2JSON+3 |
| YSDATA("" | REPORT+31 |
| YSMODE | DLLSTR~, DLLSTR+8, DLLSTR+10 |
| Name | Field # of Occurrence |
|---|---|
| $T(TXTPTSD+I | ADDPTSD+3 |