Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: YTSALSFR

YTSALSFR.m

Go to the documentation of this file.
  1. YTSALSFR ;ISP/LMT - Report ALSFRS-R ;Jul 31, 2024@10:22:10
  1. ;;5.01;MENTAL HEALTH;**250**;Dec 30, 1994;Build 26
  1. ;
  1. ;
  1. DLLSTR(YSDATA,YS,YSTRNG) ; compute scores or report text based on YSTRNG
  1. ; input
  1. ; YSDATA(2)=adminId^patientDFN^instrumentName^dateGiven^isComplete
  1. ; YSDATA(2+n)=questionId^sequence^choiceId
  1. ; YS("AD")=adminId
  1. ; YSTRNG=1 for score, 2 for report
  1. ; output if YSTRNG=1: ^TMP($J,"YSCOR",n)=scaleId=score
  1. ; output if YSTRNG=2: append special "answers" to YSDATA
  1. ;
  1. I YSTRNG=1 D BYKEY^YTSCORE(.YSDATA) ; just use "regular" scoring
  1. ;
  1. I YSTRNG=2 D REPORT(.YSDATA)
  1. ;
  1. Q
  1. ;
  1. REPORT(YSDATA) ; line wrap long answers
  1. ;
  1. N YSCHOICE,YSI,YSN,YSQLIST,YSQNEW,YSTEXT
  1. ;
  1. S YSQLIST(9516)=7771
  1. S YSQLIST(9522)=7772
  1. S YSQLIST(9526)=7773
  1. S YSQLIST(9527)=7774
  1. ;
  1. S YSN=$O(YSDATA(""),-1) ; get last node
  1. ;
  1. S YSI=2
  1. F S YSI=$O(YSDATA(YSI)) Q:'YSI D
  1. . S YSTEXT=""
  1. . S YSQNEW=$G(YSQLIST(+$P(YSDATA(YSI),U,1)))
  1. . I YSQNEW'>0 QUIT
  1. . S YSCHOICE=+$P(YSDATA(YSI),U,3)
  1. . I YSCHOICE=1157 S YSTEXT="| Skipped but required"
  1. . I YSTEXT="" D
  1. . . S YSTEXT=$G(^YTT(601.75,YSCHOICE,1))
  1. . . S YSTEXT=$$WRAP^YTSCAT(YSTEXT,70,"| ")
  1. . S YSN=YSN+1
  1. . S YSDATA(YSN)=YSQNEW_"^9999;1^"_YSTEXT
  1. ;
  1. Q
  1. ;