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

60 lines
1.9 KiB
Mathematica

YSASES ;ALB/ASF-ASI SIGNER ;3/19/97 16:47
;;5.01;MENTAL HEALTH;**24**;Dec 30, 1994
MAIN ;
N YSASC,YSASCL,YSASDT,YSASFLD,YSASG,YSASNUM,YSASPT,YSASTRN,YSASX,YSL,YSOK
I '$D(^YSTX(604,"A.81."_DUZ)) W !,"There are no completed ASIs for you to sign or incomplete ASIs",!,"for you to finish.",*7 H 2 Q
K ^TMP($J,"YSASI")
D TLD,TLP
W !
K DIR S DIR(0)="NA^1:"_YSASC_":0",DIR("A")="Select ASI number: (1:"_YSASC_") " D ^DIR K DIR
Q:$D(DIRUT)
S YSASSIEN=+^TMP($J,"YSASI",Y),YSOK=$P(^(Y),U,6)
S YSASPIEN=$$GET1^DIQ(604,YSASSIEN_",",.02,"I")
D ACTION
G MAIN
Q
ACTION ;
K DIR S DIR(0)=$S(YSOK:"SB^V:View;S:Sign;Q:Quit",1:"SB^V:View;E:Edit;Q:Quit"),DIR("A")="Action",DIR("B")="Q"
D ^DIR K DIR
I Y="V" D EN1^YSASPRT(YSASSIEN) K DIRUT Q
I Y="S" D EN^YSASSN(YSASSIEN) Q
I Y="E" D MAIN^YSASA2(YSASPIEN,YSASSIEN)
Q
TLD ;load ASI SIGNING list
K ^TMP($J,"YSASI")
S YSASIEN=0,YSASC=0
F S YSASIEN=$O(^YSTX(604,"A.81."_DUZ,YSASIEN)) Q:YSASIEN'>0 D
. S YSASC=YSASC+1
. S YSASCL=$$GET1^DIQ(604,YSASIEN_",",.04)
. S YSASDT=$$GET1^DIQ(604,YSASIEN_",",.05)
. S YSASTRN=$$GET1^DIQ(604,YSASIEN_",",.14)
. S YSASPT=$$GET1^DIQ(604,YSASIEN_",",.02)
. D CHECKALL^YSASO2(+YSASIEN,.YSOK)
. S ^TMP($J,"YSASI",YSASC)=YSASIEN_U_YSASDT_U_YSASPT_U_YSASCL_U_YSASTRN_U_YSOK
;
Q
TLP ; print list
Q:'$D(^TMP($J,"YSASI"))
S YSL="",$P(YSL,"_",75)=""
W @IOF
W @IOF,"Addiction Severity Index Sign Off Utility",!?7,"*=incomplete x=some questions X or N",!
W ?8,"Date",?19,"Patient",?51,"Entered by",!,YSL,!
S YSASNUM=0
F S YSASNUM=$O(^TMP($J,"YSASI",YSASNUM)) Q:YSASNUM'>0 D Q:$D(DIRUT)
. S YSASG=^TMP($J,"YSASI",YSASNUM)
. W !,$J(YSASNUM,3),$S($P(YSASG,U,6)=1:" ",$P(YSASG,U,6)=2:"x ",1:"* ")
. W $P(YSASG,U,2)
. W ?19,$P(YSASG,U,3)
. W ?51,$P(YSASG,U,5)
. D:$Y+4>IOSL WAIT
Q
;
WAIT ;
F I0=1:1:IOSL-$Y-2 W !
N DTOUT,DUOUT,DIRUT
I IOST?1"C".E W $C(7) K DIR S DIR(0)="E" D ^DIR K DIR
Q:$D(DIRUT)
W @IOF
W ?8,"Date",?19,"Patient",?51,"Entered by",!,YSL,!
Q