| 1 | RCXVDC10 ;ALBANY OI@ALTOONA,PA/TJK-AR Data Extraction Data Creation ;08/18/05
 | 
|---|
| 2 |  ;;4.5;Accounts Receivable;**232**;Mar 20, 1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;  Monthly transmissions 
 | 
|---|
| 5 |  Q
 | 
|---|
| 6 | EN ;Entry point from nightly process to set up monthly batch jobs
 | 
|---|
| 7 |  N RCXVMO,RCXVDA,IENARRAY,RCDA
 | 
|---|
| 8 |  S X1=$E(DT,1,5)_"01",X2=-1 D C^%DTC S RCXVMO=$E(X,1,5)_"00"
 | 
|---|
| 9 | EN1 ;branch point for historical job
 | 
|---|
| 10 |  F RCXVBTY="P","B","I" K RCXVDA,IENARRAY D NBT^RCXVDEQ S RCDA(RCXVBTY)=RCXVDA
 | 
|---|
| 11 |  S RCXVDA=RCDA("I"),$P(^RCXV(RCXVDA,0),U,10)=RCXVMO D D3547A
 | 
|---|
| 12 |  S RCXVDA=RCDA("P"),$P(^RCXV(RCXVDA,4),U)=RCXVMO
 | 
|---|
| 13 |  S RCXVDA=RCDA("B"),$P(^RCXV(RCXVDA,5),U)=RCXVMO
 | 
|---|
| 14 |  Q
 | 
|---|
| 15 | D3547 ;IB Patient Copay account data
 | 
|---|
| 16 |  ;DFN,RCXVBTN defined in routine RCXVTSK
 | 
|---|
| 17 |  ;RCXVBTN=Internal number of batch file in ^RCXV(
 | 
|---|
| 18 |  N I,RCFLAG,RCXVDA,RCXVMO,SSN,RCXVDT,RCXVCO,VADM
 | 
|---|
| 19 |  S RCXVMO=$P(^RCXV(RCXVBTN,0),U,10)
 | 
|---|
| 20 |  S (I,RCFLAG)=0 F  S I=$O(^IBAM(354.7,DFN,1,I)) Q:'I  S RCXVCO=$G(^(I,0)) D  Q:RCFLAG
 | 
|---|
| 21 |  . I +RCXVCO=RCXVMO S RCFLAG=1
 | 
|---|
| 22 |  . Q
 | 
|---|
| 23 |  Q:'RCFLAG
 | 
|---|
| 24 |  ; Write data into FTP file
 | 
|---|
| 25 |  D DEM^VADPT S SSN=$P(VADM(2),U)
 | 
|---|
| 26 |  S RCXVDT=$P(RCXVCO,U),RCXVDA=SSN_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8)
 | 
|---|
| 27 |  S RCXVDA=RCXVDA_RCXVU_$P(RCXVCO,U,2)
 | 
|---|
| 28 |  S X=$P(RCXVCO,U,3),X=$S(X=1:"YES",X=2:"OVER",1:"NO")
 | 
|---|
| 29 |  S RCXVDA=RCXVDA_RCXVU_X_RCXVU_$P(RCXVCO,U,4)
 | 
|---|
| 30 |  S ^TMP($J,"RCXVDC10",DFN)=RCXVDA
 | 
|---|
| 31 |  W "REC:"_$P(RCXVDA,RCXVU,1),!
 | 
|---|
| 32 |  W "354.7:"_$P(RCXVDA,RCXVU,2,5),!
 | 
|---|
| 33 |  Q
 | 
|---|
| 34 | PREREG ;Pre-Registration
 | 
|---|
| 35 |  N IBDATA,X1,X2,IBEDT,IBBDT,RCXVDA
 | 
|---|
| 36 |  S IBBDT=$E(RCXVMO,1,5)_"01",IBEDT=$$ENDT(IBBDT)
 | 
|---|
| 37 |  S IBDATA=$$PREREG^IBRFN4(IBBDT,IBEDT)
 | 
|---|
| 38 |  S RCXVDA=$E($$HLDATE^HLFNC(IBBDT),1,8)
 | 
|---|
| 39 |  S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(IBEDT),1,8)_RCXVU_IBDATA
 | 
|---|
| 40 |  S ^TMP($J,"RCXVDC10","PRE-REG")=RCXVDA
 | 
|---|
| 41 |  W "PRE-REG:"_RCXVDA,!
 | 
|---|
| 42 |  Q 
 | 
|---|
| 43 | BUFFER ;Insurance buffer
 | 
|---|
| 44 |  S IBBDT=$E(RCXVMO,1,5)_"01",IBEDT=$$ENDT(IBBDT)
 | 
|---|
| 45 |  S IBDATA=$$BUFFER^IBRFN4(IBBDT,IBEDT)
 | 
|---|
| 46 |  S RCXVDA=$E($$HLDATE^HLFNC(IBBDT),1,8)
 | 
|---|
| 47 |  S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(IBEDT),1,8)_RCXVU_IBDATA
 | 
|---|
| 48 |  S ^TMP($J,"RCXVDC10","BUFFER")=RCXVDA
 | 
|---|
| 49 |  W "BUFFER:"_RCXVDA,!
 | 
|---|
| 50 |  Q 
 | 
|---|
| 51 | ENDT(IBBDT) ;Calculates end date
 | 
|---|
| 52 |  S X1=IBBDT,X2=+31 D C^%DTC
 | 
|---|
| 53 |  S X1=$E(X,1,5)_"01",X2=-1 D C^%DTC
 | 
|---|
| 54 |  Q X
 | 
|---|
| 55 | D3547A ;Sets Patient list from 354.7 into 348.4
 | 
|---|
| 56 |  N I,DFN,RCXVDA
 | 
|---|
| 57 |  S RCXVDA=RCDA("I")
 | 
|---|
| 58 |  F I=0,1,2 D
 | 
|---|
| 59 |  . S DFN=0 F  S DFN=$O(^IBAM(354.7,"AC",RCXVMO,I,DFN)) Q:'DFN  D
 | 
|---|
| 60 |  . . D FIL^RCXVDEQ("I")
 | 
|---|
| 61 |  . . ;  If this patient already exists in this batch, quit
 | 
|---|
| 62 |  . . I $D(^RCXV(RCXVDA,3,DFN)) Q 
 | 
|---|
| 63 |  . . ;; File record
 | 
|---|
| 64 |  . . NEW DIC,DIE,X,DA,DLAYGO,Y,DINUM
 | 
|---|
| 65 |  . . S DA(1)=RCXVDA,DIC="^RCXV("_DA(1)_",3,",DIE=DIC,(X,DINUM)=DFN
 | 
|---|
| 66 |  . . S DLAYGO=348.43,DIC(0)="L",DIC("P")=DLAYGO
 | 
|---|
| 67 |  . . I '$D(^RCXV(DA(1),3,0)) S ^RCXV(DA(1),3,0)="^348.43^^"
 | 
|---|
| 68 |  . . D FILE^DICN
 | 
|---|
| 69 |  . . Q
 | 
|---|
| 70 |  . Q
 | 
|---|
| 71 |  S $P(^RCXV(RCXVDA,0),U,10)=RCXVMO
 | 
|---|
| 72 |  ;
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 | HIST ;entry point from post-init for historical job
 | 
|---|
| 75 |  D EN1
 | 
|---|
| 76 |  Q
 | 
|---|