1 | WVREFUSE ;HCIOFO/JWR - Add/Enter/Manipulate procedure refusals ;12/9/98 15:56
|
---|
2 | ;;1.0;WOMEN'S HEALTH;**3**;Sep 30, 1998
|
---|
3 | EDREF ;EDIT AN EXISTING REFUSAL
|
---|
4 | D EXIT,SETVARS^WVUTL5
|
---|
5 | D TITLE^WVUTL5("EDIT A REFUSED TREATMENT") W !!
|
---|
6 | K DIC S DIC("A")=" Select DATE REFUSED: ",WVPOP=0
|
---|
7 | S DIC="^WV(790.3,",DIC(0)="QEMALZ" D ^DIC
|
---|
8 | I Y'>0!($D(DUOUT))!($D(DTOUT)) D EXIT Q
|
---|
9 | S WVDFN=$P($G(^WV(790.3,+Y,0)),U,2),DIDEL=790.3
|
---|
10 | D DDS^WVFMAN(790.3,"[WV REFUSED PROCEDURE-ENTRY]",+Y)
|
---|
11 | G EDREF
|
---|
12 | Q
|
---|
13 | ADDREF ;ADD A NEW REFUSAL (not used now, use UNIV for adding a refusal)
|
---|
14 | D SETVARS^WVUTL5
|
---|
15 | D TITLE^WVUTL5("ADD A REFUSED PROCEDURE")
|
---|
16 | K DIR S DIR("A")=" Select DATE REFUSED: ",WVDFN=""
|
---|
17 | S DIR(0)="DAO",DIR("B")="TODAY"
|
---|
18 | D ^DIR K DIR I Y'>0 D EXIT Q
|
---|
19 | S DIC("DR")="1;2"
|
---|
20 | S DIC="^WV(790.3,",DIC(0)="QEMAL",X=Y
|
---|
21 | K DD,DO D FILE^DICN
|
---|
22 | Q:Y'>0
|
---|
23 | S WVDFN=$P($G(^WV(790.3,+Y,0)),U,2)
|
---|
24 | D DDS^WVFMAN(790.3,"[WV REFUSED PROCEDURE-ENTRY]",+Y)
|
---|
25 | D EXIT Q
|
---|
26 | CHECK ;Checks for existing refusals for this patient within 30 day period
|
---|
27 | ; for this procedure.
|
---|
28 | Q:'$D(^WV(790.3,"C",WVDFN))
|
---|
29 | N A,B,C,D,E,F K WVJR,WVJR1,DR,DIC,DA
|
---|
30 | S X1=DT,X2=-30 D C^%DTC S A=X
|
---|
31 | S X1=DT,X2=+30 D C^%DTC S B=X
|
---|
32 | S G=0 F S G=$O(^WV(790.3,"C",WVDFN,G)) Q:G'>0 S H=$G(^WV(790.3,G,0)) D
|
---|
33 | .Q:$P(H,U)'>A!($P(H,U))'<B
|
---|
34 | .Q:$P(H,U,3)'=WVJPR
|
---|
35 | .S E=$P(H,U,3),D=$P(H,U)
|
---|
36 | .S E=$S(E>0:$P($G(^WV(790.2,E,0)),U),1:"")
|
---|
37 | .S Y=D D DD^%DT S F=Y
|
---|
38 | .S WVJR(D,G)=F_" "_E
|
---|
39 | S C=1,A=0 F S A=$O(WVJR(A)) Q:A'>0 S B=0 F S B=$O(WVJR(A,B)) Q:B'>0 D
|
---|
40 | .S WVJR1(C)=B_"^"_WVJR(A,B),C=C+1
|
---|
41 | S WVC=C-1 I $D(WVJR1) D
|
---|
42 | .W !!,"The following Entries for this patient and procedure already exist in the"
|
---|
43 | .W !,"Procedure Refusal file.",!
|
---|
44 | .D LOOP W !!
|
---|
45 | .K DIR S DIR("A")="Is this a NEW Refusal? ",DIR(0)="YAO"
|
---|
46 | .S DIR("B")="Yes" D ^DIR K DIR Q:Y=1!($D(DIRUT))
|
---|
47 | .S DIR("A")="Select a Number to edit a refusal from the list. "
|
---|
48 | .S DIR(0)="NAO^1:"_WVC
|
---|
49 | .D ^DIR K DIR S WVEDREF=$S(+Y>0:+Y,1:"NS") Q:Y'>0
|
---|
50 | Q
|
---|
51 | UNIV ;Add new Refusal & check other recent (within 30 days) Refusals
|
---|
52 | D SETVARS^WVUTL5
|
---|
53 | D TITLE^WVUTL5("ADD/EDIT A REFUSED TREATMENT")
|
---|
54 | W !! K DIC S DIC("A")=" Select PATIENT: "
|
---|
55 | S DIC(0)="AEMQZ",DIC="^WV(790,",DIC("W")="D LOOKL^WVUTL1A(+Y)"
|
---|
56 | D ^DIC K DIC I Y'>0 D EXIT Q
|
---|
57 | S WVDFN=+Y
|
---|
58 | S DIR("A")=" DATE REFUSED: "
|
---|
59 | S DIR(0)="DAO"
|
---|
60 | D ^DIR K DIR I Y'>0 D EXIT Q
|
---|
61 | S WVJDAY=+Y
|
---|
62 | S DIR(0)="PAO^790.2:AEMNQZ",DIR("A")=" PROCEDURE: "
|
---|
63 | D ^DIR K DIR I Y'>0 D EXIT Q
|
---|
64 | S WVJPR=+Y
|
---|
65 | K WVEDREF D CHECK I $D(DIRUT) K DIRUT D EXIT G UNIV
|
---|
66 | I $G(WVEDREF)>0 D G UNIV
|
---|
67 | .S DIDEL=790.3
|
---|
68 | .D DDS^WVFMAN(790.3,"[WV REFUSED PROCEDURE-ENTRY]",+WVJR1(WVEDREF))
|
---|
69 | I $G(WVEDREF)="NS" D EXIT G UNIV
|
---|
70 | L +^WV(790.3)
|
---|
71 | S DIC="^WV(790.3,",DIC(0)="QEMAL",X=WVJDAY
|
---|
72 | S DIC("DR")="1////^S X=WVDFN;2////^S X=WVJPR"
|
---|
73 | K DD,DO D FILE^DICN
|
---|
74 | L -^WV(790.3)
|
---|
75 | Q:Y'>0
|
---|
76 | S WVDFN=$P($G(^WV(790.3,+Y,0)),U,2)
|
---|
77 | D DDS^WVFMAN(790.3,"[WV REFUSED PROCEDURE-ENTRY]",+Y)
|
---|
78 | G UNIV
|
---|
79 | Q
|
---|
80 | EXIT ;kill variables
|
---|
81 | D KILLALL^WVUTL8 K WVEDREF,WVJPR,WVJDAY
|
---|
82 | Q
|
---|
83 | LOOP ;Loop though the array of refuals for this patient & write them out
|
---|
84 | S D=0 F S D=$O(WVJR1(D)) Q:D'>0 D
|
---|
85 | .W !,$J(D,6),". ",$P($G(WVJR1(D)),U,2)
|
---|
86 | Q
|
---|