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

ABMUVCSH.m

Go to the documentation of this file.
  1. ABMUVCSH ; IHS/SD/SDR - 3PB/UFMS View Cashiering Session Option
  1. ;;2.6;IHS 3P BILLING SYSTEM;**11,21**;NOV 12, 2009;Build 379
  1. ; New routine - v2.5 p12 SDD item 4.9.2.2
  1. ;IHS/SD/SDR - 2.6*21 - HEAT121470 - Updated to display all open, all closed, but only the limit of transmitted sessions
  1. ;
  1. ; View Cashiering Session
  1. EP ;EP
  1. D HEADER("OPEN")
  1. S ABMSESSL="O" ;abm*2.6*21 IHS/SD/SDR HEAT121470
  1. D FINDAOPN^ABMUCUTL
  1. S ABMTRIBL=$P($G(^ABMDPARM(DUZ(2),1,4)),U,14)
  1. I '$D(ABMO) W !?5,"There are NO open sessions at this time"
  1. D VIEWLIST
  1. K DIR,X,Y
  1. W !!
  1. I $D(ABMO) D
  1. .S DIR(0)="NO^1:"_ABMSCNT
  1. .S DIR("A")="Select Session Number to View: "
  1. .D ^DIR K DIR
  1. S ABMSESSL=+$G(Y)
  1. I ABMSESSL'=0 D DISPLAY("opened") ;open session selected for view
  1. I +$G(ABMSESSL)=0 D ;no open session selected; what about closed?
  1. .W !!
  1. .W !?1,"Other session statuses available for viewing"
  1. .W !?1,"Enter list of session statuses to view or ""^"" to quit."
  1. .W !!?4,"C - CLOSED"
  1. .I $P($G(^ABMDPARM(DUZ(2),1,4)),U,14)=0 W !?4,"R - RECONCILED"
  1. .I $P($G(^ABMDPARM(DUZ(2),1,4)),U,14)=1 W !?4,"T - TRANSMITTED"
  1. .W !?4,"B - BOTH",!
  1. .S DIR(0)="FO^0:3"
  1. .S DIR("A")="Session statuses to view"
  1. .D ^DIR K DIR
  1. .Q:$D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT)
  1. .S ABMBAD=0
  1. .I Y="B"!(Y="b") S Y=$S($P($G(^ABMDPARM(DUZ(2),1,4)),U,14)=0:"CR",1:"CT")
  1. .S ABMSESSL=Y
  1. .I ABMSESSL="C" S ABMFLG="CLOSED" ;abm*2.6*21 IHS/SD/SDR HEAT121470
  1. .F I=1:1:$L(Y) I ABMSESSL'[$E(Y,I) D Q
  1. ..W !!,"<<BAD ENTRY>> ",Y
  1. ..S ABMBAD=1
  1. .Q:+ABMBAD
  1. .;
  1. .W !!
  1. .D HEADER("CLOSED")
  1. .D FINDACLS^ABMUCUTL
  1. .I '$D(ABMO) W !?5,"There are NO sessions with a status of "_$S(ABMSESSL["RT":"RECONCILED and TRANSMITTED",ABMSESSL="R":"RECONCILED",1:"TRANSMITTED")_"at this time" S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR Q
  1. .D VIEWLIST
  1. .W !!
  1. .K DIR
  1. .S DIR(0)="NO^1:"_ABMSCNT
  1. .S DIR("A")="Select Session Number to View: "
  1. .D ^DIR K DIR
  1. .S ABMSESSL=+Y
  1. .I ABMSESSL'=0 D DISPLAY("closed") ;closed session selected for view
  1. Q
  1. W !!,"The following SESSIONS are currently "_ABMFLG_" =>"
  1. W !!?3,"(*) Indicates no activity in session."
  1. W !!?6,"SESSION ID",?19,"CASHIER",?47,"DATE "_$S(ABMFLG="OPEN":"OPENED",1:ABMFLG)
  1. I ABMFLG["CLOSE" W ?68,"STATUS"
  1. W !
  1. S $P(ABMLINE,"-",80)=""
  1. W ABMLINE
  1. Q
  1. VIEWLIST ;EP
  1. S X1=DT
  1. S X2="-"_$P($G(^ABMDPARM(DUZ(2),1,4)),U,16) ;display number of days limit
  1. D C^%DTC
  1. S ABMDLIMT=X
  1. S ABMS=0,ABMSCNT=0
  1. F S ABMS=$O(ABMO(ABMS)) Q:+ABMS=0 D
  1. .S ABMSDUZ=""
  1. .F S ABMSDUZ=$O(ABMO(ABMS,ABMSDUZ)) Q:ABMSDUZ="" D
  1. ..;not supervisor; they can only view their own sessions
  1. ..I '$D(^XUSEC("ABMDZ UFMS SUPERVISOR",DUZ)),(ABMSDUZ'=DUZ) K ABMO(ABMS,ABMSDUZ) Q
  1. ..S ABMSDT=0
  1. ..F S ABMSDT=$O(ABMO(ABMS,ABMSDUZ,ABMSDT)) Q:+ABMSDT=0 D
  1. ...;Q:ABMSDT<ABMDLIMT ;abm*2.6*21 IHS/SD/SDR HEAT121470
  1. ...I "^O^C^"'[("^"_ABMSESSL_"^") Q:ABMSDT<ABMDLIMT ;abm*2.6*21 IHS/SD/SDR HEAT121470
  1. ...I $G(ABMSESSL)'="",(ABMSESSL'[$P($G(ABMO(ABMS,ABMSDUZ,ABMSDT)),U)) Q ;status selected and not part of selection
  1. ...S ABMSCNT=ABMSCNT+1
  1. ...W !,ABMSCNT_"."
  1. ...W ?4,ABMSDT
  1. ...W ?19,$S(+ABMSDUZ'=0:$E($P($G(^VA(200,ABMSDUZ,0)),U),1,26),1:"POS CLAIMS")
  1. ...W ?47,$$CDT^ABMDUTL($S($P($G(ABMO(ABMS,ABMSDUZ,ABMSDT)),U,2)'="":$P($G(ABMO(ABMS,ABMSDUZ,ABMSDT)),U,2),1:ABMSDT))
  1. ...I $P(ABMO(ABMS,ABMSDUZ,ABMSDT),U)'="" D
  1. ....S ABMST=$P($G(ABMO(ABMS,ABMSDUZ,ABMSDT)),U)
  1. ....W ?68,$S(ABMST="O":"OPEN",ABMST="C":"CLOSED",ABMST="R":"RECONCILED",1:"TRANSMITTED")
  1. ...S ABMOS(ABMSCNT)=ABMS_"^"_ABMSDUZ_"^"_ABMSDT_"^"_$G(ABMO(ABMS,ABMSDUZ,ABMSDT))
  1. ...I +ABMSDUZ'=0,(+$P($G(ABMO(ABMS,ABMSDUZ,ABMSDT)),U,3)=0) W ?79,"*" ;session doesn't have activity
  1. Q
  1. DISPLAY(ABMFLG) ;EP
  1. W $$EN^ABMVDF("IOF")
  1. S ABMLREC=$G(ABMOS(ABMSESSL))
  1. S ABMS=$P(ABMLREC,U)
  1. S ABMSDUZ=$P(ABMLREC,U,2)
  1. S ABMSDT=$P(ABMLREC,U,3)
  1. W !,"Session detail for Session ID: "_ABMSDT
  1. W ?48,"Date ",ABMFLG,": ",$$CDT^ABMDUTL(ABMSDT)
  1. W !,"Cashier: ",$S(+ABMSDUZ'=0:$P($G(^VA(200,ABMSDUZ,0)),U),1:"POS CLAIMS")
  1. W !,ABMLINE
  1. S ABMFD=ABMSDT
  1. D:+ABMSDUZ CASHTOT^ABMUCASH(ABMSDUZ)
  1. D:'ABMSDUZ CASHTOTP^ABMUCASH
  1. S ABMBA=""
  1. I '$D(ABMBAL)&(+ABMSDUZ) D Q
  1. .W !?5,"AT THIS TIME THERE IS NO BILLING ACTIVITY FOR THIS SESSION.",!
  1. .S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
  1. F S ABMBA=$O(ABMBAL(ABMBA)) Q:ABMBA="" D
  1. .;W !?5,$P($T(@ABMBA^ABMUCASH),";;",2) ;abm*2.6*11 insurer type
  1. .W !?5,$$INSTYP^ABMUCASH(ABMBA) ;abm*2.6*11 insurer type
  1. .W !?15,"- Cancelled Claims",?40,+$G(ABMBAL(ABMBA,"CCLMS"))
  1. .W !?15,"- Approved Bills",?40,+$G(ABMBAL(ABMBA,"ABILLS")),?50,"$",$J($FN(+$G(ABMBAL(ABMBA,"ABAMT")),",",2),10)
  1. .I +$G(ABMBAL(ABMBA,"EBILLS"))>0 D
  1. ..W " "
  1. ..W $$EN^ABMVDF("RVN")_"(EXCL. ",ABMBAL(ABMBA,"EBILLS")
  1. ..W $$EN^ABMVDF("RVN")_" @ "_$FN(+$G(ABMBAL(ABMBA,"EBAMT")),",",2)_")"
  1. ..W $$EN^ABMVDF("RVF")
  1. .W !?15,"- Cancelled Bills",?40,+$G(ABMBAL(ABMBA,"CBILLS")),?50,"$",$J($FN(+$G(ABMBAL(ABMBA,"CBAMT")),",",2),10)
  1. W !
  1. ;requeued bills/batches
  1. I +$G(ABMBLCNT)'=0 W !?3,ABMBLCNT_" "_$S(ABMBLCNT=1:"BILL has",1:"BILLS have")_" been requeued"
  1. I +$G(ABMBTCNT)'=0 W !?3,ABMBTCNT_" "_$S(ABMBTCNT=1:"EXPORT has",1:"EXPORTS have")_" been requeued"
  1. ;ben pts
  1. I +$P($G(^ABMUCASH(ABMLOC,10,ABMSDUZ,20,ABMFD,0)),U,11)'=0 D
  1. .S ABMBCNT=$P($G(^ABMUCASH(ABMLOC,10,ABMSDUZ,20,ABMFD,0)),U,11)
  1. .W !?3,"There is ",ABMBCNT," claims/bills for beneficiary patients in this session that will ",!?3,"not be included in the export.",!
  1. ;
  1. K DIR
  1. ;view detail of session?
  1. W !
  1. K DIR,X,Y
  1. S DIR("A")="View detail"
  1. S DIR(0)="Y"
  1. D ^DIR K DIR
  1. S ABMDUZ=ABMSDUZ
  1. I Y=1 D SEL^ABMUCASH
  1. S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
  1. Q