VistA-WorldVistAEHR/r/MEDICINE-MC/MCARDNJ1.m

57 lines
3.5 KiB
Mathematica

MCARDNJ1 ;WISC/TJK,JA-INSERT AND LOOK UP ;7/22/96 11:10
;;2.3;Medicine;;09/13/1996
G T1:'$D(DJDN) S DJXX=X,D="" G:DJ4["P" P G:X["^" ER S (DJDIC,DIE)=DIC,DA=DJDN S DR=DJ3_"///"_$S(X["/"!(X[";"):"^S X=DJXX",1:X) X DJCP W ! D ^DIE S DIC=DJDIC D KILL I $D(Y) S DJY=Y G Q1
I DJ4["D" S (DJXX,Y)=X X ^DD("DD") S X=Y
I DJ4["S" K:DJ4'["*" DIC("S") S DJX=$P(DJ0,U,3),DJXX=X F DJK=1:1 I X=$P($P(DJX,";",DJK),":",1) S X=$P($P(DJX,";",DJK),":",2) Q
I '$D(DJY) S V(V)=$E(X,1,+DJJ(V))
I D O S @$P(DJJ(V),U,2) X XY W DJHIN X XY W V(V),DJLIN S:DJ4["D"!(DJ4["S") X=DJXX X DJCP S YMLH=$O(^MCAR(697.3,DJN,1,"A",V,0)) S:YMLH="" YMLH=-1 X:$D(^MCAR(697.3,DJN,1,YMLH,1)) ^(1) G NXT^MCARDNJ
P I DJ4["P" D P^MCARDNQ S @$P(DJJ(V),U,2) X XY G NXT^MCARDNJ:$D(Y)=0,TK^MCARDNJ
S V(V)=$S(X="@":"",1:X) D O X DJCP S YMLH=$O(^MCAR(697.3,DJN,1,"A",V,0)) S:YMLH="" YMLH=-1 I $D(^MCAR(697.3,DJN,1,YMLH,1)) X DJCP S:DJ4["D" X=DJXX X ^(1) S @$P(DJJ(V),U,2) X XY
G:DJAT=.01&(V(V)="") Q^MCARDNJ G T4^MCARDNJ
Q1 S:'$D(X) X=DJXX D ^MCARDNQ G TK^MCARDNJ
T1 S YMLH=$O(^MCAR(697.3,DJN,1,"A",V,0)) S:YMLH="" YMLH=-1 I $D(^MCAR(697.3,DJN,1,YMLH,1)) X DJCP X ^(1) S @$P(DJJ(V),U,2) X XY
G:DJAT=.01&($D(DJDN)=0) K1
G:DJAT=.01&(DJP) K1
I V(V)'="",X="" G NXT^MCARDNJ
I V(V)'="" S @$P(DJJ(V),U,2) X XY W DJHIN X XY W V(V),DJLIN G NXT^MCARDNJ
I V(V)="" D G NXT^MCARDNJ
.S @$P(DJJ(V),U,2) X XY W DJLIN S $P(DJDB,".",DJJ(V))="."
.;S $X=DX
.W DJDB K DJDB
G LH^MCARDNJ
K1 G NXT^MCARDNJ:X=""&($D(DJDN)),LST^MCARDNJ:X=""&('$D(DJDN)) I $D(DJST),DJST=1 K ^TMP($J,"DJST"),DJST
D DCS^MCARDNQ
S:X'=" " DIC(0)="LMEQZ" S:X=" " DIC(0)="Z" X DJCP W X S:$D(DJDICS) DIC("S")=DJDICS D ^MCARDC,N^MCARDNJ2 K DIC("S"),DIC("V") S DIC(0)="LMEQZ"
I $Y>22 R !,"Press <RETURN> to Continue",X:DTIME S DJSV=V,DJFF=0,MCASS=1 D N^MCARDPL S V=DJSV
I Y<0 S @$P(DJJ(V),U,2),X="" X XY G TK^MCARDNJ
S (X,V(V))=$P(Y(0),U,1),(DA,W(V))=+Y,DJDNM=V(V) S:'$D(DJST) DJST=1,D0=DA I DJST=1 G LOCK
C S:'DJP DJDN=+Y K Y,DJLK D ^MCARD1 X XY G NXT^MCARDNJ
ER K X W *7 G Q1
WP ;PRINT WORD PROCESSOR FIELD
S DJDIC=DIC_DA_","_+$P(DJ0,"^",4)_"," S DJXX=X Q:'$D(@(DJDIC_"0)")) S DJZ1=0,DJX=0,DIWL=1,DIWR=79,DIWF="" K ^UTILITY($J,"W")
F DJK=1:1 S DJZ1=$O(@(DJDIC_DJZ1_")")) Q:DJZ1'?1N.N S X=^(DJZ1,0) D ^DIWP X DJCP
D ^DIWW
S DJZ1=0 F DJK=1:1 S DJZ1=$O(^UTILITY($J,"W",DIWL,DJZ1)) Q:DJZ1="" D:$Y>21 CONT Q:DJX[U W !,^(DJZ1,0)
D CONT K DJZ1,DJK,^UTILITY($J,"W",DIWL),DIWL,DIWR,DIWF S X=DJXX Q:DJX'[U
Q
CONT W !,"Press <RETURN> to Continue, '^' to Quit: " R DJX:DTIME X DJCP W ! Q
R X DJCL W "Press <RETURN> to Continue" R DJX:DTIME Q
EN ;COMPUTE AND DISPLAY
S @$P(DJJ(DJVV),U,2) X XY S $P(DJDB," ",+DJJ(DJVV))=" " W DJDB X XY W DJHIN X XY S DJDB(1)=$P($P(DJJ(DJVV),U,4),"J",2),DJDB(2)=$P(DJDB(1),",",2),DJDB(1)=+DJDB(1)
I V(DJVV)'="" W V(DJVV) ;W $J(V(DJVV),DJDB(1),+DJDB(2)),DJLIN K DJDB
W DJLIN K DJDB
Q
LOCK ;LOCK GLOBAL THAN IS BEING ACCESSED BY ANOTHER USER
L @(DIC_+Y_"):1") S DJLK=$T G:DJLK'=0 C I DJLK=0 X XY K DJLK X DJCL W "THIS ENTRY IS BEING EDITED BY ANOTHER USER. TRY LATER.",*7 G TK^MCARDNJ
KILL K DB,DC,DG,DH,DE,DI,DK,DL,DM,DP,DW,DR Q
EN2 X DJCP W !!,"THIS IS NOT THE FIRST SCREEN",*7 R !,"Press <RETURN> to Continue",X:DTIME S X="^" Q
O ;EX OUTPUT TRANSFROM
I $D(^DD(DJDD,DJAT,2)) S Y=X X ^(2) S (V(V),X)=Y
Q
EN3 ;ERROR ON DIE
G:'$D(Y) E X DJCP W !,"You have a bad default variable, please check with your",!,"Data Base administrator",*7
S @$P(DJJ(V),U,2),$P(DJDB,".",DJJ(V))="." X XY W DJHIN X XY
;S $X=DX
W DJDB,DJLIN K DJDB X XY S V(V)="" Q
E S DJDB="" S:(DJJ(V)-$L(V(V))) $P(DJDB," ",DJJ(V)-$L(V(V)))=" " X XY W DJHIN X XY W V(V),DJDB,DJLIN K DJDB Q