VistA-FOIAVistA/r/MENTAL_HEALTH-YS-RUCL-YI-YT/YSASFS.m

123 lines
4.5 KiB
Mathematica

YSASFS ;ALB/ASF- ASI FACTOR SCORES ;10/24/01 14:55
;;5.01;MENTAL HEALTH;**71**;Dec 30, 1994
Q
NUM ;
S N=$$GET1^DIQ(604,YSIEN,X)
S:N="YES" N=1
S:N="NO" N=0
; test I N'?1N.N W !,X
Q
EN(YSDATA,YS) ;
N X,N,YSDA1,YSDA13,YSDA15,YSDA25,YSDA3,YSDA36,YSDA37,YSDA39,YSDA40,YSDA41,YSDA42,YSDA43,YSDA44,YSDA5,YSE17,YSFAM,YSFS10,YSFS12,YSFS14,YSFS16,YSFS18,YSFS20,YSFS22,YSFS30,YSFS32,YSFSAF,YSFSAL,YSFSDR
N YSFSFS,YSFSLG,YSFSPSY,YSIEN,YSL2,YSL22,YSL25,YSL26,YSL27,YSNUM,YSP10,YSP14,YSP18,YSP20,YSP21,YSP22,YSP4,YSP6,YSTALC,YSTDRU,YSTFAM,YSTLG,YSTPSY
S YSIEN=$G(YS("IEN"))
I YSIEN="" S YSDATA(1)="[ERROR]",YSDATA(2)="NO IEN" Q ;--> OUT
I '$D(^YSTX(604,YSIEN)) S YSDATA(1)="[ERROR]",YSDATA(2)="NO SUCH ASI" Q ;--> OUT
S YSDATA(1)="[DATA]"
CHKFILL ;check that All are answered
S YSNUM=0
F X=10.01,10.22,10.25,10.42,10.04,11.09 Q:YSNUM D NUM
F X=11.11,11.14,11.15,11.16,11.17,11.165,11.175 Q:YSNUM D NUM
F X=10.07,9.25,18.23,18.05,18.07,18.25,18.27 Q:YSNUM D NUM
F X=14.02,14.27,14.31,14.32,14.33,19.11,19.16,19.21,19.23,19.24,19.25,19.04,19.06 Q:YSNUM D NUM
I YSNUM S YSDATA(2)=YSNUM_" NOT NUMERIC" Q ;-->OUT
ALCFS ;alcohol factor
S X=10.01 D NUM S YSDA1=N
S X=10.04 D NUM S YSDA3=N
S X=11.09 D NUM S YSDA36=N
S X=11.14 D NUM S YSDA39=N
S X=11.16 D NUM S YSDA41=N
S X=11.165 D NUM S YSDA43=N
;
S YSDA1=(((YSDA1-8.1)/10.4)*3)+10
S YSDA3=(((YSDA3-6.2)/9.8)*3)+10
S YSDA36=(((YSDA36-42.1)/98)*3)+10
S YSDA39=(((YSDA39-4.4)/9.1)*3)+10
S YSDA41=(((YSDA41-0.8)/1.4)*3)+10
S YSDA43=(((YSDA43-1.1)/1.7)*3)+10
S YSFSAL=YSDA1+YSDA3+YSDA36+YSDA39+YSDA41+YSDA43+.0000001
ALCT I (YSFSAL>101) S YSTALC=73
I (YSFSAL>98)&(YSFSAL<101) S YSTALC=70
I (YSFSAL>96)&(YSFSAL<98) S YSTALC=68
I (YSFSAL>94)&(YSFSAL<96) S YSTALC=67
I (YSFSAL>92)&(YSFSAL<94) S YSTALC=66
I (YSFSAL>90)&(YSFSAL<92) S YSTALC=65
I (YSFSAL>88)&(YSFSAL<90) S YSTALC=64
I (YSFSAL>86)&(YSFSAL<88) S YSTALC=63
I (YSFSAL>84)&(YSFSAL<86) S YSTALC=62
I (YSFSAL>81)&(YSFSAL<84) S YSTALC=61
I (YSFSAL>79)&(YSFSAL<81) S YSTALC=60
I (YSFSAL>76)&(YSFSAL<79) S YSTALC=59
I (YSFSAL>72)&(YSFSAL<76) S YSTALC=58
I (YSFSAL>69)&(YSFSAL<72) S YSTALC=57
I (YSFSAL>66)&(YSFSAL<69) S YSTALC=56
I (YSFSAL>63)&(YSFSAL<66) S YSTALC=55
I (YSFSAL>61)&(YSFSAL<63) S YSTALC=54
I (YSFSAL>58)&(YSFSAL<61) S YSTALC=53
I (YSFSAL>56)&(YSFSAL<58) S YSTALC=52
I (YSFSAL>53)&(YSFSAL<56) S YSTALC=51
I (YSFSAL>52)&(YSFSAL<53) S YSTALC=50
I (YSFSAL>51)&(YSFSAL<52) S YSTALC=49
I (YSFSAL>50)&(YSFSAL<51) S YSTALC=46
I (YSFSAL<50) S YSTALC=40
S YSDATA(2)="ALCOHOL^"_$J(YSFSAL-.0000001,6,2)_U_YSTALC
DRUGFS ;drug abuse factor
S X=9.25 D NUM S YSE17=N
S X=10.07 D NUM S YSDA5=N
S X=10.25 D NUM S YSDA15=N
S X=10.42 D NUM S YSDA25=N
S X=11.11 D NUM S YSDA37=N
S X=11.15 D NUM S YSDA40=N
S X=11.17 D NUM S YSDA42=N
S X=11.175 D NUM S YSDA44=N
S X=14.31 D NUM S YSL25=N
;
S YSE17=(((YSE17-303.9)/1076.1)*3)+10
S YSDA5=(((YSDA5-7.2)/11.2)*3)+10
S YSDA15=(((YSDA15-7.4)/10.2)*3)+10
S YSDA25=(((YSDA25-10.9)/11.5)*3)+10
S YSDA37=(((YSDA37-489.8)/863.9)*3)+10
S YSDA40=(((YSDA40-12.5)/12.8)*3)+10
S YSDA42=(((YSDA42-2.2)/1.7)*3)+10
S YSDA44=(((YSDA44-2.7)/1.7)*3)+10
S YSL25=(((YSL25-3.9)/8.8)*3)+10
;
S YSFSDR=YSE17+YSDA5+YSDA15+YSDA25+YSDA37+YSDA40+YSDA42+YSDA44+YSL25+.0000001
DRT I YSFSDR>141 S YSTDRU=73
I (YSFSDR>135)&(YSFSDR<141) S YSTDRU=70
I (YSFSDR>131)&(YSFSDR<135) S YSTDRU=68
I (YSFSDR>127)&(YSFSDR<131) S YSTDRU=67
I (YSFSDR>125)&(YSFSDR<127) S YSTDRU=66
I (YSFSDR>121)&(YSFSDR<125) S YSTDRU=65
I (YSFSDR>117)&(YSFSDR<121) S YSTDRU=64
I (YSFSDR>116)&(YSFSDR<117) S YSTDRU=63
I (YSFSDR>113)&(YSFSDR<116) S YSTDRU=62
I (YSFSDR>111)&(YSFSDR<113) S YSTDRU=61
I (YSFSDR>109)&(YSFSDR<111) S YSTDRU=60
I (YSFSDR>107)&((YSFSDR<109)) S YSTDRU=59
I (YSFSDR>104)&(YSFSDR<107) S YSTDRU=58
I (YSFSDR>102)&(YSFSDR<104) S YSTDRU=57
I (YSFSDR>100)&(YSFSDR<102) S YSTDRU=56
I (YSFSDR>98)&(YSFSDR<100) S YSTDRU=55
I (YSFSDR>96)&(YSFSDR<98) S YSTDRU=54
I (YSFSDR>94)&(YSFSDR<96) S YSTDRU=53
I (YSFSDR>92)&(YSFSDR<94) S YSTDRU=52
I (YSFSDR>90)&(YSFSDR<92) S YSTDRU=51
I (YSFSDR>89)&(YSFSDR<90) S YSTDRU=50
I (YSFSDR>87)&(YSFSDR<89) S YSTDRU=49
I (YSFSDR>86)&(YSFSDR<87) S YSTDRU=48
I (YSFSDR>84)&(YSFSDR<86) S YSTDRU=47
I (YSFSDR>82)&(YSFSDR<84) S YSTDRU=46
I (YSFSDR>80)&(YSFSDR<82) S YSTDRU=45
I (YSFSDR>78)&(YSFSDR<80) S YSTDRU=44
I (YSFSDR>76)&(YSFSDR<78) S YSTDRU=43
I (YSFSDR>75)&(YSFSDR<76) S YSTDRU=42
I (YSFSDR>72)&(YSFSDR<75) S YSTDRU=41
I (YSFSDR>70)&(YSFSDR<72) S YSTDRU=40
I (YSFSDR>69)&(YSFSDR<70) S YSTDRU=39
I YSFSDR<69 S YSTDRU=35
;
S YSDATA(3)="DRUG^"_$J(YSFSDR-.0000001,6,2)_U_YSTDRU
;
D ^YSASFS1 ;NEXT FACTORS