source: FOIAVistA/tag/r/PCE_PATIENT_CARE_ENCOUNTER-AUTN-EFDP-PX-VSIT--PXRM/PXBPSTP1.m@ 628

Last change on this file since 628 was 628, checked in by George Lilly, 14 years ago

initial load of FOIAVistA 6/30/08 version

File size: 2.7 KB
Line 
1PXBPSTP1 ;ISL/JVS - STOP CODE,ACTIVE,MULTIPLE ADD/DELETE ;7/24/96 08:24
2 ;;1.0;PCE PATIENT CARE ENCOUNTER;;Aug 12, 1996
3 ;
4 ;
5 ;
6ACTIVE(REQI,REQE) ;---Check to see if stop code is active on visit date
7 N STOPI,STOPE,VISIT,DR,DA,INACTIVE,OK
8 S NOT=0
9 S STOPI=$P(REQI,"^",10) ;--STOP CODE IEN IN STOP CODE FILE
10 S STOPE=$P(REQE,"^",10) ;--STOP CODE EXTERNAL VALUE
11 S VISIT=$P(IDATE,".",1) ;--VISIT DATE INTERNAL FORM
12 S DIC=40.7,DR=2,DA=STOPI,DIQ="INACTIVE",DIQ(0)="IN" D EN^DIQ1
13 I $D(INACTIVE),$G(INACTIVE(40.7,2,"I"))<VISIT S NOT=1
14 I $G(NOT) W !,IOEDEOP,IORVON,"--INACTIVE!-",STOPE," was INACTIVE on the date of this ENCOUNTER.",IORVOFF
15 Q NOT
16ADDM ;--------If Multiple STOP CODE entries have been entered.
17 ;
18 N OK,PXBLEN,BAD,BDATA
19 S NF=0,PXBLEN=0
20 I DATA'["," Q
21 I $P(DATA,",",1)'>0,$P(DATA,",",1)'<(PXBCNT+(1)) Q
22 I DATA[",",$E(DATA,1)'["@" S NF=1 D WAIT^DICD D
23 .S PXBLEN=$L(DATA,",") F PXI=1:1:PXBLEN S PXBPIECE=$P(DATA,",",PXI) D
24 ..S X=PXBPIECE,DIC=40.7,DIC(0)="IMZ" D ^DIC
25 ..I Y=-1 S BAD(+$G(PXBPIECE))="" Q
26 ..S $P(REQI,"^",10)=+Y
27 ..S PXBNSTP(PXBPIECE)=""
28 ..S PXBNSTP($P(Y,"^",2))=""
29 ..D STP^PXBSTOR1
30 ..D RSET^PXBDREQ("STP")
31 I $G(NF)&($D(BAD)) D Q
32 .S (BDATA,EDATA)="" F S BDATA=$O(BAD(BDATA)) Q:BDATA="" S EDATA=EDATA_BDATA_" "
33 .W ! D HELP^PXBUTL0("CPTM") W !
34 .S DIR(0)="E" D ^DIR K DIR,DIRUT
35 .S:Y=1 DATA="^S" S:Y=0!(Y="") DATA="^" K Y
36 I $G(NF)&('$D(BAD)) S DATA="^S" Q
37 ;
38 Q
39 ;
40DELM ;--------If Multiple deleting
41 I DATA'["@" Q
42 N DELM,PXBJ,BAD,PXBLEN,BDATA
43 S NF=0,PXBLEN=0 S $P(DELM,"^",3)=1
44 I $E(DATA,1)="@" S DATA=$P(DATA,"@",2),NF=1 D WAIT^DICD D
45 .S PXBLEN=$L(DATA,",") F PXI=1:1:PXBLEN S PXBPIECE=$P(DATA,",",PXI) D
46 ..I PXBPIECE'["-"&(PXBPIECE'>0!(PXBPIECE'<(PXBCNT+1))) S BAD(+$G(PXBPIECE))="" Q
47 ..I PXBPIECE'["-" D
48 ...I $D(GONE(PXBPIECE)) Q
49 ...Q:PXBPIECE'?.N
50 ...;S $P(REQI,"^",9)=$O(PXBSKY(PXBPIECE,0)) ;-IEN
51 ...S $P(REQI,"^",10)="@"
52 ...S $P(REQI,"^",11)=$O(PXBSKY(PXBPIECE,0))
53 ...S GONE(PXBPIECE)=""
54 ...D STP^PXBSTOR1
55 ..I PXBPIECE["-" D
56 ...I DATA'?.N1"-".N S BAD(PXBPIECE)="" Q
57 ...F PXBJ=$P(PXBPIECE,"-",1):1:$P(PXBPIECE,"-",2) D
58 ....I $D(GONE(PXBJ)) Q
59 ....I PXBJ'>0!(PXBJ'<(PXBCNT+1)) S BAD(PXBJ)="" Q
60 ....S $P(REQI,"^",10)="@"
61 ....S $P(REQI,"^",11)=$O(PXBSKY(PXBJ,0))
62 ....S GONE(PXBJ)=""
63 ....D STP^PXBSTOR1
64 K GONE
65 I $G(NF)&($D(BAD)) D Q
66 .S (BDATA,EDATA)="" F S BDATA=$O(BAD(BDATA)) Q:BDATA="" S EDATA=EDATA_BDATA_" "
67 .W ! D HELP^PXBUTL0("CPTMD") W !
68 .S DIR(0)="E" D ^DIR K DIR
69 .S:Y=1 DATA="^S" S:Y=0!(Y="") DATA="^" K Y
70 I $G(NF)&('$D(BAD)) S DATA="^S" Q
71 Q
72 ;
73PROMPT(PXBCNT) ;--DETERMINE WHERE PROMPT SHOULD START
74 ;
75 N START,DIFF
76 S START=$G(^TMP("PXBDSTP",$J,"START"))
77 S DIFF=PXBCNT-START
78 I DIFF<10 S LINE=DIFF+5
79 I DIFF>9 S LINE=15
80 Q LINE
81 ;
Note: See TracBrowser for help on using the repository browser.