Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BARDINQ

BARDINQ.m

Go to the documentation of this file.
  1. BARDINQ ; IHS/SD/LSL - A/R Debt Collection Bill Inquire ;08/20/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**7**;OCT 26, 2005
  1. ;
  1. ; IHS/SD/LSL - 04/28/2004 - V1.8
  1. ; Routine created.
  1. ; MODIFIED XTMP FILE NAME TO TMP TO MEET SAC REQUIREMENTS;MRS:BAR*1.8*7 IM29892
  1. Q
  1. ; ********************************************************************
  1. ;
  1. EP ; EP
  1. K BARY,BAR
  1. D:'$D(BARUSR) INIT^BARUTL ; Set up basic A/R Variables
  1. D SELBILL ; Select bill by #, pat, dos
  1. Q:'$D(BARBIEN) ; Bill not selected
  1. S BARPAT=$$GET1^DIQ(90050.01,BARBIEN,101)
  1. D DATES^BARDLOG ; Ask date range
  1. I +BARSTART<1 Q ;No dates entered
  1. S BARQ("RC")="PROCESS^BARDINQ" ; Build tmp global with data
  1. S BARQ("RP")="PRINT^BARDINQ" ; Print reports from tmp global
  1. S BARQ("NS")="BAR" ; Namespace for variables
  1. S BARQ("RX")="POUT^BARRUTL" ; Clean-up routine
  1. D ^BARDBQUE ; Double queuing
  1. ;D PAZ^BARRUTL ; Press return to continue
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SELBILL ;
  1. W !!
  1. K DIC,DR,X,Y,DA
  1. S DIC=90050.01
  1. S DIC(0)="AEMQZ"
  1. K DD,DO
  1. D ^DIC
  1. I $D(DUOUT)!($D(DTOUT)) Q
  1. I +Y<0 D Q
  1. . D PAT
  1. . K BARTMP,BARPAT,BARDOS,BARBL,BARCNT
  1. S BARBIEN=+Y
  1. Q
  1. ; ********************************************************************
  1. ;
  1. PAT ;
  1. ; If don't know bill, ask patient
  1. N BARBL,BARCNT
  1. K DIC,DA,DR,X,Y
  1. S DIC="^AUPNPAT("
  1. S DIC(0)="IAEMQZ"
  1. S DIC("S")="Select Patient: "
  1. S DIC("S")="I $D(^BARBL(DUZ(2),""ABC"",Y))"
  1. D ^DIC
  1. K DIC
  1. Q:+Y<0
  1. S BARPAT=+Y
  1. ;
  1. S BARDOS=0,BARCNT=0
  1. F S BARDOS=$O(^BARBL(DUZ(2),"ABC",BARPAT,BARDOS)) Q:'+BARDOS D
  1. . S BARBL=0
  1. . F S BARBL=$O(^BARBL(DUZ(2),"ABC",BARPAT,BARDOS,BARBL)) Q:'+BARBL D
  1. . . Q:'$D(^BARBL(DUZ(2),BARBL,0))
  1. . . S BARCNT=BARCNT+1
  1. . . S BARTMP(BARCNT)=$$GET1^DIQ(90050.01,BARBL,.01)_U_$$SDT^BARDUTL(BARDOS)_U_BARBL
  1. ;
  1. W !
  1. S BARCNT=0
  1. F S BARCNT=$O(BARTMP(BARCNT)) Q:'+BARCNT D
  1. . W !,$J(BARCNT,2),".",?5,$P(BARTMP(BARCNT),U),?40,$P(BARTMP(BARCNT),U,2)
  1. ;
  1. S BARANS=0
  1. W !
  1. K DIR
  1. S DIR(0)="NAO^1:"_BARCNT
  1. S DIR("A")="Please enter the LINE # of the bill chosen for Inquiry: "
  1. S DIR("?")="Enter a number between 1 and "_BARCNT
  1. D ^DIR
  1. Q:'+Y
  1. S BARBIEN=$P(BARTMP(+Y),U,3)
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. PROCESS ; EP
  1. K ^TMP($J,"BAR-DLOG")
  1. Q:'$D(^BARDEBT("C",BARBIEN)) ; Bill not in log.
  1. S BARIEN=0
  1. F S BARIEN=$O(^BARDEBT("C",BARBIEN,BARIEN)) Q:'+BARIEN D DATA
  1. Q
  1. ; ********************************************************************
  1. ;
  1. DATA ;
  1. Q:'$D(^BARDEBT(BARIEN,0)) ; No data
  1. Q:DUZ(2)'=$P($G(^BARDEBT(BARIEN,0)),U,8) ; Bill not this DUZ(2)
  1. S BARDATE=$P($G(^BARDEBT(BARIEN,0)),U) ; date sent
  1. Q:BARDATE<BARSTART
  1. Q:BARDATE>BAREND
  1. D DATA^BARDLOG ; Set temp global
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. PRINT ; EP
  1. K BARAC,BARDOS,BARIEN,BARBL,BARDATE,BARBAL,BARACT,BARHOLD
  1. S BARHDR="DEBT COLLECTION BILL INQUIRY REPORT"
  1. S BARPG=0
  1. D NOW^%DTC
  1. S Y=%
  1. X ^DD("DD")
  1. S BARUN=$P(Y,":",1,2)
  1. S $P(BARDASH,"-",81)=""
  1. D HEADP^BARDLOG
  1. ;
  1. ; No data
  1. I '$D(^TMP($J,"BAR-DLOG")) D Q
  1. . W !!,$$CJ^XLFSTR("******* NO RECORDS TO PRINT *******",IOM)
  1. . D PAZ^BARRUTL
  1. ;
  1. W !?5,"Patient Name: ",$G(BARPAT)
  1. S (BARTOT,BARCNT,BARSTOP)=0
  1. S BARTOT2=0
  1. S BARAC=""
  1. F S BARAC=$O(^TMP($J,"BAR-DLOG",BARAC)) Q:BARAC="" D ACCTP^BARDLOG Q:BARSTOP
  1. Q:BARSTOP
  1. W !?42,"----------",?69,"----------"
  1. W !?42,$J(BARTOT,10,2)," (",BARCNT,")",?69,$J(BARTOT2,10,2)
  1. D PAZ^BARRUTL
  1. Q