1 | IB20P379 ;ISP/PHH - POST-INIT FOR IB*2.0*379; 11/26/2007
|
---|
2 | ;;2.0;INTEGRATED BILLING;**379**;21-MAR-94;Build 1
|
---|
3 | ;
|
---|
4 | PRE ; set up check points for pre/post-init
|
---|
5 | N %
|
---|
6 | S %=$$NEWCP^XPDUTL("THRESH","THRESH^IB20P379")
|
---|
7 | S %=$$NEWCP^XPDUTL("MCRDED","MCRDED^IB20P379")
|
---|
8 | S %=$$NEWCP^XPDUTL("PRIOR","PRIOR^IB20P379")
|
---|
9 | Q
|
---|
10 | ;
|
---|
11 | THRESH ; Pension Threshold
|
---|
12 | N IBA,IBERRM,IBRN,IBTYPE,IBX,DA,DIK
|
---|
13 | S IBTYPE="Pension Threshold"
|
---|
14 | D BMES^XPDUTL("Filing CY 2008 Pension Threshold rates.")
|
---|
15 | S IBX=3061201
|
---|
16 | F S IBX=$O(^IBE(354.3,"B",IBX)) Q:'IBX D ; remove any records since 12/01/2006
|
---|
17 | . S IBRN=0
|
---|
18 | . F S IBRN=$O(^IBE(354.3,"B",IBX,IBRN)) Q:'IBRN D
|
---|
19 | .. S DIK="^IBE(354.3,",DA=IBRN D ^DIK
|
---|
20 | S IBA(354.3,"+1,",.01)=3071201 ; effective date for CY 2008 values
|
---|
21 | S IBA(354.3,"+1,",.02)=1 ; internal value 1 = BASIC PENSION
|
---|
22 | S IBA(354.3,"+1,",.03)=11181 ; base rate for veteran
|
---|
23 | S IBA(354.3,"+1,",.04)=14643 ; 1 dependent
|
---|
24 | S IBA(354.3,"+1,",.05)=16552 ; 2 dependents
|
---|
25 | S IBA(354.3,"+1,",.06)=18461 ; 3 dependents
|
---|
26 | S IBA(354.3,"+1,",.07)=20370 ; 4 dependents
|
---|
27 | S IBA(354.3,"+1,",.08)=22279 ; 5 dependents
|
---|
28 | S IBA(354.3,"+1,",.09)=24188 ; 6 dependents
|
---|
29 | S IBA(354.3,"+1,",.10)=26097 ; 7 dependents
|
---|
30 | S IBA(354.3,"+1,",.11)=28006 ; 8 dependents
|
---|
31 | S IBA(354.3,"+1,",.12)=1909 ; additional dependent amount
|
---|
32 | D UPDATE^DIE("","IBA","","IBERRM") ; file the new record for CY 2008
|
---|
33 | I $D(IBERRM) D
|
---|
34 | . D BMES^XPDUTL("Unable to file the new rates. The error message is as follows:")
|
---|
35 | . S IBRN=0
|
---|
36 | . F S IBRN=$O(IBERRM("DIERR",1,"TEXT",IBRN)) Q:IBRN="" D MES^XPDUTL(IBERRM("DIERR",1,"TEXT",IBRN))
|
---|
37 | . D BMES^XPDUTL("Please check the database and then file the new rates manually.")
|
---|
38 | . D MMSG
|
---|
39 | E D COMPLETE
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | MCRDED ; Medicare deductible rate for CY 2008
|
---|
43 | ; check to see if rate already entered.
|
---|
44 | N IBA,IBERRM,IBIEN,IBRN,IBTYPE,DA,DIK
|
---|
45 | S IBTYPE="Medicare Deductible"
|
---|
46 | D BMES^XPDUTL("Filing Medicare Deductible Rate for 01/01/2008")
|
---|
47 | S IBIEN=0
|
---|
48 | F S IBIEN=$O(^IBE(350.2,"B","MEDICARE DEDUCTIBLE",IBIEN)) Q:'IBIEN D
|
---|
49 | . Q:$P($G(^IBE(350.2,IBIEN,0)),"^",2)'>3070101
|
---|
50 | . S DIK="^IBE(350.2,",DA=IBIEN D ^DIK
|
---|
51 | S IBA(350.2,"+1,",.01)="MEDICARE DEDUCTIBLE"
|
---|
52 | S IBA(350.2,"+1,",.02)=3080101
|
---|
53 | S IBA(350.2,"+1,",.03)=$O(^IBE(350.1,"B","MEDICARE DEDUCTIBLE",""))
|
---|
54 | S IBA(350.2,"+1,",.04)=1024
|
---|
55 | D UPDATE^DIE("","IBA","","IBERRM") ; file the new record
|
---|
56 | I $D(IBERRM) D
|
---|
57 | . D BMES^XPDUTL("Unable to file the new rates. The error message is as follows:")
|
---|
58 | . S IBRN=0
|
---|
59 | . F S IBRN=$O(IBERRM("DIERR",1,"TEXT",IBRN)) Q:IBRN="" D MES^XPDUTL(IBERRM("DIERR",1,"TEXT",IBRN))
|
---|
60 | . D BMES^XPDUTL("Please check the database and then file the new rates manually.")
|
---|
61 | . D MMSG
|
---|
62 | E D COMPLETE
|
---|
63 | MCRX Q
|
---|
64 | ;
|
---|
65 | PRIOR ;This code sets up the variables and calls the routine to print or print-and-update the
|
---|
66 | ;exemption status. XPDQUES variables set in the pre-install are used.
|
---|
67 | ;
|
---|
68 | Q:'$D(^IBA(354.1,"APRIOR",3061201)) ; quit if the "APRIOR" x-ref is not set for 12/1/06.
|
---|
69 | N %,IBACT,IBBMES,IBPR,IBPRDT,X,ZTDTH,ZTDESC,ZTRTN,ZTIO,ZTSK
|
---|
70 | S IBACT=$G(XPDQUES("POS1")),IBACT=$S(IBACT="U":3,1:2)
|
---|
71 | S ZTIO=$G(XPDQUES("POS2"))
|
---|
72 | D NOW^%DTC S ZTDTH=%
|
---|
73 | ;
|
---|
74 | ; -- check to see if prior year thresholds used
|
---|
75 | ;
|
---|
76 | S IBPR=$P($G(^IBE(354.3,0)),"^",3) I IBPR="" Q
|
---|
77 | S IBPR=$P(^IBE(354.3,IBPR,0),"^")
|
---|
78 | S X=$S($E($P(IBPR,"^"),1,3)>296:1,1:2) S IBPRDT=$O(^IBE(354.3,"AIVDT",X,-($P(IBPR,"^")))) ;threshold prior to the one entered
|
---|
79 | I IBPRDT<0 S IBPRDT=-IBPRDT ; invert negative number
|
---|
80 | ; Queuing job.
|
---|
81 | S IBBMES=$S(IBACT=3:"& UPDATE ",1:"") D BMES^XPDUTL(" >>>Queuing the PRINT "_IBBMES_"job to run NOW")
|
---|
82 | S IO("Q")="",ZTRTN="DQ^IBARXET",ZTDESC="IB PRIOR YEAR THRESHOLD PRINT"_$S(IBACT=3:" AND UPDATE",1:""),ZTSAVE("IB*")="" D ^%ZTLOAD K IO("Q")
|
---|
83 | S IBBMES=$S($D(ZTSK):"This job has been queued for NOW, as task number "_ZTSK_".",1:"This job could not be queued. Please edit the 12/1/07 threshold through the 'Add Income Thresholds' option, which allows you to queue this job.")
|
---|
84 | D BMES^XPDUTL(" >>>"_IBBMES)
|
---|
85 | PRIORQ Q ; end of prior exemptions section
|
---|
86 | ;
|
---|
87 | MMSG ; MailMan message to report update problem to billing groups, patch installer and patch developer
|
---|
88 | N DA,IBC,IBGROUP,IBPARAM,IBTXT,XMDUZ,XMSUB,XMTEXT,XMY
|
---|
89 | S XMSUB="Integrated Billing Annual Rate Update Error"
|
---|
90 | S XMDUZ=DUZ,XMTEXT="IBTXT"
|
---|
91 | S IBPARAM("FROM")="PATCH IB*2.0*379 CY 2008 RATE UPDATE"
|
---|
92 | F IBGROUP="IB EDI SUPERVISOR","IB ERROR","MCCR" D
|
---|
93 | . I $D(^XMB(3.8,"B",IBGROUP)) S IBGROUP="G."_IBGROUP,XMY(IBGROUP)=""
|
---|
94 | S XMY(DUZ)=""
|
---|
95 | ;
|
---|
96 | S IBC=0
|
---|
97 | S IBC=IBC+1,IBTXT(IBC)="This message has been sent by patch IB*2.0*379. If you have received this"
|
---|
98 | S IBC=IBC+1,IBTXT(IBC)="message, it indicates that the patch encountered some difficulty in filing"
|
---|
99 | S IBC=IBC+1,IBTXT(IBC)="the CY 2008 "_IBTYPE_" rates as outlined in the patch description."
|
---|
100 | S IBC=IBC+1,IBTXT(IBC)="Please verify the integrity of files 354.3 - BILLING THRESHOLDS and"
|
---|
101 | S IBC=IBC+1,IBTXT(IBC)="350.2 - IB ACTION CHARGE and then enter the new rates manually."
|
---|
102 | S IBC=IBC+1,IBTXT(IBC)="You can consult the IB*2.0*379 patch description for additional information."
|
---|
103 | S IBC=IBC+1,IBTXT(IBC)=" "
|
---|
104 | S IBC=IBC+1,IBTXT(IBC)="This action only needs to be done by one person. Please verify with the"
|
---|
105 | S IBC=IBC+1,IBTXT(IBC)="appropriate billing supervisor that the update has been accomplished."
|
---|
106 | D SENDMSG^XMXAPI(XMDUZ,XMSUB,XMTEXT,.XMY,.IBPARAM,"","")
|
---|
107 | MMSGQ Q ; end of Mail Message subroutine
|
---|
108 | ;
|
---|
109 | COMPLETE ; display message that step has completed successfully
|
---|
110 | D BMES^XPDUTL("Step complete.")
|
---|
111 | Q
|
---|
112 | ;
|
---|