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

BARPST6.m

Go to the documentation of this file.
  1. BARPST6 ; IHS/SD/LSL - MESSAGE PROCESSOR ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;;OCT 26, 2005
  1. ;
  1. ; IHS/SD/LSL - 11/26/02 - V1.7 - QAA-1200-130051
  1. ; Modified to quit if error in creating an A/R Transaction
  1. ;
  1. ; ********************************************************************
  1. ;** Message processor for accounts,patients and bills
  1. ;
  1. EN(BARPAT,BARBIL,BARACC) ;EP - message processor
  1. 1 ;
  1. S:'$D(BARPAT) BARPAT=""
  1. S:'$D(BARBIL) BARBIL=""
  1. S:'$D(BARACC) BARACC=""
  1. ;
  1. N BARMTYP,BARM,BAR1,BAR2,BAR3,BAR4
  1. EN1 ;
  1. D CENTER("Message Processor")
  1. F J=4:1:6 S BARM(J)=""
  1. EN2 ;
  1. W !
  1. I BARPAT S BARM(5)=$$GET1^DIQ(2,BARPAT,.01)
  1. I BARBIL S BARM(4)=$$GET1^DIQ(90050.01,BARBIL,.01)
  1. I BARACC S BARM(6)=$$GET1^DIQ(90050.02,BARACC,.01)
  1. S BAR1=$S($L(BARM(4)):"1:BILL MESSAGE for bill "_BARM(4),1:"1:No Bill defined.")
  1. S BAR2=$S($L(BARM(5)):"2:PATIENT MESSAGE for patient "_BARM(5),1:"2:No patient defined.")
  1. S BAR3=$S($L(BARM(6)):"3:ACCOUNT MESSAGE for account "_BARM(6),1:"3:No account defined.")
  1. S BAR4="4:EXIT"
  1. S DIR(0)="SO^"_BAR1_";"_BAR2_";"_BAR3_";"_BAR4
  1. S DIR("A")="Select Message Level"
  1. S DIR("?")="^W *7 D CENTER^BARPST6(""Message Processor"")"
  1. D ^DIR
  1. K DIR
  1. Q:$D(DUOUT)!(+Y=0)!(Y=4)
  1. S BARMTYP=Y
  1. S BARY=BARMTYP+3
  1. I '$L(BARM(BARY)) W *7,"??" H 5 G EN1
  1. D VIEW
  1. D TX
  1. G EN1
  1. ; *********************************************************************
  1. ;
  1. VIEW ;
  1. N BARCNT,BARXRF,BARBX,BARTRDA,BARTRD1
  1. S BARBX=$S(BARMTYP=1:BARBIL,BARMTYP=2:BARPAT,BARMTYP=3:BARACC,1:"")
  1. S BARXRF="AM"_BARY
  1. W !!
  1. I '$D(^BARTR(DUZ(2),BARXRF,BARBX)) D Q
  1. .W *7,!!!,"No Messages on file!"
  1. .D EOP^BARUTL(1)
  1. .Q
  1. S DIR("A")="View existing Messages (Y/N): "
  1. S DIR("B")="NO"
  1. S DIR(0)="YOA"
  1. D ^DIR
  1. K DIR
  1. I Y=0!($D(DUOUT)) Q
  1. D VIEWR^XBLM("VIEW2^BARPST6","Message Display for "_BARM(BARY))
  1. G VIEW3
  1. ; *********************************************************************
  1. ;
  1. VIEW2 ;
  1. W $$EN^BARVDF("IOF"),!
  1. K ^UTILITY($J,"W")
  1. S DIWL=15,DIWR=77,DIWF="W"
  1. S (BARSTOP,BARCNT)=0
  1. S BARTRDA="A"
  1. F S BARTRDA=$O(^BARTR(DUZ(2),BARXRF,BARBX,BARTRDA),-1) Q:'BARTRDA D Q:BARSTOP
  1. . W !,$$GET1^DIQ(90050.03,BARTRDA,12)
  1. . S BARTRD1=0
  1. . F S BARTRD1=$O(^BARTR(DUZ(2),BARTRDA,10,BARTRD1)) Q:'BARTRD1 D Q:BARSTOP
  1. .. S BARCNT=BARCNT+1
  1. .. S X=^BARTR(DUZ(2),BARTRDA,10,BARTRD1,0)
  1. .. D ^DIWP
  1. .. S BARSTOP=0
  1. . D ^DIWW
  1. K ^UTILITY($J,"W")
  1. I 'BARCNT W *7,!!!,"No Messages on File!"
  1. Q:BARSTOP
  1. Q
  1. ; *********************************************************************
  1. ;
  1. VIEW3 ;
  1. D EOP^BARUTL(1)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. TX ;
  1. W $$EN^BARVDF("IOF"),!
  1. D CENTER("Create NEW Message for "_BARM(BARY))
  1. W !!
  1. S DIR("A")="Create a NEW Message (Y/N): "
  1. S DIR("B")="YES"
  1. S DIR(0)="YOA"
  1. D ^DIR
  1. K DIR
  1. I Y=0!($D(DUOUT)) Q
  1. ; -------------------------------
  1. ;
  1. T1 ;
  1. S X=$$NEW^BARTR
  1. Q:X<1
  1. S DA=X
  1. S DIE="^BARTR(DUZ(2),"
  1. S DR="12////^S X=DT"
  1. S DR=DR_";13////^S X=DUZ"
  1. S DR=DR_";7////^S X=1;QUIT;S Y=BARY"
  1. S DR=DR_";4////^S X=BARBIL;S Y=1001"
  1. S DR=DR_";5////^S X=BARPAT;S Y=1001"
  1. S DR=DR_";6////^S X=BARACC;1001"
  1. S DR=DR_";10////^S X=$$VALI^XBDIQ1(200,DUZ,29)"
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. Q
  1. ; *********************************************************************
  1. ;
  1. CENTER(X) ;
  1. W $$EN^BARVDF("IOF"),!
  1. W ?IOM-$L(X)\2,X,!
  1. W ?IOM-$L(X)\2 F J=1:1:$L(X) W "-"
  1. W !
  1. Q
  1. ; *********************************************************************
  1. ;
  1. CHKLINE() ;
  1. ; Q 0 = CONTINUE
  1. ; Q 1 = STOP
  1. N X
  1. I ($Y+4)<IOSL Q 0
  1. W !?(IOM-15),"continued==>"
  1. D EOP^BARUTL(0)
  1. I 'Y Q 1
  1. D CENTER("Message Display for "_BARM(BARY)_" (continued)")
  1. W !!
  1. Q 0