1 | DGPFDIV1 ;ALB/KCL - PRF ENABLE MEDICAL CENTER DIVISIONS CONT.; 5/07/05 ; 8/25/05 4:12pm
|
---|
2 | ;;5.3;Registration;**650**;Aug 13, 1993;Build 3
|
---|
3 | ;
|
---|
4 | ;No direct entry
|
---|
5 | QUIT
|
---|
6 | ;
|
---|
7 | LOCK(DGIEN) ;lock MEDICAL CENTER DIVISION record
|
---|
8 | ;This lock function is used to prevent another process from editing
|
---|
9 | ;a record in the MEDICAL CENTER DIVISION (#40.8) file.
|
---|
10 | ;
|
---|
11 | ; Input:
|
---|
12 | ; DGIEN - (required) IEN for MEDICAL CENTER DIVISION (#40.8) file
|
---|
13 | ;
|
---|
14 | ; Output:
|
---|
15 | ; Function value - returns 1 on success, 0 on failure
|
---|
16 | ;
|
---|
17 | I $G(DGIEN) L +^DG(40.8,DGIEN):10
|
---|
18 | ;
|
---|
19 | Q $T
|
---|
20 | ;
|
---|
21 | UNLOCK(DGIEN) ;unlock MEDICAL CENTER DIVISION record
|
---|
22 | ;This procedure is used to release a lock created by $$LOCK.
|
---|
23 | ;
|
---|
24 | ; Input:
|
---|
25 | ; DGIEN - (required) IEN for MEDICAL CENTER DIVISION (#40.8) file
|
---|
26 | ;
|
---|
27 | ; Output: none
|
---|
28 | ;
|
---|
29 | I $G(DGIEN) L -^DG(40.8,DGIEN)
|
---|
30 | ;
|
---|
31 | Q
|
---|
32 | ;
|
---|
33 | GETDIV(DGIEN,DGDIV) ;retrieve PRF MEDICAL CENTER DIVISION object
|
---|
34 | ;This function is used to retrieve the data fields related to the
|
---|
35 | ;PRF Ownership Indicator from the MEDICAL CENTER DIVISION (#40.8) file
|
---|
36 | ;and place them in a local array.
|
---|
37 | ;
|
---|
38 | ; Input:
|
---|
39 | ; DGIEN - (required) ien for MEDICAL CENTER DIVISION (#40.8) file
|
---|
40 | ;
|
---|
41 | ; Output:
|
---|
42 | ; Function value - returns 1 on success, 0 on failure
|
---|
43 | ; DGDIV - local array of MEDICAL CENTER DIVISION data fields (passed
|
---|
44 | ; by reference)
|
---|
45 | ; Subscript Field#
|
---|
46 | ; ---------- ------
|
---|
47 | ; "NAME" .01
|
---|
48 | ; "INST" .07
|
---|
49 | ; "IND" 26.01
|
---|
50 | ; "EDITDT" 26.02
|
---|
51 | ; "EDITBY" 26.03
|
---|
52 | ;
|
---|
53 | N DGIENS ;ien string
|
---|
54 | N DGFLDS ;target root
|
---|
55 | N DGERR ;error root
|
---|
56 | N DGRSLT ;function result
|
---|
57 | ;
|
---|
58 | K DGDIV S DGDIV=""
|
---|
59 | S DGRSLT=0
|
---|
60 | ;
|
---|
61 | I $G(DGIEN)>0,$D(^DG(40.8,DGIEN)) D
|
---|
62 | . S DGIENS=DGIEN_","
|
---|
63 | . D GETS^DIQ(40.8,DGIENS,".01;.07;26.01;26.02;26.03","IE","DGFLDS","DGERR")
|
---|
64 | . Q:$D(DGERR)
|
---|
65 | . ;
|
---|
66 | . S DGDIV("NAME")=$G(DGFLDS(40.8,DGIENS,.01,"I"))_U_$G(DGFLDS(40.8,DGIENS,.01,"E"))
|
---|
67 | . S DGDIV("INST")=$G(DGFLDS(40.8,DGIENS,.07,"I"))_U_$G(DGFLDS(40.8,DGIENS,.07,"E"))
|
---|
68 | . S DGDIV("IND")=$G(DGFLDS(40.8,DGIENS,26.01,"I"))_U_$G(DGFLDS(40.8,DGIENS,26.01,"E"))
|
---|
69 | . S DGDIV("EDITDT")=$G(DGFLDS(40.8,DGIENS,26.02,"I"))_U_$G(DGFLDS(40.8,DGIENS,26.02,"E"))
|
---|
70 | . S DGDIV("EDITBY")=$G(DGFLDS(40.8,DGIENS,26.03,"I"))_U_$G(DGFLDS(40.8,DGIENS,26.03,"E"))
|
---|
71 | . ;
|
---|
72 | . ;success
|
---|
73 | . S DGRSLT=1
|
---|
74 | ;
|
---|
75 | Q DGRSLT
|
---|
76 | ;
|
---|
77 | STODIV(DGIEN,DGIND) ;store PRF MEDICAL CENTER DIVISION object
|
---|
78 | ;This function is used to store the data fields related to the
|
---|
79 | ;PRF Ownership Indicator into the MEDICAL CENTER DIVISION (#40.8) file.
|
---|
80 | ;
|
---|
81 | ; Input:
|
---|
82 | ; DGIEN - (required) ien for MEDICAL CENTER DIVISION (#40.8) file
|
---|
83 | ; DGIND - (required) PRF Ownership Indicator [1=enable, 0=disable]
|
---|
84 | ;
|
---|
85 | ; Output:
|
---|
86 | ; Function value - returns 1 on success, 0 on failure
|
---|
87 | ;
|
---|
88 | ;
|
---|
89 | N DGERR ;error root
|
---|
90 | N DGFDA ;fda array
|
---|
91 | N DGRSLT ;function result
|
---|
92 | ;
|
---|
93 | S DGRSLT=0
|
---|
94 | ;
|
---|
95 | I $G(DGIEN)>0,$D(^DG(40.8,DGIEN)) D
|
---|
96 | . ;
|
---|
97 | . ;quit if can't convert internal value to external
|
---|
98 | . Q:$$EXTERNAL^DILFD(40.8,26.01,"",DGIND)']""
|
---|
99 | . ;
|
---|
100 | . ;file data
|
---|
101 | . S DGFDA(40.8,DGIEN_",",26.01)=DGIND ;indicator
|
---|
102 | . S DGFDA(40.8,DGIEN_",",26.02)=$$NOW^XLFDT() ;current date/time
|
---|
103 | . S DGFDA(40.8,DGIEN_",",26.03)=DUZ ;user
|
---|
104 | . D FILE^DIE("","DGFDA","DGERR")
|
---|
105 | . Q:$D(DGERR)
|
---|
106 | . ;
|
---|
107 | . ;success
|
---|
108 | . S DGRSLT=1
|
---|
109 | ;
|
---|
110 | Q DGRSLT
|
---|
111 | ;
|
---|
112 | VIEW ;view medical center divisions
|
---|
113 | ;This procedure is used to view all medical center divisions within the
|
---|
114 | ;Medical Center Division (#40.8) file and whether or not they have been
|
---|
115 | ;enabled for PRF assignment ownership.
|
---|
116 | ;
|
---|
117 | ; Input: none
|
---|
118 | ; Output: none
|
---|
119 | ;
|
---|
120 | N DGEXIT ;exit var
|
---|
121 | N DGIEN ;file (#40.8) ien
|
---|
122 | N DGINST ;ptr to INSTITUTION file
|
---|
123 | N DGLINE ;display line
|
---|
124 | N DGOBJ ;med center division object array
|
---|
125 | N DGSUB ;loop subscript
|
---|
126 | ;
|
---|
127 | S $P(DGLINE,"_",66)=""
|
---|
128 | W @IOF
|
---|
129 | ;
|
---|
130 | F DGIEN=0:0 S DGIEN=$O(^DG(40.8,DGIEN)) D Q:'DGIEN!($G(DGEXIT))
|
---|
131 | . K DGOBJ
|
---|
132 | . I $$GETDIV(DGIEN,.DGOBJ) D
|
---|
133 | . . F DGSUB="NAME","IND","EDITBY","EDITDT" D
|
---|
134 | . . . I $P(DGOBJ(DGSUB),U,2)']"" S $P(DGOBJ(DGSUB),U,2)="n/a"
|
---|
135 | . . ;
|
---|
136 | . . S:$P(DGOBJ("IND"),U,2)="n/a" $P(DGOBJ("IND"),U,2)="DISABLED (default)"
|
---|
137 | . . S DGINST=+$P($G(^DG(40.8,DGIEN,0)),U,7)
|
---|
138 | . . S DGOBJ("ACTIVE")=$S($D(^DGPF(26.13,"AOWN",DGINST,1)):"YES",1:"NO")
|
---|
139 | . . ;
|
---|
140 | . . W !," Medical Center Division: ",$P(DGOBJ("NAME"),U,2)
|
---|
141 | . . W !," PRF Assignment Ownership: ",$P(DGOBJ("IND"),U,2)
|
---|
142 | . . W !," Edited By: ",$P(DGOBJ("EDITBY"),U,2)
|
---|
143 | . . W !," Edit Date/Time: ",$P(DGOBJ("EDITDT"),U,2)
|
---|
144 | . . W !," Active PRF Assignments: ",DGOBJ("ACTIVE")
|
---|
145 | . . W !,DGLINE,!
|
---|
146 | . . I $Y>(IOSL-5) S DGEXIT='$$CONTINUE^DGPFUT() W @IOF
|
---|
147 | ;
|
---|
148 | Q
|
---|