1 | YTAPI3 ;ALB/ASF PSYCH TEST API ITEMS ;9/24/99 10:54
|
---|
2 | ;;5.01;MENTAL HEALTH;**53**;Dec 30, 1994
|
---|
3 | SHOWIT(YSDATA,YS) ;
|
---|
4 | ;returns item information
|
---|
5 | N YSSONE,S,R,N,YSET,N1,YSN2,N4,YSAA,I,II,DFN,YSCODE,YSADATE,YSSCALE,YSBED,YSEND
|
---|
6 | N IFN,R3,SFN1,SFN2,YSBEG,YSCK,YSDFN,YSED,YSIFN,YSINUM,YSITEM,YSN2,YSNODE,YSPRIV,YSQT,YSR,YSSTAFF,YSTYPE
|
---|
7 | K YSDATA
|
---|
8 | D PARSE^YTAPI(.YS)
|
---|
9 | ;#### MOVE TO YTAPI???
|
---|
10 | S YSITEM=$G(YS("ITEM"))
|
---|
11 | I '$D(^YTT(601,"B",YSCODE)) S YSDATA(1)="[ERROR]",YSDATA(2)="INCORRECT TEST CODE" Q
|
---|
12 | S YSET=$O(^YTT(601,"B",YSCODE,0))
|
---|
13 | I YSITEM'?1N.N!('$D(^YTT(601,YSET,"Q",YSITEM))) S YSDATA(1)="[ERROR]",YSDATA(2)="item number not correct" Q
|
---|
14 | S N=0
|
---|
15 | S YSDATA(1)="[DATA]"
|
---|
16 | S YSDATA(2)=YSCODE_U_$P($G(^YTT(601,YSET,"P")),U)_U_YSITEM
|
---|
17 | D MAIN
|
---|
18 | Q
|
---|
19 | SHOWALL(YSDATA,YS) ;
|
---|
20 | ;returns all item information for a specified test
|
---|
21 | N YSSONE,S,R,N,YSET,N1,YSN2,N4,YSAA,I,II,DFN,YSCODE,YSADATE,YSSCALE,YSBED,YSEND
|
---|
22 | N IFN,R3,SFN1,SFN2,YSBEG,YSCK,YSDFN,YSED,YSIFN,YSINUM,YSITEM,YSN2,YSNODE,YSPRIV,YSQT,YSR,YSSTAFF,YSTYPE
|
---|
23 | K YSDATA
|
---|
24 | D PARSE^YTAPI(.YS)
|
---|
25 | I '$D(^YTT(601,"B",YSCODE)) S YSDATA(1)="[ERROR]",YSDATA(2)="INCORRECT TEST CODE" Q
|
---|
26 | S YSET=$O(^YTT(601,"B",YSCODE,0))
|
---|
27 | S N=$O(^YTT(601,YSET,"Q",599))
|
---|
28 | I N>599 S YSDATA(1)="[ERROR]",YSDATA(2)="too many questions" Q
|
---|
29 | S N=0
|
---|
30 | S YSDATA(1)="[DATA]"
|
---|
31 | S YSDATA(2)=YSCODE_U_$P($G(^YTT(601,YSET,"P")),U)
|
---|
32 | ;Loop thru test for all items
|
---|
33 | S YSITEM=0
|
---|
34 | F S YSITEM=$O(^YTT(601,YSET,"Q",YSITEM)) Q:YSITEM'>0 D
|
---|
35 | . D MAIN
|
---|
36 | Q
|
---|
37 | MAIN ;
|
---|
38 | S YSNODE="I"
|
---|
39 | ;[INTRO]
|
---|
40 | D GETTEXT
|
---|
41 | S YSNODE="T"
|
---|
42 | ;[TEXT]
|
---|
43 | D GETTEXT
|
---|
44 | ;[BOTTOM]
|
---|
45 | D BTM
|
---|
46 | ;[RESPONSE]
|
---|
47 | D RESP
|
---|
48 | Q
|
---|
49 | GETTEXT ;pull text and intros
|
---|
50 | S N1=0 F S N1=$O(^YTT(601,YSET,"Q",YSITEM,YSNODE,N1)) Q:N1'>0 D
|
---|
51 | . S X=^YTT(601,YSET,"Q",YSITEM,YSNODE,N1,0)
|
---|
52 | . S YSDATA(YSITEM,YSNODE,N1)=X
|
---|
53 | Q
|
---|
54 | RESP ;get approp responses
|
---|
55 | S A="",N1=YSITEM+.1
|
---|
56 | F S N1=$O(^YTT(601,YSET,"Q",N1),-1) Q:N1'>0 S A=$P(^YTT(601,YSET,"Q",N1,0),U,2) Q:A'=""
|
---|
57 | I A="" S YSDATA(1)="[ERROR]",YSDATA(2)="no acceptable responses found" Q
|
---|
58 | S YSDATA(YSITEM,"R",0)=A
|
---|
59 | Q
|
---|
60 | BTM ; get bottom of text
|
---|
61 | S B="",N1=YSITEM+.1
|
---|
62 | F S N1=$O(^YTT(601,YSET,"Q",N1),-1) Q:N1'>0 S B=$G(^YTT(601,YSET,"Q",N1,"B")) Q:$D(^YTT(601,YSET,"Q",N1,"B"))
|
---|
63 | Q:B=""
|
---|
64 | S N1=0
|
---|
65 | F I=2:2 S X=$P(B,",",I) Q:X="" D
|
---|
66 | . S X=$E(X,2,$L(X)-1)
|
---|
67 | . S N1=N1+1,YSDATA(YSITEM,"R",N1)=X
|
---|
68 | Q
|
---|