source: WorldVistAEHR/trunk/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBCEQ2.m@ 949

Last change on this file since 949 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 9.3 KB
Line 
1IBCEQ2 ;ALB/TMK - PROVIDER/BILLING ID WORKSHEET ;18-AUG-04
2 ;;2.0;INTEGRATED BILLING;**282**;21-MAR-94
3 ;
4 ; WORKSHEET TO IDENTIFY BC/BS AND TRICARE PLANS THAT MAY NEED SPECIAL
5 ; SET UP FOR PERFORMING PROVIDER OR BILLING PROVIDER IDS
6 ;
7EN ;
8 N POP,ZTSAVE,%ZIS,ZTSK,ZTRTN,ZTDESC,DIR,X,Y,DUOUT,DTOUT,Z,IBPG,IBSTOP,IBBL
9 ;
10 S DIR("A")="PRINT (P)RE-PRINTED, (B)LANK FORM, (S)OLUTIONS?: ",DIR(0)="SA^P:PRE-PRINTED;B:BLANK FORM;S:SOLUTIONS"
11 S DIR("B")="PRE-PRINTED" W ! D ^DIR K DIR
12 Q:$D(DTOUT)!$D(DUOUT)
13 S IBBL=$P(Y,U)
14 I $P(Y,U)="B" D Q:$D(DTOUT)!$D(DUOUT)
15 . S DIR(0)="NA^1:100",DIR("A")="NUMBER OF BLANK FORMS TO PRINT: ",DIR("B")=1 W ! D ^DIR K DIR
16 . S $P(IBBL,U,2)=+Y
17 I $P(IBBL,U)'["S" D Q:$D(DTOUT)!$D(DUOUT)
18 . S DIR(0)="YA",DIR("B")="NO",DIR("A")="DO YOU WANT TO PRINT THE SOLUTIONS TOO?: " D ^DIR K DIR
19 . I Y=1 S $P(IBBL,U)=$P(IBBL,U)_"S"
20 S %ZIS="QM" D ^%ZIS G:POP EN1Q
21 I $D(IO("Q")) D G EN1Q
22 . S ZTRTN="ENQ^IBCEQ2",ZTDESC="IB - HIPAA ENHANCEMENTS PERF/BILLING PROV ID WORKSHEET",ZTSAVE("IBBL")=""
23 . D ^%ZTLOAD
24 . W !!,$S($D(ZTSK):"Task # "_ZTSK_" has been queued.",1:"Unable to queue this job.")
25 . K ZTSK,IO("Q") D HOME^%ZIS
26 U IO
27 D ENQ
28EN1Q Q
29 ;
30ENQ ; Queued job enters here
31 ;
32 N X,Z,Z0,Z00,IBI0,IBPAYR,IBPG,IBSTOP,IBCT,TYPCOV,IBCTI,IBLOOP,IBCOPY,IBTYPE
33 K ^TMP($J)
34 I $P(IBBL,U)["P" D
35 . S Z=0 F S Z=$O(^DIC(36,Z)) Q:'Z D
36 .. S IBI0=$G(^DIC(36,Z,0)),IBPAYR=$P(IBI0,U)
37 .. Q:$P(IBI0,U,5) ; ins co inactive
38 .. S TYPCOV=$P(IBI0,U,13) ; type of cov ien;file 355.2
39 .. S Z0=$P($G(^IBE(355.2,+TYPCOV,0)),U,2)
40 .. I $S(Z0="TRI":0,Z0="CHS":0,Z0="BC":0,1:Z0'="BS") Q ; Not Tricare or BC/BS
41 .. S X=$S(Z0="TRI"!(Z0="CHS"):"TRICARE",Z0="BC":"BLUE CROSS",1:"BLUE SHIELD")
42 .. S ^TMP($J,"IB",0_U_X,$E(IBPAYR,1,25)_U_Z)=IBPAYR,^TMP($J,"IB",0_U_X,$E(IBPAYR,1,25)_U_Z,0)=$G(^DIC(36,Z,.11))
43 . ;
44 . S ^TMP($J,"IB","1^"," ")=""
45 ;
46 I $P(IBBL,U,2) S ^TMP($J,"IB",1_U," ")=$P(IBBL,U,2)
47 S (IBPG,IBSTOP,IBCTI)=0
48 S Z="" F S Z=$O(^TMP($J,"IB",Z)) Q:Z="" D Q:IBSTOP
49 . I $D(ZTQUEUED),$$S^%ZTLOAD S (IBSTOP,ZTSTOP)=1 K ZTREQ W:IBPG !,"***TASK STOPPED BY USER***" Q
50 . S IBCOPY=$S($P(Z,U,2)'="":1,1:+$G(^TMP($J,"IB",Z," "))) S:'IBCOPY IBCOPY=1
51 . F IBLOOP=1:1:IBCOPY D Q:IBSTOP
52 .. D HDR(Z,.IBPG,.IBSTOP)
53 .. Q:IBSTOP
54 .. ;
55 .. S Z0="",IBCT=0 F S Z0=$O(^TMP($J,"IB",Z,Z0)) Q:Z0="" S Z00=$G(^(Z0,0)) D
56 ... I IBCT'<5 S IBCT=0 D HDR(Z,.IBPG,.IBSTOP) Q:IBSTOP
57 ... S IBCT=IBCT+1
58 ... D BOX($G(^TMP($J,"IB",Z,Z0)),Z00,.IBCTI)
59 .. ;
60 .. I IBCT'>4 F IBCT=IBCT+1:1:5 D BOX("","")
61 ;
62 I 'IBSTOP,$P(IBBL,U)["S" D
63 . N IBZ,IBTEXT,IBLINE,IBDONE,X,Q,Z
64 . S IBPG=0
65 . I $P(IBBL,U)'="S" D ASK(.IBSTOP) Q:IBSTOP W @IOF
66 . D HDR1^IBCEQ2A(.IBPG)
67 . ;
68 . S IBDONE=0,(IBLINE,IBTYPE,IBOTYPE)=""
69 . F Z=1:1 D Q:IBDONE
70 .. S IBZ=$P($T(SOLUTION+Z),";;",2)
71 .. I IBZ="" S IBDONE=1 Q
72 .. S IBLINE(+$O(IBLINE(" "),-1)+1,$P(IBZ,U,2))=$P(IBZ,U,3)
73 . ;
74 . S Z=0 F S Z=$O(IBLINE(Z)) Q:'Z D
75 .. S IBTYPE=$O(IBLINE(Z,"")) Q:IBTYPE=""
76 .. S IBTEXT=$G(IBLINE(Z,IBTYPE))
77 .. ;
78 .. I $E(IBTYPE)="S" D S IBOTYPE="S" Q
79 ... I IBOTYPE'="S" D WRTS^IBCEQ2A("S",IBOTYPE,.IBTEXT,.IBSTOP) I IBSTOP S IBDONE=1 Q
80 ... I $P(IBTYPE,"S",2) F Q=1:1:$P(IBTYPE,"S",2) W !
81 ... W IBTEXT
82 .. ;
83 .. D WRTS^IBCEQ2A(IBTYPE,IBOTYPE,.IBTEXT,.IBSTOP) I IBSTOP S IBDONE=1 Q
84 .. S IBOTYPE=IBTYPE
85 . I 'IBSTOP,$O(IBTEXT("")) S IBTEXT="" D WRTS^IBCEQ2A("",IBOTYPE,.IBTEXT,.IBSTOP)
86 I '$D(ZTQUEUED) D ^%ZISC I 'IBSTOP,IBPG D ASK()
87 I $D(ZTQUEUED),'IBSTOP S ZTREQ="@"
88 K ^TMP($J)
89 Q
90 ;
91BOX(IBINM,Z00,IBCTI) ;
92 N Q,X
93 S:$TR(Z00," ")="" IBINM=""
94 S:IBINM'="" IBCTI=IBCTI+1
95 W !,"!",$E($S($TR(IBINM," ")'="":"("_IBCTI_")"_IBINM,1:"")_$J("",30),1,30),"!",$J("",$S(IOM<132:23,1:49)),"!",$J("",$S(IOM<132:23,1:49)),"!"
96 W !,"!",$E($P(Z00,U)_$J("",30),1,30),"!",$J("",$S(IOM<132:23,1:49)),"!",$J("",$S(IOM<132:23,1:49)),"!"
97 W !,"!",$E($P(Z00,U,2)_$J("",30),1,30),"!",$J("",$S(IOM<132:23,1:49)),"!",$J("",$S(IOM<132:23,1:49)),"!"
98 W !,"!",$E($P(Z00,U,3)_$J("",30),1,30),"!",$J("",$S(IOM<132:23,1:49)),"!",$J("",$S(IOM<132:23,1:49)),"!"
99 W !,"!",$E($P(Z00,U,4)_" "_$P($G(^DIC(5,+$P(Z00,U,5),0)),U,2)_" "_$P(Z00,U,6)_$J("",30),1,30),"!",$J("",$S(IOM<132:23,1:49)),"!",$J("",$S(IOM<132:23,1:49)),"!"
100 F Q=1:1:2 W !,"!",$J("",30),"!",$J("",$S(IOM<132:23,1:49)),"!",$J("",$S(IOM<132:23,1:49)),"!"
101 S X="",$P(X,"-",IOM+1)="" W !,X
102 Q
103 ;
104HDR(IBINM,IBPG,IBSTOP) ; Ins Co info
105 N X,IBINMX
106 I IBPG D ASK(.IBSTOP) Q:IBSTOP W @IOF
107 S IBPG=IBPG+1
108 S IBINMX=+IBINM,IBINM=$P(IBINM,U,2)
109 W !,$S(IBINM="":"",1:$$FMTE^XLFDT(DT,"2D")),?(IOM-39\2),"INSURANCE COMPANY PROVIDER ID WORKSHEET" W:IBINM'="" ?(70+$S(IOM<132:0,1:52)),"PAGE: ",IBPG
110 I IBINM'="" S X="INSURANCE COMPANY TYPE: "_IBINM W !,?(IOM-$L(X)\2),X
111 W !
112 I 'IBINMX D
113 . W !,"**** ENTER THE SPECIAL PERFORMING AND BILLING PROVIDER ID REQUIREMENTS",!," FOR THE LISTED INSURANCE COMPANIES IN THE BOXES PROVIDED"
114 I IBINMX D
115 . W !,"**** ENTER THE NAMES OF ANY INSURANCE COMPANIES THAT HAVE SPECIAL ID",!," REQUIREMENTS FOR YOUR SITE AND THEN ENTER THE SPECIFIC REQUIREMENTS IN",!," THE BOXES PROVIDED."
116 S X="",$P(X,"-",IOM+1)=""
117 W !,X,!,"! !"_$J("",$S(IOM<132:1,1:14))_"SECONDARY PERFORMING"_$J("",$S(IOM<132:2,1:15))_"!"_$J("",$S(IOM<132:8,1:21))_"BILLING"_$J("",$S(IOM<132:8,1:21)),"!"
118 W !,"! !"_$J("",$S(IOM<132:3,1:16))_"PROV. ID SPECIFIC"_$J("",$S(IOM<132:3,1:16))_"!"_$J("",$S(IOM<132:3,1:16))_"PROV. ID SPECIFIC"_$J("",$S(IOM<132:3,1:16))_"!"
119 W !,"! INSURANCE COMPANY !"_$J("",$S(IOM<132:0,1:13))_"REQUIREMENTS (SCREEN 8)"_$J("",$S(IOM<132:0,1:13))_"!"_$J("",$S(IOM<132:0,1:13))_"REQUIREMENTS (SCREEN 3)"_$J("",$S(IOM<132:0,1:13))_"!"
120 W !,X
121 W !,"!"_$J("",30)_"!"_$J("",$S(IOM<132:23,1:49))_"!"_$J("",$S(IOM<132:23,1:49))_"!"
122 W !,"!*** example: !"_$J("",$S(IOM<132:1,1:14))_"requires specific IDs"_$J("",$S(IOM<132:1,1:14))_"!"_$J("",$S(IOM<132:1,1:14))_"requires specific ids"_$J("",$S(IOM<132:1,1:14))_"!"
123 W !,"! insurance co name !"_$J("",$S(IOM<132:2,1:15))_"for each specialty"_$J("",$S(IOM<132:3,1:16))_"!"_$J("",$S(IOM<132:3,1:16))_"for each division"_$J("",$S(IOM<132:3,1:16))_"!"
124 W !,X
125 Q
126 ;
127ASK(IBSTOP) ; Ask continue
128 ; If passed by ref, IBSTOP returned = 1 if print aborted
129 I $E(IOST,1,2)'["C-" Q
130 N DIR,DIROUT,DIRUT,DTOUT,DUOUT
131 S DIR(0)="E" W ! D ^DIR
132 I ($D(DIRUT))!($D(DUOUT)) S IBSTOP=1 Q
133 Q
134 ;
135SOLUTION ; Solution text
136 ;;^S0^ *********************** SCREEN 8 IDs ***********************"
137 ;;^S1^
138 ;;^Q^****FOR ALL OF THE FOLLOWING SCENARIOS, YOU MUST FIRST SET UP THE PERFORMING PROVIDER SECONDARY ID PARAMETERS FOR THE PAYER****
139 ;;^A^Use the INSURANCE COMPANY ENTRY/EDIT (EI) option to set up the payer's id parameters. Select the insurance company, and the PROVIDER ID PARAMS (ID) action to set up the PERFORMING PROVIDER SECONDARY ID TYPE for each form type
140 ;;^A^ and the flag for whether the ids are required or not. Reference page 38 in the EDI USER'S GUIDE for help on setting up the id parameters.
141 ;;^S1^
142 ;;^Q^1. PAYER REQUIRES ONE PERFORMING PROVIDER SECONDARY ID FOR THE SITE:
143 ;;^A^Use Provider ID Maintenance option 2 (INSURANCE CO IDS) and set up an id for the PROVIDER ID TYPE specified by the payer. Do not choose a provider when prompted.
144 ;;^A^ Enter the form types/care types this id will be used for and the appropriate id. Reference pages 39-42 in the EDI USER'S GUIDE for more help on setting up the id.
145 ;;^S1^
146 ;;^Q^2. PAYER REQUIRES ONE PERFORMING PROVIDER SECONDARY ID AS ASSIGNED TO EACH PROVIDER AT THE SITE:
147 ;;^A^Follow the same set up for the payer's secondary id parameters as noted in 1 above. Use Provider ID Maintenance option 2 (INSURANCE CO IDS) and set up an id for the PROVIDER ID TYPE specified by the payer.
148 ;;^A^ Choose a provider when prompted. Enter the form types/care types this id will be used for and the appropriate id.
149 ;;^A^ Repeat these steps for each provider whose services can be billed to this payer. Reference pages 42-44 in the EDI USER'S GUIDE for more help on setting up the id.
150 ;;^S1^
151 ;;^Q^3. PAYER REQUIRES ONE PERFORMING PROVIDER SECONDARY ID AS ASSIGNED TO EACH SPECIALTY AT THE SITE:
152 ;;^A^Use the Provider ID Maintenance option 4 (CARE UNIT MAINTENANCE) and set up an entry for each specialty that has a specific id.
153 ;;^A^ Follow the same steps in either 1 or 2 above to set up the ids. There will be one extra prompt for care unit. Enter the name of the SPECIALTY for the id.
154 ;;^A^ Reference pages 50-55 in the EDI USER'S GUIDE for more help.
155 ;;^S1^
156 ;;^Q^4. PAYER REQUIRES ONE PERFORMING PROVIDER SECONDARY ID AS ASSIGNED TO EACH DIVISION AT THE SITE:
157 ;;^A^Follow the same steps as for specialty (#3 above) except the care units will be DIVISIONS instead of SPECIALTIES.
158 ;;^S3^ *********************** SCREEN 3 IDs ***********************
159 ;;^S1^
160 ;;^Q^1. PAYER REQUIRES ONE BILLING FACILITY PRIMARY ID FOR THE SITE:
161 ;;^A^Use the INSURANCE COMPANY ENTRY/EDIT option (EI) and make sure there is an id number set up for each form type. If not, add the ids using the facility's main billing division as the division.
162 ;;^A^ Reference pages 25-27 in the EDI USERS GUIDE for more help.
163 ;;^S1^
164 ;;^Q^2. PAYER REQUIRES ONE BILLING FACILITY PRIMARY ID AS ASSIGNED TO EACH DIVISION AT THE SITE:
165 ;;^A^Use the INSURANCE COMPANY ENTRY/EDIT option (EI) and choose the insurance company. Choose action Billing Parameters (BP), respond YES TO EDIT BILLING FACILITY PRIMARY IDs.
166 ;;^A^ Choose the ADD action and define the ids for each division that requires a special id. Reference pages 25-27 in the EDI USERS GUIDE for more help.
167 ;
Note: See TracBrowser for help on using the repository browser.