1 | DGUTL3 ;ALB/MTC,CKN - ELIGIBILITY UTILITIES ; 10/4/05 12:22pm
|
---|
2 | ;;5.3;Registration;**114,506,653**;Aug 13, 1993;Build 2
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ELIG(DFN,SOURCE,DEFAULT) ;-- This function will prompt for the eligibility for a patient. If
|
---|
6 | ; only one eligibility then it will be returned without prompting.
|
---|
7 | ;
|
---|
8 | ; INPUT: DFN - Patient
|
---|
9 | ; SOURCE - (1:PTF,2:ADMISSION,3:TRANSFER)
|
---|
10 | ; DEFALUT - IEN from file 8.1
|
---|
11 | ; OUTPUT: IEN of file 8^Name
|
---|
12 | ;
|
---|
13 | ;
|
---|
14 | N RESULT,VAEL,ALLEL,EMP,X,DGDEF,Y
|
---|
15 | ;
|
---|
16 | ;-- get eligility codes
|
---|
17 | D GETEL(DFN)
|
---|
18 | S DGDEF=$P($G(^DIC(8,+$G(DEFAULT),0)),U)
|
---|
19 | I DGDEF'="" S DGDEF=DEFAULT_U_DGDEF
|
---|
20 | ;
|
---|
21 | S RESULT="",EMP=$P(VAEL(1),U,2),ALLEL=U_EMP
|
---|
22 | I '$D(VAEL) G ELIGQ
|
---|
23 | I $D(VAEL(1))=1 S RESULT=VAEL(1) G ELIGQ
|
---|
24 | ;-- if no default set default to primary eligibility
|
---|
25 | I DGDEF="" S DGDEF=VAEL(1)
|
---|
26 | ;
|
---|
27 | DISP ;-- display choices
|
---|
28 | W !,"THIS PATIENT HAS OTHER ENTITLED ELIGIBILITIES:"
|
---|
29 | W !?5,$P(VAEL(1),U,2)
|
---|
30 | S X="" F S X=$O(VAEL(1,X)) Q:X'>0 D
|
---|
31 | . W !?5,$P(VAEL(1,X),U,2)
|
---|
32 | . S ALLEL=ALLEL_U_$P(VAEL(1,X),U,2)
|
---|
33 | ;
|
---|
34 | ;-- prompt for eligibility codes
|
---|
35 | ;
|
---|
36 | 1 W !,"ENTER THE ELIGIBILITY FOR THIS "_$S(SOURCE=1:"MOVEMENT",SOURCE=2:"ADMISSION",SOURCE=3:"TRANSFER",1:"PATIENT")_": "_$P(DGDEF,U,2)_"// "
|
---|
37 | R X:DTIME
|
---|
38 | ;-- if timeout
|
---|
39 | G ELIGQ:'$T
|
---|
40 | ;-- if ^
|
---|
41 | G ELIGQ:X[U
|
---|
42 | ;-- if default (primary) quit
|
---|
43 | I X="" S RESULT=DGDEF G ELIGQ
|
---|
44 | ;-- find eligibility
|
---|
45 | S X=$$UPPER^VALM1(X)
|
---|
46 | G DISP:X["?",1:ALLEL'[(U_X)
|
---|
47 | ;
|
---|
48 | S EMP=X_$P($P(ALLEL,U_X,2),U) W $P($P(ALLEL,U_X,2),U)
|
---|
49 | I $P(VAEL(1),U,2)=EMP S RESULT=VAEL(1) G ELIGQ
|
---|
50 | S X="" F S X=$O(VAEL(1,X)) Q:X'>0 D
|
---|
51 | . I $P(VAEL(1,X),U,2)=EMP S RESULT=X_U_EMP
|
---|
52 | ;
|
---|
53 | ELIGQ ;
|
---|
54 | K VAEL
|
---|
55 | Q +RESULT
|
---|
56 | ;
|
---|
57 | GETEL(DFN) ;-- This function will get the eligibilities for the patient
|
---|
58 | ; specified by DFN and return all the active eligibilities in the
|
---|
59 | ; ARRAY specified.
|
---|
60 | ;
|
---|
61 | ; INPUT: DFN - Patient
|
---|
62 | ;
|
---|
63 | D ELIG^VADPT
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | GETDEL(DFN,START,END) ;-- This function will scan the Eligibility Date
|
---|
67 | ; Sensitive file #8.3 for all active eligibilities for a date range.
|
---|
68 | ;
|
---|
69 | N DGI,DGJ,DGK
|
---|
70 | ;
|
---|
71 | S DGI=0 F S DGI=$O(^VAEL(8.3,"AE",DFN,DGI)) Q:DGI="" D
|
---|
72 | . S DGJ=$O(^VAEL(8.3,"AE",DFN,DGI,0)),DGK=^(DGJ)
|
---|
73 | . I $P(DGK,U,2) S VAEL(1)=DGI_U_$P($G(^DIC(8,DGI,0)),U)
|
---|
74 | . I '$P(DGK,U,2) S VAEL(1,DGI)=DGI_U_$P($G(^DIC(8,DGI,0)),U)
|
---|
75 | Q
|
---|
76 | ;
|
---|
77 | ASKPR(DFN) ;-- This function will ask the user for the primary eligibility.
|
---|
78 | ;
|
---|
79 | N RESULT,VAEL,ALLEL,EMP,X,DGDEF,Y
|
---|
80 | ;
|
---|
81 | ;-- get eligility codes
|
---|
82 | S DEFAULT=$O(^VAEL(8.3,"AP",DFN,0))
|
---|
83 | S DGDEF=$P($G(^DIC(8,+$G(DEFAULT),0)),U)
|
---|
84 | I DGDEF'="" S DGDEF=DEFAULT_U_DGDEF
|
---|
85 | ;
|
---|
86 | S RESULT=""
|
---|
87 | ;
|
---|
88 | TRY W !,"PRIMARY ELIGIBILITY CODE: "_$P(DGDEF,U,2)_"// "
|
---|
89 | R X:DTIME
|
---|
90 | ;-- if timeout
|
---|
91 | G PRIMQ:'$T
|
---|
92 | ;-- if ^
|
---|
93 | G PRIMQ:X[U
|
---|
94 | ;-- find eligibility
|
---|
95 | S X=$$UPPER^VALM1(X)
|
---|
96 | ;
|
---|
97 | PRIMQ ;
|
---|
98 | K VAEL
|
---|
99 | Q +RESULT
|
---|
100 | ;
|
---|
101 | BADADR(DFN) ;does this patient have a bad address?
|
---|
102 | ;
|
---|
103 | Q:'$G(DFN) ""
|
---|
104 | Q $P($G(^DPT(DFN,.11)),"^",16)
|
---|
105 | ;
|
---|
106 | DELBAI(DFN) ;delete bad address indicator
|
---|
107 | N FDA,IENS
|
---|
108 | Q:'$G(DFN)
|
---|
109 | S IENS=DFN_",",FDA(2,IENS,.121)="@"
|
---|
110 | D FILE^DIE("E","FDA")
|
---|
111 | Q
|
---|
112 | GETSHAD(DFN) ;Get current value of Proj 112/SHAD from Patient file.
|
---|
113 | ; Input: DFN - Patient ien
|
---|
114 | ; Output: Valid values - 1 (Yes), 0 (No), or null
|
---|
115 | ; -1 - error
|
---|
116 | Q:$G(DFN)="" -1 ;Quit with error if missing input parameter
|
---|
117 | Q $P($G(^DPT(DFN,.321)),"^",15)
|
---|