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

BQIIPRVG.m

Go to the documentation of this file.
  1. BQIIPRVG ;VNGT/HS/ALA-IPC Revenue Generated ; 04 May 2011 10:59 AM
  1. ;;2.4;ICARE MANAGEMENT SYSTEM;;Apr 01, 2015;Build 41
  1. ;
  1. ;
  1. EN(BQDATE) ;EP
  1. NEW BQMON,BQDTE,BEGDT,ENDT,EDAY,ID,PROV,BQTOTV,BQTOTP,FAC
  1. NEW FC,TVIS,TPD,CL,QFL,CRST
  1. S QFL=0
  1. S CRST=$P($G(^BQI(90508,1,11)),U,2) S:CRST="" CRST=1
  1. S CRST="0"_CRST
  1. ;
  1. I $G(BQDATE)'="" D
  1. . S BEGDT=$E(BQDATE,1,5)_"01",CYR=$E(BQDATE,1,3),BQMON=$E(BQDATE,4,5)
  1. . I $L(BQMON)=1 S BQMON="0"_BQMON
  1. . S EDAY="31^"_($$LEAP^XLFDT2(CYR)+28)_"^31^30^31^30^31^31^30^31^30^31"
  1. . S ENDT=$E(BQDATE,1,5)_$P(EDAY,U,+BQMON)
  1. ;
  1. I $G(BQDATE)="" D Q:QFL
  1. . I $E(DT,6,7)'=CRST S QFL=1 Q
  1. . S BQMON=$E(DT,4,5)-1,CYR=$E(DT,1,3),PYR=CYR-1
  1. . I $L(BQMON)=1 S BQMON="0"_BQMON
  1. . S BQDTE=$P($T(BQM+BQMON),";;",2)
  1. . S BEGDT=@($P(BQDTE,U,2))_$P(BQDTE,U,1)_"01"
  1. . S EDAY="31^"_($$LEAP^XLFDT2(CYR)+28)_"^31^30^31^30^31^31^30^31^30^31"
  1. . S ENDT=@($P(BQDTE,U,2))_$P(BQDTE,U,1)_$P(EDAY,U,+$P(BQDTE,U,1))
  1. . S BQDATE=$S(BQMON="01":PYR,1:CYR)_BQMON_"00"
  1. ;
  1. S ID="IPC_REVG"
  1. ;
  1. S PROV="",BQTOTV=0,BQTOTP=0
  1. F S PROV=$O(^AUPNPAT("AK",PROV)) Q:PROV="" D
  1. . I $P(^VA(200,PROV,0),U,13)'="" Q
  1. . D PRV(PROV)
  1. . D STORP^BQIIPUTL(PROV,ID,BQDATE,TVIS,TPD)
  1. ;
  1. S FAC=$$HME^BQIGPUTL()
  1. D STORF^BQIIPUTL(FAC,ID,BQDATE,BQTOTV,BQTOTP)
  1. Q
  1. ; Set over all for facility
  1. NEW DA,DIC,FAC,DLAYGO,MSRN
  1. S FAC=$P(^BQI(90508,1,0),U,1)
  1. I '$D(^BQIFAC(FAC,30,0)) S ^BQIFAC(FAC,30,0)="^90505.63^^"
  1. S DA(1)=FAC,DIC(0)="LMNZ",DLAYGO=90505.63,X=ID,DIC="^BQIFAC("_DA(1)_",30,"
  1. D ^DIC I Y=-1 K DO,DD D FILE^DICN
  1. S MSRN=+Y
  1. I '$D(^BQIFAC(FAC,30,MSRN,1,0)) S ^BQIFAC(FAC,30,MSRN,1,0)="^90505.631D^^"
  1. S DA(2)=FAC,DA(1)=MSRN,DIC(0)="LMNZ",DLAYGO=90505.631,X=BQDATE
  1. S DIC="^BQIFAC("_DA(2)_",30,"_DA(1)_",1,"
  1. D ^DIC I Y=-1 K DO,DD D FILE^DICN
  1. S DA=+Y
  1. S $P(^BQIFAC(FAC,30,MSRN,1,DA,0),U,2,3)=BQTOTP_U_BQTOTV
  1. ;
  1. K BARP,BAR,BARQ,BARY,BQTOTV,BQTOTP
  1. Q
  1. ;
  1. PRV(PROV) ;EP
  1. I $T(COMPUTE^BARDRST)="" D Q
  1. . S TVIS=0,BQTOTV=BQTOTV+TVIS
  1. . S TPD=0,BQTOTP=BQTOTP+TPD
  1. K BARP,BAR,BARQ,BARY
  1. S BARP("RTN")="BARDRST"
  1. S BAR("LOC")="VISIT"
  1. S BAR("LVL")=3
  1. S BAR("OPT")="STA"
  1. S BAR("PAY")=""
  1. S BAR("RTYP")=0
  1. S BAR("STATUS")=0
  1. S BARQ("NS")="BAR"
  1. S BARQ("RC")="COMPUTE^BARDRST"
  1. S BARQ("RP")="PRT^BQIIPRVG"
  1. S BARQ("RX")="POUT^BARRUTL"
  1. S BARY("DT")="V"
  1. S BARY("DT",1)=BEGDT
  1. S BARY("DT",2)=ENDT
  1. S BARY("PRV")=PROV
  1. S BARY("SORT")="C"
  1. D COMPUTE^BARDRST
  1. S FC=1
  1. S TVIS=0,TPD=0
  1. F S FC=$O(BAR(FC)) Q:'FC D
  1. . S CL=""
  1. . F S CL=$O(BAR(FC,CL)) Q:CL="" D
  1. .. S TVIS=TVIS+$P(BAR(FC,CL),U,1),BQTOTV=BQTOTV+TVIS
  1. .. S TPD=TPD+$P(BAR(FC,CL),U,4),BQTOTP=BQTOTP+TPD
  1. K BARP,BAR,BARQ,BARY
  1. Q
  1. ;
  1. PRT ;
  1. Q
  1. ;
  1. STORP ; Store for provider
  1. NEW DA,DIC,MSRN,DLAYGO,X
  1. I '$D(^BQIPROV(PROV,30,0)) S ^BQIPROV(PROV,30,0)="^90505.43^^"
  1. S DA(1)=PROV,DIC(0)="LMNZ",DLAYGO=90505.43,X=ID,DIC="^BQIPROV("_DA(1)_",30,"
  1. D ^DIC I Y=-1 K DO,DD D FILE^DICN
  1. S MSRN=+Y
  1. I '$D(^BQIPROV(PROV,30,MSRN,1,0)) S ^BQIPROV(PROV,30,MSRN,1,0)="^90505.431D^^"
  1. S DA(2)=PROV,DA(1)=MSRN,DIC(0)="LMNZ",DLAYGO=90505.431,X=BQDATE
  1. S DIC="^BQIPROV("_DA(2)_",30,"_DA(1)_",1,"
  1. D ^DIC I Y=-1 K DO,DD D FILE^DICN
  1. S DA=+Y
  1. S $P(^BQIPROV(PROV,30,MSRN,1,DA,0),U,2,3)=TPD_U_TVIS
  1. K TVIS,TPD
  1. Q
  1. ;
  1. BQM ;
  1. ;;09^PYR
  1. ;;10^PYR
  1. ;;11^PYR
  1. ;;12^PYR
  1. ;;01^CYR
  1. ;;02^CYR
  1. ;;03^CYR
  1. ;;04^CYR
  1. ;;05^CYR
  1. ;;06^CYR
  1. ;;07^CYR
  1. ;;08^CYR