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

YTSISS2.m

Go to the documentation of this file.
  1. YTSISS2 ;SLC/MJB- SCORE ISS2 ; 10/30/18 9:35am
  1. ;;5.01;MENTAL HEALTH;**151**;Dec 30, 1994;Build 92
  1. ;
  1. ; This routine was split from YTQAPI2A.
  1. ; This routine handles limited complex reporting requirements without
  1. ; modifying YS_AUX.DLL by adding free text "answers" that can be used by
  1. ; a report.
  1. ;,
  1. ; Assumptions: EDIT incomplete instrument should ignore the extra answers
  1. ; since there are no associated questions. GRAPHING should ignore the
  1. ; answers since they not numeric.
  1. ;
  1. Q
  1. ;
  1. DLLSTR(YSDATA,YS,YSTRNG) ;
  1. ;
  1. N TOTAL,TXT,YSMED,YSOVER,YSTOTAL,YSCALEI,STRING,YSINSNAM,I,NODE,YSQN,YSCDA,DATA
  1. N YSCAL,YSVAL,YSCALVI,YTSCOR,YSVALA,YSRSC1,YSRSC2,YSRSC3,YSRSC4,YSRSC5
  1. N II,ISS2,YSCALIEN,YSSCNAM,YSRSC,YSMOOD,STRING1
  1. S N=N+1,II=0
  1. IF YSTRNG=1 D SCORESV
  1. I YSTRNG=2 D
  1. .D LDSCORES^YTSCORE(.YSDATA,.YS)
  1. .D STRING(.STRING1)
  1. .S YSDATA($O(YSDATA(""),-1)+1)=999999999999_U_U_STRING1
  1. Q
  1. ;
  1. SCORESV ;
  1. D DATA1 D YSRAW
  1. I $D(^TMP($J,"YSG",1)),^TMP($J,"YSG",1)="[ERROR]" D Q ;-->out
  1. .K ^TMP($J,"YSCOR")
  1. .S ^TMP($J,"YSCOR",1)="[ERROR]"
  1. .S ^TMP($J,"YSCOR",2)=$G(YSINSNAM)_" Scale not found"
  1. S YSSCNAM=$P($G(^TMP($J,"YSG",3)),U,4) ; Scale Name
  1. ;
  1. K ^TMP($J,"YSCOR")
  1. S ^TMP($J,"YSCOR",1)="[DATA]"
  1. S I=2
  1. F S I=$O(^TMP($J,"YSG",I)) Q:'I D
  1. .S YSCALIEN=$P($P(^TMP($J,"YSG",I),"^",1),"=",2)
  1. .S YSRSC="YSRSC"_(I-2)
  1. .S ^TMP($J,"YSCOR",I)=$$GET1^DIQ(601.87,YSCALIEN_",",3,"I")_"="_@YSRSC
  1. Q
  1. ;
  1. DATA1 ;
  1. S NODE=2 F S NODE=$O(YSDATA(NODE)) Q:NODE="" D
  1. .S DATA=YSDATA(NODE)
  1. .S YSQN=$P(DATA,U,1)
  1. .S YSCDA=$P($G(DATA),U,3)
  1. .S ISS2(NODE)=$$GET1^DIQ(601.75,YSCDA_",",4,"I")
  1. YSRAW ;
  1. S YSRSC1=0,YSRSC2=0,YSRSC3=0,YSRSC4=0,YSRSC5=0
  1. S YSRSC1=$G(ISS2(8))+$G(ISS2(10))+$G(ISS2(12))+$G(ISS2(14))+$G(ISS2(15))
  1. S YSRSC2=$G(ISS2(5))+$G(ISS2(7))+$G(ISS2(17))
  1. S YSRSC3=$G(ISS2(4))+$G(ISS2(3))+$G(ISS2(6))+$G(ISS2(13))+$G(ISS2(16))
  1. S YSRSC4=$G(ISS2(9))+$G(ISS2(11))
  1. S YSRSC5=$G(ISS2(18))
  1. Q
  1. ;
  1. STRING(STRING1) ;
  1. F I=2 S YSRSC1=$P($G(^TMP($J,"YSCOR",2)),"=",2)
  1. F I=3 S YSRSC2=$P($G(^TMP($J,"YSCOR",3)),"=",2)
  1. F I=4 S YSRSC3=$P($G(^TMP($J,"YSCOR",4)),"=",2)
  1. F I=5 S YSRSC4=$P($G(^TMP($J,"YSCOR",5)),"=",2)
  1. F I=6 S YSRSC5=$P($G(^TMP($J,"YSCOR",6)),"=",2)
  1. I (YSRSC2>=125)&(YSRSC1<=155) S YSMOOD="EUTHYMIC"
  1. I (YSRSC2>=125)&(YSRSC1>=155) S YSMOOD="MANIC OR HYPOMANIC"
  1. I (YSRSC2<125)&(YSRSC1<155) S YSMOOD="DEPRESSED"
  1. I (YSRSC2<125)&(YSRSC1>=155) S YSMOOD="MIXED"
  1. ;S YSDATA(N)="7771^9999;1^"_$$PAD(YSRSC1,2) S N=N+1
  1. ;S YSDATA(N)="7772^9999;1^"_$$PAD(YSRSC2,2) S N=N+1
  1. ;S YSDATA(N)="7773^9999;1^"_$$PAD(YSRSC3,2) S N=N+1
  1. ;S YSDATA(N)="7774^9999;1^"_$$PAD(YSRSC4,2) S N=N+1
  1. ;S YSDATA(N)="7775^9999;1^"_$$PAD(YSRSC5,2) S N=N+1
  1. S YSDATA(N)="7776^9999;1^"_YSMOOD S N=N+1
  1. D SCALES(.STRING1)
  1. Q
  1. ;
  1. YSARRAY(YSDATA) ;
  1. S NODE=2 F S NODE=$O(YSDATA(NODE)) Q:NODE="" D
  1. .S DATA=YSDATA(NODE)
  1. .S YSQN=$P(DATA,U,1)
  1. .S YSCDA=$P($G(DATA),U,3)
  1. .S ISS2(NODE)=$$GET1^DIQ(601.75,YSCDA_",",4,"I")
  1. Q
  1. PAD(VAL,LENGTH) ; padds the value with spaces at beginning
  1. N RETURN,PADDING
  1. I VAL="Left blank by the user." S VAL="--"
  1. S PADDING=LENGTH-$L(VAL)
  1. I PADDING'>0 Q VAL
  1. S $P(RETURN," ",PADDING+1)=VAL
  1. Q RETURN
  1. ;
  1. SCALES(STRING1) ;
  1. S STRING1="SCALES|"
  1. S STRING1=STRING1_" Activation: "_$J(YSRSC1,3)_" (Manic Symptoms, Range 0 to 500)|"
  1. S STRING1=STRING1_" Well Being: "_$J(YSRSC2,3)_" (Range 0 to 300)|"
  1. S STRING1=STRING1_" Perceived Conflict: "_$J(YSRSC3,3)_" (Global Psychopathology Range 0 to 500)|"
  1. S STRING1=STRING1_" Depression Index: "_$J(YSRSC4,3)_" (Range 0 to 200)|"
  1. S STRING1=STRING1_"Global Bipolar Scale: "_$J(YSRSC5,3)_" (0=depressed/down < 50=normal > 100=high/manic)|"
  1. ;
  1. Q