1 | YSGAFAPI ;ALB/ASF- GAF API ;2/7/02 15:57
|
---|
2 | ;;5.01;MENTAL HEALTH;**53,71,82**;Dec 30, 1994;Build 3
|
---|
3 | GAFHX(YSDATA,YS) ;
|
---|
4 | N YSBEG,YSEND,YSLIMIT
|
---|
5 | K YSDATA
|
---|
6 | D PARSE(.YS)
|
---|
7 | I DFN'>0 S YSDATA(1)="[ERROR]",YSDATA(2)="No dfn" Q
|
---|
8 | S YSDATA(1)="[DATA]"
|
---|
9 | S N=1
|
---|
10 | D HXLP
|
---|
11 | Q
|
---|
12 | PARSE(YS) ; -- array parsing
|
---|
13 | N X,Y,%DT
|
---|
14 | S DFN=$G(YS("DFN"),0)
|
---|
15 | S YSBEG=$G(YS("BEGIN"),"01/01/1970") S X=YSBEG D ^%DT S YSBEG=Y
|
---|
16 | S YSEND=$G(YS("END"),"01/01/2500") S X=YSEND D ^%DT S YSEND=Y
|
---|
17 | S YSLIMIT=$G(YS("LIMIT"),9999)
|
---|
18 | Q
|
---|
19 | HXLP ;
|
---|
20 | N YSJJ,YSDD,X,Y,YSX,YSN
|
---|
21 | S YSDD=9999999-YSEND-.00001
|
---|
22 | F YSJJ=1:1:YSLIMIT S YSDD=$O(^YSD(627.8,"AX5",DFN,YSDD)) Q:YSDD'>0!(YSDD>(9999999-YSBEG)) D
|
---|
23 | . S YSN=0 F S YSN=$O(^YSD(627.8,"AX5",DFN,YSDD,YSN)) Q:YSN'>0 D
|
---|
24 | .. S YSX=$P($G(^YSD(627.8,YSN,60)),U,3)
|
---|
25 | .. S Y=$P($G(^YSD(627.8,YSN,0)),U,3)
|
---|
26 | .. S YSX=Y_U_$$FMTE^XLFDT(Y,"5TZ")_"^GAF^GAF^"_YSX
|
---|
27 | .. S YSX=YSX_U_YSN_U_$$EXTERNAL^DILFD(627.8,.04,"",$P($G(^YSD(627.8,YSN,0)),U,4)) ;ASF 2/7/02
|
---|
28 | .. S YSX=YSX_U_$G(^YSD(627.8,YSN,80,1,0))
|
---|
29 | .. D SET(YSX)
|
---|
30 | Q
|
---|
31 | SET(X) ;
|
---|
32 | S N=N+1
|
---|
33 | S YSDATA(N)=X
|
---|
34 | Q
|
---|