1 | WVFMAN ;HCIOFO/FT,JR IHS/ANMC/MWR - FILEMAN CALLS
|
---|
2 | ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998
|
---|
3 | ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
---|
4 | ;; CALLS TO FILEMAN WITH PRE- AND POST-CALL VARIABLE SETTING.
|
---|
5 | ;
|
---|
6 | ;
|
---|
7 | DIC(DIC,DIC0,Y,DICA,DICB,DICS,X,WVPOP,DICW) ;EP
|
---|
8 | ;---> CALL TO ^DIC
|
---|
9 | ;---> PARAMETERS:
|
---|
10 | ; 1 - DIC=DIC (REQUIRED)
|
---|
11 | ; 2 - DIC0=DIC(0) (REQUIRED)
|
---|
12 | ; 3 - Y (RETURNED) FROM CALL TO ^DIC
|
---|
13 | ; 4 - DICA=DIC("A") (OPTIONAL) PROMPT
|
---|
14 | ; 5 - DICB=DIC("B") (OPTIONAL) DEFAULT
|
---|
15 | ; 6 - DICS=DIC("S") (OPTIONAL) SCREEN
|
---|
16 | ; 7 - X (OPTIONAL) IF DIC(0)'["A"
|
---|
17 | ; 8 - WVPOP (OPTIONAL) WVPOP=1 IF DTOUT OR DUOUT
|
---|
18 | ; 9 - DICW=DIC("W") (OPTIONAL)
|
---|
19 | ;
|
---|
20 | ;---> EXAMPLE: D DIC^WVFMAN(790,"QEMAL",.Y," Select PATIENT: ")
|
---|
21 | ;
|
---|
22 | I $G(DIC)']""!($G(DIC0)']"") S WVPOP=1 Q
|
---|
23 | S WVPOP=0 S:DIC DLAYGO=$P(DIC,".")
|
---|
24 | S DIC(0)=DIC0
|
---|
25 | S:$G(DICA)]"" DIC("A")=DICA
|
---|
26 | S:$G(DICB)]"" DIC("B")=DICB
|
---|
27 | S:$G(DICS)]"" DIC("S")=DICS
|
---|
28 | S:$G(DICW)]"" DIC("W")=DICW
|
---|
29 | D ^DIC
|
---|
30 | S:($D(DTOUT))!($D(DUOUT)) WVPOP=1
|
---|
31 | D DKILLS
|
---|
32 | Q
|
---|
33 | ;
|
---|
34 | DDS(DDSFILE,DR,DA,DDSPARM,DDSCHANG,WVPOP) ;EP
|
---|
35 | ;---> CALL TO ^DDS
|
---|
36 | ;---> NOTE: SCREENMAN AUTOMATICALLY USES INCREMENTAL LOCKS.
|
---|
37 | ;---> PARAMETERS:
|
---|
38 | ; 1 - DDSFILE=FILE# (REQUIRED)
|
---|
39 | ; 2 - DR=FORM (REQUIRED)
|
---|
40 | ; 3 - DA=RECORD (REQUIRED)
|
---|
41 | ; 4 - DDSPARM (C/E) (OPTIONAL) C=REGISTER CHANGE IN DDSCHANG
|
---|
42 | ; 5 - DDSCHANG (RETURNED) DDSCHANG=1 IF CHANGE TO DATABASE
|
---|
43 | ; 6 - WVPOP (RETURNED) FAIL/QUIT/TIMEOUT
|
---|
44 | ;
|
---|
45 | ;---> EXAMPLES:
|
---|
46 | ; D DDS^WVFMAN(790.02,"[WV SITE PARAMS-FORM-1]",+Y)
|
---|
47 | ; D DDS^WVFMAN(790.1,"[WV PROC-FORM-LAB]",DA,"C",.WVCHG,.WVPOP)
|
---|
48 | ;
|
---|
49 | N WVDA S WVDA=DA,WVPOP=0
|
---|
50 | I DDSFILE S DDSFILE=^DIC(DDSFILE,0,"GL")
|
---|
51 | L +@(DDSFILE_WVDA_")"):5 I '$T S WVPOP=1 D LOCKED^WVUTL3 Q
|
---|
52 | K ^TMP("DDS",$J)
|
---|
53 | D:'$D(IOST(0)) HOME^%ZIS D ENS^%ZISS
|
---|
54 | D ^DDS
|
---|
55 | S:$D(DTOUT) WVPOP=1
|
---|
56 | I $D(DIMSG)!($D(DIERR)) D S WVPOP=1
|
---|
57 | .W !?5,"* The Screen Manager could not edit this record."
|
---|
58 | .W !?7,"Please contact your Site Manager." D DIRZ^WVUTL3
|
---|
59 | L -@(DDSFILE_WVDA_")")
|
---|
60 | D DKILLS
|
---|
61 | Q
|
---|
62 | ;
|
---|
63 | DIE(DIE,DR,DA,WVPOP,Z) ;EP
|
---|
64 | ;---> CALL TO ^DIE
|
---|
65 | ;---> PARAMETERS:
|
---|
66 | ; 1 - DIE=DIE (REQUIRED)
|
---|
67 | ; 2 - DR=DR (REQUIRED)
|
---|
68 | ; 3 - DA=DA (REQUIRED)
|
---|
69 | ; 4 - WVPOP (RETURNED) WVPOP=1 INDICATES FAILURE/QUIT
|
---|
70 | ; 5 - Z (OPTIONAL) Z=1 IF USER SHOULD *NOT* BE NOTIFIED
|
---|
71 | ; RECORD WAS LOCKED.
|
---|
72 | ;
|
---|
73 | ;---> EXAMPLE: D DIE^WVFMAN(790,DR,+Y,.WVPOP)
|
---|
74 | ; (+Y FROM DIC CALL, DR COULD BE LITERAL IF SHORT.)
|
---|
75 | ;
|
---|
76 | N WVDA S WVDA=DA,WVPOP=0
|
---|
77 | I DIE S DIE=^DIC(DIE,0,"GL")
|
---|
78 | L +@(DIE_WVDA_")"):5 I '$T S WVPOP=1 D:'$G(Z) LOCKED^WVUTL3 Q
|
---|
79 | D ^DIE
|
---|
80 | I $D(DTOUT) S WVPOP=1
|
---|
81 | L -@(DIE_WVDA_")")
|
---|
82 | D DKILLS
|
---|
83 | Q
|
---|
84 | ;
|
---|
85 | FILE(DIC,DICDR,DIC0,X,DLAYGO,Y) ; EP - CALL FILE^DICN
|
---|
86 | K DD,DO
|
---|
87 | I DIC S DIC=^DIC(DIC,0,"GL")
|
---|
88 | S:$G(DICDR)]"" DIC("DR")=DICDR S DIC(0)=DIC0
|
---|
89 | D FILE^DICN
|
---|
90 | D DKILLS
|
---|
91 | Q
|
---|
92 | ;
|
---|
93 | DIK ; EP - CALL ^DIK
|
---|
94 | D ^DIK
|
---|
95 | D DKILLS
|
---|
96 | Q
|
---|
97 | ;
|
---|
98 | DIQ ; EP - CALL ^DIQ
|
---|
99 | D EN^DIQ
|
---|
100 | D DKILLS
|
---|
101 | Q
|
---|
102 | ;
|
---|
103 | DIQ1 ; EP - CALL ^DIQ1
|
---|
104 | D EN^DIQ1
|
---|
105 | D DKILLS
|
---|
106 | Q
|
---|
107 | ;
|
---|
108 | DKILLS ;EP
|
---|
109 | K D,D0,D1,DA,DD,DDH,DI,DIADD,DIC,DIC1,DICR,DIE,DIG,DIH,DIK,DILC
|
---|
110 | K DINUM,DIRUT,DIQ,DIQ2,DIR,DIU,DIW,DIWF,DIWL,DIWR,DIWT,DK,DL
|
---|
111 | K DLAYGO,DN,DQ,DR,DTOUT,DUOUT,DX
|
---|
112 | Q
|
---|