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

BQIIPCFX.m

Go to the documentation of this file.
  1. BQIIPCFX ;GDIT/HS/ALA-Fix IPC ; 02 Jan 2014 12:36 PM
  1. ;;2.3;ICARE MANAGEMENT SYSTEM;**5**;Apr 18, 2012;Build 17
  1. ;
  1. NEW BI,FROW,BQDATE,PRN,PROW
  1. F BI=1:1:16 S FROW=$P($T(ROW+BI),";;",2) D
  1. . S BQDATE=$P(FROW,U,1),ROW=$P(FROW,U,2)
  1. . S PRN=$O(^BQI(90508,1,22,2,3,"B",BQDATE,"")) I PRN="" Q
  1. . S PROW=$P(^BQI(90508,1,22,2,3,PRN,0),U,2)
  1. . I PROW'=ROW S $P(^BQI(90508,1,22,2,3,PRN,0),U,2)=ROW
  1. ;
  1. NEW ZTDTH,ZTDESC,ZTRTN,ZTIO,ZTSAVE,BQIUPD
  1. S ZTDTH=$$FMADD^XLFDT($$NOW^XLFDT(),,,3)
  1. S ZTDESC="IPC Update Compile",ZTRTN="JOB^BQIIPCFX",ZTIO=""
  1. D ^%ZTLOAD
  1. S BQIUPD(90508,"1,",11.04)=ZTSK
  1. D FILE^DIE("","BQIUPD","ERROR")
  1. Q
  1. ;
  1. JOB ;EP
  1. I '$D(^BQI(90508,1,22,2,3,"B",3141100)) D
  1. . S BQDATE=3141100 D EN^BQIIPMNU
  1. I '$D(^BQI(90508,1,22,2,3,"B",3141200)) D
  1. . S BQDATE=3141200 D EN^BQIIPMNU
  1. I '$D(^BQI(90508,1,22,2,3,"B",3150100)) D IJB^BQINIGH3(3150100)
  1. ;
  1. MU ;EP Fix MU
  1. NEW BQIPROV
  1. S BQIPROV=0
  1. F S BQIPROV=$O(^BQIPROV(BQIPROV)) Q:'BQIPROV D
  1. . F CODE="MU_5","MU_6","MU_7","MU_8" D
  1. .. S MPDN=$O(^BQIPROV(BQIPROV,30,"B",CODE,"")) Q:MPDN=""
  1. .. S MPDT=3121200
  1. .. F S MPDT=$O(^BQIPROV(BQIPROV,30,MPDN,1,"B",MPDT)) Q:MPDT="" D
  1. ... S BEGDT=$E(MPDT,1,5)_"01",CYR=$E(MPDT,1,3),BQMON=$E(MPDT,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(MPDT,1,5)_$P(EDAY,U,+BQMON)
  1. ... S BQDATE=MPDT
  1. ... D MU^BQIIPSNG
  1. . I MPDN="" Q
  1. . S BQDATE=3121200
  1. . F S BQDATE=$O(^BQIPROV(BQIPROV,30,MPDN,1,"B",BQDATE)) Q:BQDATE="" D
  1. .. ; Update the MU bundles
  1. .. NEW MPRN,IPRN,IPRD,DEN,NUM,MCOD,MPRD,MBUN
  1. .. S MPRN=$O(^BQIPROV(BQIPROV,30,"B","IPC_WGT",""))
  1. .. I MPRN'="" S MPRD=$O(^BQIPROV(BQIPROV,30,MPRN,1,"B",BQDATE,""))
  1. .. K MBUN
  1. .. F MCOD="MU_8","MU_6","MU_7" D
  1. ... S IPRN=$O(^BQIPROV(BQIPROV,30,"B",MCOD,"")) I IPRN="" Q
  1. ... S IPRD=$O(^BQIPROV(BQIPROV,30,IPRN,1,"B",BQDATE,"")) I IPRD="" Q
  1. ... S DEN=$P(^BQIPROV(BQIPROV,30,IPRN,1,IPRD,0),U,2),NUM=$P(^(0),U,3)
  1. ... S MBUN(+DEN)=+NUM
  1. .. S DEN=$O(MBUN(""))
  1. .. S:DEN="" NUM="" S:DEN'="" NUM=MBUN(DEN)
  1. .. I MPRN'="",MPRD'="" D
  1. ... S $P(^BQIPROV(BQIPROV,30,MPRN,1,MPRD,0),U,2)=DEN,$P(^BQIPROV(BQIPROV,30,MPRN,1,MPRD,0),U,3)=NUM
  1. ;
  1. F CODE="MU_5","MU_6","MU_7","MU_8","IPC_WGT" D
  1. . S BPRV=0 K TDEN,TNUM
  1. . F S BPRV=$O(^BQIPROV(BPRV)) Q:'BPRV D
  1. .. S MPDN=$O(^BQIPROV(BPRV,30,"B",CODE,"")) I MPDN="" Q
  1. .. S BDT=3131200
  1. .. F S BDT=$O(^BQIPROV(BPRV,30,MPDN,1,"B",BDT)) Q:BDT="" D
  1. ... S MIEN=$O(^BQIPROV(BPRV,30,MPDN,1,"B",BDT,"")) I MIEN="" Q
  1. ... S DEN=$P(^BQIPROV(BPRV,30,MPDN,1,MIEN,0),U,2),NUM=$P(^(0),U,3)
  1. ... S TDEN(BDT)=$G(TDEN(BDT))+DEN,TNUM(BDT)=$G(TNUM(BDT))+NUM
  1. . S BDT=""
  1. . F S BDT=$O(TDEN(BDT)) Q:BDT="" D
  1. .. S FAC=$$HME^BQIGPUTL()
  1. .. D STORF^BQIIPUTL(FAC,CODE,BDT,TDEN(BDT),TNUM(BDT))
  1. . K TDEN,TNUM
  1. ;
  1. NEW BQD,BQX,BQDATE,CODE,PRV,TDEN,TNUM,IPRN,IPRD,DEN,NUM,FAC,Y
  1. S BQD=3140800
  1. F S BQD=$O(^BQI(90508,1,22,2,3,"B",BQD)) Q:BQD="" S BQX(BQD)=""
  1. S BQDATE=""
  1. F S BQDATE=$O(BQX(BQDATE)) Q:BQDATE="" D
  1. . S MSN=0,CRN=2
  1. . F S MSN=$O(^BQI(90508,1,22,CRN,1,MSN)) Q:'MSN D
  1. .. S IDATA=^BQI(90508,1,22,CRN,1,MSN,0)
  1. .. S CODE=$P(IDATA,U,1),TYP=$P(IDATA,U,2)
  1. .. ; If inactive, quit
  1. .. I $P(IDATA,U,7)=1 Q
  1. .. ; If type is CRS, update the facility
  1. .. I TYP'="G" Q
  1. .. S PRV="",TDEN=0,TNUM=0
  1. .. F S PRV=$O(^AUPNPAT("AK",PRV)) Q:PRV="" D
  1. ... I $P(^VA(200,PRV,0),U,13)'="" Q
  1. ... S IPRN=$O(^BQIPROV(PRV,30,"B",CODE,"")) I IPRN="" Q
  1. ... S IPRD=$O(^BQIPROV(PRV,30,IPRN,1,"B",BQDATE,"")) I IPRD="" Q
  1. ... S DEN=$P(^BQIPROV(PRV,30,IPRN,1,IPRD,0),U,2),NUM=$P(^(0),U,3)
  1. ... S TNUM=TNUM+NUM,TDEN=TDEN+DEN
  1. ... ;W !,PRV,"|",NUM,"|",DEN
  1. .. ;W !,BQDATE,"|",CODE,"|",TNUM,"|",TDEN
  1. .. S FAC=$$HME^BQIGPUTL()
  1. .. D STORF^BQIIPUTL(FAC,CODE,BQDATE,TDEN,TNUM)
  1. Q
  1. ;
  1. ROW ;EP
  1. ;;3130900^62
  1. ;;3131000^63
  1. ;;3131100^64
  1. ;;3131200^65
  1. ;;3140100^66
  1. ;;3140200^67
  1. ;;3140300^68
  1. ;;3140400^69
  1. ;;3140500^70
  1. ;;3140600^71
  1. ;;3140700^72
  1. ;;3140800^73
  1. ;;3140900^74
  1. ;;3141000^75
  1. ;;3141100^76
  1. ;;3141200^77
  1. Q