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

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

initial load of WorldVistAEHR

File size: 2.1 KB
Line 
1IBARXEU4 ;ALB/AAS - RX COPAY EXEMPTION CHECK IF PREVIOUSLY CANCELED ; 12-JAN-93
2 ;;Version 2.0 ; INTEGRATED BILLING ;**34**; 21-MAR-94
3 ;;Per VHA Directive 10-93-142, this routine should not be modified.
4 ;
5CANDT ; -- set beginning and ending dates
6 ; input dfn =: patient internal number
7 ; ibedt =: end date to cancel
8 ; ibdt =: beging date to cancel
9 ;
10 ; output ibcandt =: begin date^end date to cancel
11 ;
12 N X
13 ;S IBCANDT=IBDT_"^"_IBEDT
14 ;
15 ; -- get last end date
16 S X=+$O(^IBA(354.1,"ACAN",DFN,"")) S:X<0 X=-X D:'X CONV ;never previously cancelled
17 I X,X>IBDT S IBDT=X
18 ;
19 ; -- only cancel back 1 year from today, or eff. legislation max
20 I IBDT<$$MINUS^IBARXEU0(DT) S IBDT=$$MINUS^IBARXEU0(DT)
21 I IBDT<$$STDATE^IBARXEU S IBDT=$$STDATE^IBARXEU
22 S IBCANDT=IBDT_"^"_IBEDT
23CANDTQ Q
24 ;
25CONV ; -- see if conversion done
26 N X
27 S X=$G(^IBE(350.9,1,3)) G:$P(X,"^",14) CONVQ ; conversion complete
28 I $P(X,"^",3),DFN<$P(X,"^",4) G CONVQ ; patient already converted
29 ;
30 ; -- need to convert patient on the fly
31 S IBDT=$$STDATE^IBARXEU
32CONVQ Q
33 ;
34ARCAN(DFN,IBSTAT,IBDT,IBEDT) ; -- process cancellation with ar logic here
35 ;
36 ; Input =: dfn patient internal entry number
37 ; ibstat patient status from $$rxexmt or $$rxst
38 ; ibdt beginning date to cancel
39 ; ibedt ending date to cancel
40 ;
41 Q:'+IBSTAT ; non-exempt patient
42 ;
43 S:IBEDT>DT IBEDT=DT S:IBDT<$$STDATE^IBARXEU IBDT=$$STDATE^IBARXEU
44 ;
45 ; -- set begin and ending date, check x-ref
46 S X=+$O(^IBA(354.1,"ACAN",DFN,"")) S:X<0 X=-X
47 I X,X>IBDT S IBDT=X
48 ;
49 ; -- end date must be after begin date
50 I IBDT>IBEDT G ARCANQ
51 ;
52 ; -- set begin and ending dates in last entry created
53 D UPCAN
54 ;
55 N IBWHER
56 S ERR=0,IBWHER=17
57 D EN1^PRCAX(DFN,IBDT,IBEDT,.ERR)
58 I ERR]"",+ERR'=ERR S ^TMP("IB-ERROR",$J,DFN)=ERR,IBEXERR=10 S:'$D(IBJOB) IBJOB=11 D ^IBAERR K IBEXERR
59ARCANQ Q
60 ;
61UPCAN ; -- update canceled date fields
62 N X2
63 S DIE="^IBA(354.1,",DR=".13////"_IBDT_";.14////"_IBEDT
64 S DA=+$O(^(+$O(^IBA(354.1,"AIVDT",1,DFN,"")),0))
65 S X2=$G(^IBA(354.1,DA,0))
66 I $P(X2,"^",2)'=DFN!($P(X2,"^",14)) G UPCANQ
67 D ^DIE
68 K DIC,DIE,DA,DR,X
69UPCANQ Q
Note: See TracBrowser for help on using the repository browser.