1 | ORWDBA10 ; SLC/GDU - Billing Awareness - Phase I [11/24/04 13:42]
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195,261**;Dec 17, 1997
|
---|
3 | ;Clinical Indicator Data Capture By Provider Parameter Module
|
---|
4 | ;
|
---|
5 | ;This program will enable or disable the CIDC functionality for all
|
---|
6 | ;active providers. For the active providers without the CIDC parameter,
|
---|
7 | ;this program will assign the CIDC parameter to them and enable or
|
---|
8 | ;disable the CIDC functionality.
|
---|
9 | ;
|
---|
10 | ;The enabling or disabling of the CIDC functionality is based on the
|
---|
11 | ;user selected value of an external variable passed to this program.
|
---|
12 | ;
|
---|
13 | ;External Variable:
|
---|
14 | ; CIDC Clinical Indicator Data Capture
|
---|
15 | ; A value of E for enable CIDC functionality.
|
---|
16 | ; A value of D for disable CIDC functionality.
|
---|
17 | ; Set by user selection in ORWDBA6 and passed to this
|
---|
18 | ; program.
|
---|
19 | ;Internal Variables:
|
---|
20 | ; CNT Counter variable, used to build temporary global
|
---|
21 | ; DIR Input array variable for ^DIR
|
---|
22 | ; DT Standard Fileman/Kernel variable for current date
|
---|
23 | ; DT is set, not newed or killed
|
---|
24 | ; DTOUT Timeout indicator, output variable of ^DIR
|
---|
25 | ; DUOUT Up arrow indicator, output variable of ^DIR
|
---|
26 | ; OREM Error Message, output variable for XPAR
|
---|
27 | ; IEN Internal Entry Number
|
---|
28 | ; LIST Input variable of XPAR where output ENVAL^XAR
|
---|
29 | ; will be stored
|
---|
30 | ; PTD Provider Termination Date
|
---|
31 | ; VAL Input variable of XPAR
|
---|
32 | ; A value of 1 will enable CIDC functionality
|
---|
33 | ; A value of 0 will disable CIDC functionality
|
---|
34 | ; X Work variable
|
---|
35 | ; Y Processed user selection, output variable of ^DIR
|
---|
36 | ;External References
|
---|
37 | ; ^DIR DBIA 10026
|
---|
38 | ; ADD^XPAR DBIA 2263
|
---|
39 | ; ENVAL^XPAR DBIA 2263
|
---|
40 | ;
|
---|
41 | EN(CIDC) ;Entry point for this program
|
---|
42 | N CNT,DIR,DTOUT,DUOUT,OREM,IEN,LIST,PTD,VAL,X,Y
|
---|
43 | K ^TMP($J,"OR","CIDC")
|
---|
44 | S DT=$$DT^XLFDT
|
---|
45 | ;Get list of clinicians with the CIDC functionality parameter assigned
|
---|
46 | ;to them.
|
---|
47 | S OREM="",LIST="^TMP($J,""OR"",""CIDC"",""A"")"
|
---|
48 | D ENVAL^XPAR(LIST,"OR BILLING AWARENESS BY USER",1,.OREM,1)
|
---|
49 | ;Build list of active clinicians who do not have the CIDC functionality
|
---|
50 | ;parameter not assigned to them.
|
---|
51 | S IEN="",(CNT,^TMP($J,"OR","CIDC","U",0))=0
|
---|
52 | F S IEN=$O(^XUSEC("PROVIDER",IEN)) Q:IEN="" D
|
---|
53 | . ;Skip to next provider is CIDC parameter assigned
|
---|
54 | . I $D(^TMP($J,"OR","CIDC","A",IEN_";VA(200,",1))=1 Q
|
---|
55 | . ;Skip to next provider if DISUSER set to yes
|
---|
56 | . I $$GET1^DIQ(200,IEN,7)="YES" Q
|
---|
57 | . ;Get provider termination date, skip to next provider if this date is
|
---|
58 | . ;today's date or in the past.
|
---|
59 | . S PTD=$$GET1^DIQ(200,IEN,9.2,"I")
|
---|
60 | . I PTD'="",(PTD=DT)!(PTD<DT) Q
|
---|
61 | . ;Add to list
|
---|
62 | . S CNT=CNT+1
|
---|
63 | . S ^TMP($J,"OR","CIDC","U",0)=CNT
|
---|
64 | . S ^TMP($J,"OR","CIDC","U",CNT)=IEN_";VA(200,"
|
---|
65 | ;Build and display user interface
|
---|
66 | S DIR(0)="SX^;"_$P($T(OY),";",3)
|
---|
67 | S DIR(0)=DIR(0)_$S(CIDC="E":$P($T(OYE),";",3),1:$P($T(OYD),";",3))_";"
|
---|
68 | S DIR(0)=DIR(0)_$P($T(ON),";",3)
|
---|
69 | S DIR(0)=DIR(0)_$S(CIDC="E":$P($T(ONE),";",3),1:$P($T(OND),";",3))
|
---|
70 | S DIR("A",1)=$S(CIDC="E":$P($T(A2E),";",3),1:$P($T(A2D),";",3))
|
---|
71 | S DIR("A",2)=$P($T(A3),";",3)
|
---|
72 | S DIR("A")=$P($T(A4),";",3)
|
---|
73 | S DIR("?",1)=$P($T(HY),";",3)
|
---|
74 | S DIR("?",1)=DIR("?",1)_$S(CIDC="E":$P($T(HYE),";",3),1:$P($T(HYD),";",3))
|
---|
75 | S DIR("?")=$P($T(HN),";",3)
|
---|
76 | S DIR("?")=DIR("?")_$S(CIDC="E":$P($T(HNE),";",3),1:$P($T(HND),";",3))
|
---|
77 | D SCRHDR,^DIR K DIR
|
---|
78 | ;Process user's selection
|
---|
79 | ;If the user selects no, times out, or enters "^" quit program
|
---|
80 | I Y="NO"!($D(DTOUT))!($D(DUOUT)) W !!,$C(7),$P($T(CP),";",3) H 1 G EXIT
|
---|
81 | ;Enable/disable CIDC parameter functionality.
|
---|
82 | D SCRHDR
|
---|
83 | W !!,$S(CIDC="E":$P($T(EP),";",3),1:$P($T(DP),";",3))
|
---|
84 | S VAL=$S(CIDC="E":1,1:0)
|
---|
85 | ;Enable/disable CIDC functionality for active providers with the parameter
|
---|
86 | ;as per user selection
|
---|
87 | S X="" F S X=$O(^TMP($J,"OR","CIDC","A",X)) Q:X="" D
|
---|
88 | . W "."
|
---|
89 | . D CHG^XPAR(X,"OR BILLING AWARENESS BY USER",1,VAL,.OREM)
|
---|
90 | ;Assigning the CIDC parameter to active providers without it and enable/disable
|
---|
91 | ;CIDC functionality as per user selection
|
---|
92 | F X=1:1:^TMP($J,"OR","CIDC","U",0) D
|
---|
93 | . W "."
|
---|
94 | . D ADD^XPAR(^TMP($J,"OR","CIDC","U",X),"OR BILLING AWARENESS BY USER",1,VAL,.OREM)
|
---|
95 | ;Alert the user the enabling/disabling CIDC functionality is done.
|
---|
96 | S DIR("A")=$S(CIDC="E":$P($T(EC),";",3),1:$P($T(DC),";",3))
|
---|
97 | S DIR(0)="E"
|
---|
98 | D ^DIR K DIR
|
---|
99 | EXIT ;Exit point of this routine
|
---|
100 | K ^TMP($J,"OR","CIDC")
|
---|
101 | Q
|
---|
102 | ;
|
---|
103 | SCRHDR ;Screen Header
|
---|
104 | W:$D(IOF) @IOF
|
---|
105 | W !,$P($T(SH),";",3)
|
---|
106 | W !,$S(CIDC="E":$P($T(SHE),";",3),1:$P($T(SHD),";",3))
|
---|
107 | Q
|
---|
108 | ;Text for the user's interface
|
---|
109 | SH ;;Enable Clinical Indicator Data Capture By Provider Parameter Management
|
---|
110 | SHE ;;Enable Parameter For All Active Providers Option
|
---|
111 | SHD ;;Disable Parameter For All Active Providers Option
|
---|
112 | OY ;;YES:Enter YES to begin process to
|
---|
113 | ON ;;NO:Enter NO to cancel process to
|
---|
114 | OYE ;; enable CIDC
|
---|
115 | ONE ;; enable CIDC and quit
|
---|
116 | OYD ;; disable CIDC
|
---|
117 | OND ;; disable CIDC and quit
|
---|
118 | A1 ;;active providers do not have this parameter assigned to them.
|
---|
119 | A2E ;;You have selected to enable Clinical Indictor Data Capture
|
---|
120 | A2D ;;You have selected to disable Clinical Indicator Data Capture
|
---|
121 | A3 ;;for all active providers. This may take some time.
|
---|
122 | A4 ;;Are you sure you want to do this? (YES/NO - must be all cap)
|
---|
123 | HY ;;Enter YES to begin the
|
---|
124 | HN ;;Enter No or '^' to cancel the
|
---|
125 | HYE ;; enable CIDC process.
|
---|
126 | HNE ;; enable CIDC process and quit.
|
---|
127 | HYD ;; disable CIDC process.
|
---|
128 | HND ;; disable CIDC process and quit.
|
---|
129 | EP ;;Now enabling CIDC functionality.
|
---|
130 | EC ;;CIDC parameter functionality enabling complete.
|
---|
131 | DP ;;Now disabling CIDC functionality.
|
---|
132 | DC ;;CIDC parameter functionality disabling complete.
|
---|
133 | CP ;;Process cancelled!
|
---|