| [613] | 1 | IBTRKR2 ;ALB/AAS - ADD/TRACK SCHEDULED ADMISSION ;9-AUG-93
 | 
|---|
 | 2 |  ;;2.0;INTEGRATED BILLING;**43,62,214,312**;21-MAR-94
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | % ;
 | 
|---|
 | 6 | EN ; -- add scheduled admissions to claims tracking file
 | 
|---|
 | 7 |  N I,J,X,Y,IBTRKR,IBI,IBJ,DFN,IBDATA
 | 
|---|
 | 8 |  N IBSWINFO S IBSWINFO=$$SWSTAT^IBBAPI()                   ;IB*2.0*312
 | 
|---|
 | 9 |  S IBTRKR=$G(^IBE(350.9,1,6))
 | 
|---|
 | 10 |  G:'$P(IBTRKR,"^",2) ENQ ; inpatient tracking off
 | 
|---|
 | 11 |  S:'$G(IBTSBDT) IBTSBDT=$$FMADD^XLFDT(DT,-3)-.1
 | 
|---|
 | 12 |  S:'$G(IBTSEDT) IBTSEDT=$$FMADD^XLFDT(DT,7)+.9
 | 
|---|
 | 13 |  I IBTSBDT<+IBTRKR S IBTSBDT=+IBTRKR-.1 ; start date can't be before ct start date
 | 
|---|
 | 14 |  S IBI=IBTSBDT-.0001
 | 
|---|
 | 15 |  F  S IBI=$O(^DGS(41.1,"C",IBI)) Q:'IBI!(IBI>IBTSEDT)  S IBJ="" F  S IBJ=$O(^DGS(41.1,"C",IBI,IBJ)) Q:'IBJ  D
 | 
|---|
 | 16 |  .;
 | 
|---|
 | 17 |  .;Do NOT PROCESS on VistA if IBI/Sched DT>=Switch Eff Dt  ;CCR-930
 | 
|---|
 | 18 |  .I +IBSWINFO,(IBI+1)>$P(IBSWINFO,"^",2) Q                 ;IB*2.0*312
 | 
|---|
 | 19 |  .;
 | 
|---|
 | 20 |  .S IBDATA=$G(^DGS(41.1,IBJ,0))
 | 
|---|
 | 21 |  .S DFN=+IBDATA
 | 
|---|
 | 22 |  .Q:'DFN  ;  no patient
 | 
|---|
 | 23 |  .Q:$P(IBDATA,"^",17)  ; already admitted
 | 
|---|
 | 24 |  .;
 | 
|---|
 | 25 |  .S IBTRN=$O(^IBT(356,"ASCH",IBJ,0))
 | 
|---|
 | 26 |  .I $P(IBDATA,"^",13) D:IBTRN INACTIVE^IBTRKRU(IBTRN) Q  ; canceled
 | 
|---|
 | 27 |  .;
 | 
|---|
 | 28 |  .; - if not in ct add
 | 
|---|
 | 29 |  .I 'IBTRN D  Q
 | 
|---|
 | 30 |  ..I $P(IBTRKR,"^",2)=2 D SCH^IBTUTL2(DFN,IBI,IBJ) Q
 | 
|---|
 | 31 |  ..I $P(IBTRKR,"^",2)=1,$S('$$INSURED^IBCNS1(DFN,+IBI):0,1:$$PTCOV^IBCNSU3(DFN,+IBI,"INPATIENT")) D SCH^IBTUTL2(DFN,IBI,IBJ) Q
 | 
|---|
 | 32 |  ..D TRKR^IBCNRDV(DFN,IBI,IBJ,$P(IBDATA,"^",11))
 | 
|---|
 | 33 |  ..Q
 | 
|---|
 | 34 |  .;
 | 
|---|
 | 35 |  .; - if inactive re-activate
 | 
|---|
 | 36 |  .I '$P(^IBT(356,+IBTRN,0),"^",20) D
 | 
|---|
 | 37 |  ..N X,Y,I,J,DA,DR,DIE,DIC
 | 
|---|
 | 38 |  ..S DA=IBTRN,DR=".2////1",DIE="^IBT(356," D ^DIE
 | 
|---|
 | 39 |  .Q
 | 
|---|
 | 40 |  ;
 | 
|---|
 | 41 | ENQ K IBTSEDT,IBTSBDT
 | 
|---|
 | 42 |  ; add cleanup of ARDV
 | 
|---|
 | 43 |  S X=0 F  S X=$O(^IBT(356,"ARDV",X)) Q:X<1  S Y=0 F  S Y=$O(^IBT(356,"ARDV",X,Y)) Q:Y<1  I Y<DT K ^IBT(356,"ARDV",X,Y)
 | 
|---|
 | 44 |  Q
 | 
|---|
 | 45 |  ;
 | 
|---|
 | 46 | SCH(DGPMCA) ; -- is this admission movement a scheduled admission
 | 
|---|
 | 47 |  ; -- output scheduled admission pointer
 | 
|---|
 | 48 |  ;
 | 
|---|
 | 49 |  N IBTSA S IBTSA=0
 | 
|---|
 | 50 |  I '$G(DGPMCA) G SCHQ
 | 
|---|
 | 51 |  S IBTSA=+$O(^DGS(41.1,"AMVT",DGPMCA,0))
 | 
|---|
 | 52 | SCHQ Q IBTSA
 | 
|---|