- BGP0GUPL ; IHS/CMI/LAB - GUI Upload ;
- ;;10.0;IHS CLINICAL REPORTING;;JUN 18, 2010
- ;
- ;
- EP(BGPRET,BGPUSER,BGPDUZ2,BGPOPTN,BGPDIR,BGPFILE,BGPRTIME) ;EP - called from GUI to produce COM REPORT CI05-AO-UPL
- ; SEE ROUTINE BGP0DL if you have questions about any of these variables
- ; BGPUSER - DUZ
- ; BGPDUZ2 - DUZ(2)
- ; BGPOPTN - OPTION NAME
- ; BGPFILE - FILE TO UPLOAD
- ;
- ;
- ; BGPRET - return value is ien^error message. a zero (0) is
- ; passed as ien if error occurred, display the filename back to the user
- ; if they chose to export to area
- ;
- ; I put the list of files in the BGPGUIT global in field 1100 as an output
- ;create entry in gui output file
- ;queue report to run with/GUIR
- D EP1
- S Y=$G(BGPRET)
- ;D EN^XBVK("BGP") S:$D(ZTQUEUED) ZTREQ="@"
- I '$P($G(BGPRET),U) S BGPRET=1_"^Upload OK"
- Q
- EP1 ;
- S U="^"
- I $G(BGPUSER)="" S BGPRET=0_"^USER NOT PASSED" Q
- I $G(BGPDUZ2)="" S BGPRET=0_"^DUZ(2) NOT PASSED" Q
- I $G(BGPOPTN)="" S BGPRET=0_"^OPTION NAME NOT PASSED" Q
- I $G(BGPDIR)="" S BGPRET=0_"^DIRECTORY NAME NOT PASSED" Q
- I $G(BGPFILE)="" S BGPRET=0_"^FILE NAME NOT PASSED" Q
- S BGPRTIME=$G(BGPRTIME)
- ;S DUZ=BGPUSER
- S DUZ(2)=BGPDUZ2
- S:'$D(DT) DT=$$DT^XLFDT
- D ^XBKVAR
- S BGPGUI=1
- S IOM=80,BGPIOSL=55
- ;SEND THE REPORT PROCESS OFF TO THE BACKGROUND USING TASKMAN CALL
- AOUPL ;
- READF ;EP read file
- NEW Y,X,I,BGPC
- S BGPC=1
- S Y=$$OPEN^%ZISH(BGPDIR,BGPFILE,"R")
- I Y S BGPRET="0^CANNOT OPEN (OR ACCESS) FILE '"_BGPDIR_BGPFILE_"'." D EOJ Q
- KILL ^TMP("BGPUPL",$J)
- F I=1:1 U IO R X:DTIME S X=$$STRIP(X) Q:X="" S ^TMP("BGPUPL",$J,BGPC,0)=X,BGPC=BGPC+1 Q:$$STATUS^%ZISH=-1
- D ^%ZISC
- ;W !!,"All done reading file",!
- PROC ;
- I $P(BGPFILE,".",2)["HE" D PROCHE Q
- I $P(BGPFILE,".",2)["EL" D PROCEL Q
- I $P(BGPFILE,".",2)["PED" D PROCPED Q
- I $P(BGPFILE,".",2)["EO" D PROCEO^BGP0GUP1 Q
- ;W !,"Processing",!
- S BGP0=$P($G(^TMP("BGPUPL",$J,1,0)),"|",9)
- S BGPG=$P($G(^TMP("BGPUPL",$J,1,0)),"|")
- F X=1:1:14 S Y="BGP"_X,@Y=$P(BGP0,U,X)
- ;find existing entry and if exists, delete it
- N X
- S (X,BGPOIEN)=0 F S X=$O(^BGPGPDCT(X)) Q:X'=+X D
- .Q:'$D(^BGPGPDCT(X,0))
- .S Y=^BGPGPDCT(X,0)
- .Q:$P(Y,U)'=BGP1
- .Q:$P(Y,U,2)'=BGP2
- .Q:$P(Y,U,3)'=BGP3
- .Q:$P(Y,U,4)'=BGP4
- .Q:$P(Y,U,5)'=BGP5
- .Q:$P(Y,U,6)'=BGP6
- .Q:$P(Y,U,8)'=BGP8
- .Q:$P(Y,U,9)'=BGP9
- .Q:$P(Y,U,10)'=BGP10
- .Q:$P(Y,U,11)'=BGP11
- .Q:$P(Y,U,12)'=BGP12
- .Q:$P(Y,U,14)'=BGP14
- .S BGPOIEN=X
- D ^XBFMK
- I BGPOIEN S DA=BGPOIEN,DIK="^BGPGPDCT(" D ^DIK S DA=BGPOIEN,DIK="^BGPGPDPT(" D ^DIK S DA=BGPOIEN,DIK="^BGPGPDBT(" D ^DIK
- ;add entry
- L +^BGPGPDCT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- L +^BGPGPDPT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- L +^BGPGPDBT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- D GETIEN^BGP0UTL
- I 'BGPIEN S BGPRET=0_"^error in file creation...call programmer." D EOJ Q
- CY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90377.03,DIC="^BGPGPDCT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPGPDCT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPGPDCT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPGPDCT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPGPDCT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPGPDCT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPGPDCT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPGPDCT(" D IX1^DIK
- PY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90377.04,DIC="^BGPGPDPT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPGPDPT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPGPDPT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPGPDPT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPGPDPT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPGPDPT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPGPDPT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPGPDPT(" D IX1^DIK
- BY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90377.05,DIC="^BGPGPDBT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPGPDBT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPGPDBT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPGPDBT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPGPDBT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPGPDBT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPGPDBT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPGPDBT(" D IX1^DIK
- ;W !,"Data uploaded."
- D EOJ
- Q
- EOJ ;EP
- L -^BGPGPDCT
- L -^BGPGPDPT
- L -^BGPGPDBT
- L -^BGPHEDCT
- L -^BGPHEDPT
- L -^BGPHEDBT
- L -^BGPELDCT
- L -^BGPELDPT
- L -^BGPELDBT
- L -^BGPPEDCT
- L -^BGPPEDPT
- L -^BGPPEDBT
- L -^BGPEOCT
- L -^BGPEOBT
- L -^BGPEOPT
- ;D EOP^BGP0DH
- K IOPAR
- ;D HOME^%ZIS
- K X,X1,X2,X3,X4,X5,X6
- K A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,V,W,X,Y,Z
- K N,N1,N2,N3,N4,N5,N6
- K DIC,DA,X,Y,%Y,%,BGPJ,BGPTEXT,BGPLINE,BGP
- Q
- STRIP(Z) ;REMOVE CONTROLL CHARACTERS
- NEW I
- F I=1:1:$L(Z) I (32>$A($E(Z,I))) S Z=$E(Z,1,I-1)_""_$E(Z,I+1,999)
- Q Z
- ;
- PROCHE ;
- ;W !,"Processing",!
- S BGP0=$P($G(^TMP("BGPUPL",$J,1,0)),"|",9)
- S BGPG=$P($G(^TMP("BGPUPL",$J,1,0)),"|")
- F X=1:1:14 S Y="BGP"_X,@Y=$P(BGP0,U,X)
- ;find existing entry and if exists, delete it
- N X
- S (X,BGPOIEN)=0 F S X=$O(^BGPHEDCT(X)) Q:X'=+X S Y=^BGPHEDCT(X,0) D
- .Q:$P(Y,U)'=BGP1
- .Q:$P(Y,U,2)'=BGP2
- .Q:$P(Y,U,3)'=BGP3
- .Q:$P(Y,U,4)'=BGP4
- .Q:$P(Y,U,5)'=BGP5
- .Q:$P(Y,U,6)'=BGP6
- .Q:$P(Y,U,8)'=BGP8
- .Q:$P(Y,U,9)'=BGP9
- .Q:$P(Y,U,10)'=BGP10
- .Q:$P(Y,U,11)'=BGP11
- .Q:$P(Y,U,12)'=BGP12
- .Q:$P(Y,U,14)'=BGP14
- .S BGPOIEN=X
- D ^XBFMK
- I BGPOIEN S DA=BGPOIEN,DIK="^BGPHEDCT(" D ^DIK S DA=BGPOIEN,DIK="^BGPHEDPT(" D ^DIK S DA=BGPOIEN,DIK="^BGPHEDBT(" D ^DIK
- ;add entry
- L +^BGPHEDCT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- L +^BGPHEDPT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- L +^BGPHEDBT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- D GETIEN^BGP0HUTL
- I 'BGPIEN S BGPRET=0_"^error in file creation...call programmer." D EOJ Q
- HECY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90378.03,DIC="^BGPHEDCT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- N X
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPHEDCT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPHEDCT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPHEDCT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPHEDCT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPHEDCT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPHEDCT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPHEDCT(" D IX1^DIK
- HEPY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90378.04,DIC="^BGPHEDPT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- N X
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPHEDPT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPHEDPT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPHEDPT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPHEDPT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPHEDPT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPHEDPT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPHEDPT(" D IX1^DIK
- HEBY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90378.05,DIC="^BGPHEDBT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPHEDBT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPHEDBT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPHEDBT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPHEDBT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPHEDBT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPHEDBT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPHEDBT(" D IX1^DIK
- ;W !,"Data uploaded."
- D EOJ
- Q
- ;
- PROCEL ;
- ;W !,"Processing",!
- S BGP0=$P($G(^TMP("BGPUPL",$J,1,0)),"|",9)
- S BGPG=$P($G(^TMP("BGPUPL",$J,1,0)),"|")
- F X=1:1:14 S Y="BGP"_X,@Y=$P(BGP0,U,X)
- ;find existing entry and if exists, delete it
- N X
- S (X,BGPOIEN)=0 F S X=$O(^BGPELDCT(X)) Q:X'=+X S Y=^BGPELDCT(X,0) D
- .Q:$P(Y,U)'=BGP1
- .Q:$P(Y,U,2)'=BGP2
- .Q:$P(Y,U,3)'=BGP3
- .Q:$P(Y,U,4)'=BGP4
- .Q:$P(Y,U,5)'=BGP5
- .Q:$P(Y,U,6)'=BGP6
- .Q:$P(Y,U,8)'=BGP8
- .Q:$P(Y,U,9)'=BGP9
- .Q:$P(Y,U,10)'=BGP10
- .Q:$P(Y,U,11)'=BGP11
- .Q:$P(Y,U,12)'=BGP12
- .Q:$P(Y,U,14)'=BGP14
- .S BGPOIEN=X
- D ^XBFMK
- I BGPOIEN S DA=BGPOIEN,DIK="^BGPELDCT(" D ^DIK S DA=BGPOIEN,DIK="^BGPELDPT(" D ^DIK S DA=BGPOIEN,DIK="^BGPELDBT(" D ^DIK
- ;add entry
- L +^BGPELDCT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- L +^BGPELDPT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- L +^BGPELDBT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- D GETIEN^BGP0EUTL
- I 'BGPIEN S BGPRET=0_"^error in file creation...call programmer." D EOJ Q
- ELCY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90379.03,DIC="^BGPELDCT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPELDCT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPELDCT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPELDCT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPELDCT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPELDCT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPELDCT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPELDCT(" D IX1^DIK
- ELPY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90379.04,DIC="^BGPELDPT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPELDPT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPELDPT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPELDPT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPELDPT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPELDPT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPELDPT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPELDPT(" D IX1^DIK
- ELBY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90379.05,DIC="^BGPELDBT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- N X
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPELDBT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPELDBT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPELDBT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPELDBT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPELDBT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPELDBT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPELDBT(" D IX1^DIK
- ;W !,"Data uploaded."
- D EOJ
- Q
- ;
- PROCPED ;
- ;W !,"Processing",!
- S BGP0=$P($G(^TMP("BGPUPL",$J,1,0)),"|",9)
- S BGPG=$P($G(^TMP("BGPUPL",$J,1,0)),"|")
- F X=1:1:14 S Y="BGP"_X,@Y=$P(BGP0,U,X)
- ;find existing entry and if exists, delete it
- N X
- S (X,BGPOIEN)=0 F S X=$O(^BGPPEDCT(X)) Q:X'=+X S Y=^BGPPEDCT(X,0) D
- .Q:$P(Y,U)'=BGP1
- .Q:$P(Y,U,2)'=BGP2
- .Q:$P(Y,U,3)'=BGP3
- .Q:$P(Y,U,4)'=BGP4
- .Q:$P(Y,U,5)'=BGP5
- .Q:$P(Y,U,6)'=BGP6
- .Q:$P(Y,U,7)'=BGP7
- .Q:$P(Y,U,8)'=BGP8
- .Q:$P(Y,U,9)'=BGP9
- .Q:$P(Y,U,10)'=BGP10
- .Q:$P(Y,U,11)'=BGP11
- .Q:$P(Y,U,12)'=BGP12
- .S BGPOIEN=X
- D ^XBFMK
- I BGPOIEN S DA=BGPOIEN,DIK="^BGPPEDCT(" D ^DIK S DA=BGPOIEN,DIK="^BGPPEDPT(" D ^DIK S DA=BGPOIEN,DIK="^BGPPEDBT(" D ^DIK
- ;add entry
- L +^BGPPEDCT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- L +^BGPPEDPT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- L +^BGPPEDBT:10 I '$T S BGPRET=0_"^unable to lock global. TRY LATER" D EOJ Q
- D GETIEN^BGP0PUTL
- I 'BGPIEN S BGPRET=0_"^error in file creation...call programmer." D EOJ Q
- PEDCY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90377.12,DIC="^BGPPEDCT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPPEDCT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPPEDCT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPPEDCT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPPEDCT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPPEDCT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPPEDCT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPPEDCT(" D IX1^DIK
- PEDPY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90377.13,DIC="^BGPPEDPT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPPEDPT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPPEDPT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPPEDPT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPPEDPT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPPEDPT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPPEDPT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPPEDPT(" D IX1^DIK
- PEDBY ;
- S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90377.14,DIC="^BGPPEDBT(",DIC(0)="L"
- K DD,D0,DO
- D FILE^DICN
- I Y=-1 S BGPRET=0_"^error uploading file......" G EOJ
- S BGPIEN=+Y
- D ^XBFMK
- S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
- .Q:$P(V,"|")'="BGPPEDBT"
- .S V=$P(V,"|",2,9999)
- .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
- .I N5]"" S ^BGPPEDBT(BGPIEN,N,N2,N3,N4,N5)=D Q
- .I N4]"" S ^BGPPEDBT(BGPIEN,N,N2,N3,N4)=D Q
- .I N3]"" S ^BGPPEDBT(BGPIEN,N,N2,N3)=D Q
- .I N2]"" S ^BGPPEDBT(BGPIEN,N,N2)=D Q
- .I N]"" S ^BGPPEDBT(BGPIEN,N)=D
- .Q
- S DA=BGPIEN,DIK="^BGPPEDBT(" D IX1^DIK
- ;W !,"Data uploaded."
- D EOJ
- Q
- ;
- BGP0GUPL ; IHS/CMI/LAB - GUI Upload ;
- +1 ;;10.0;IHS CLINICAL REPORTING;;JUN 18, 2010
- +2 ;
- +3 ;
- EP(BGPRET,BGPUSER,BGPDUZ2,BGPOPTN,BGPDIR,BGPFILE,BGPRTIME) ;EP - called from GUI to produce COM REPORT CI05-AO-UPL
- +1 ; SEE ROUTINE BGP0DL if you have questions about any of these variables
- +2 ; BGPUSER - DUZ
- +3 ; BGPDUZ2 - DUZ(2)
- +4 ; BGPOPTN - OPTION NAME
- +5 ; BGPFILE - FILE TO UPLOAD
- +6 ;
- +7 ;
- +8 ; BGPRET - return value is ien^error message. a zero (0) is
- +9 ; passed as ien if error occurred, display the filename back to the user
- +10 ; if they chose to export to area
- +11 ;
- +12 ; I put the list of files in the BGPGUIT global in field 1100 as an output
- +13 ;create entry in gui output file
- +14 ;queue report to run with/GUIR
- +15 DO EP1
- +16 SET Y=$GET(BGPRET)
- +17 ;D EN^XBVK("BGP") S:$D(ZTQUEUED) ZTREQ="@"
- +18 IF '$PIECE($GET(BGPRET),U)
- SET BGPRET=1_"^Upload OK"
- +19 QUIT
- EP1 ;
- +1 SET U="^"
- +2 IF $GET(BGPUSER)=""
- SET BGPRET=0_"^USER NOT PASSED"
- QUIT
- +3 IF $GET(BGPDUZ2)=""
- SET BGPRET=0_"^DUZ(2) NOT PASSED"
- QUIT
- +4 IF $GET(BGPOPTN)=""
- SET BGPRET=0_"^OPTION NAME NOT PASSED"
- QUIT
- +5 IF $GET(BGPDIR)=""
- SET BGPRET=0_"^DIRECTORY NAME NOT PASSED"
- QUIT
- +6 IF $GET(BGPFILE)=""
- SET BGPRET=0_"^FILE NAME NOT PASSED"
- QUIT
- +7 SET BGPRTIME=$GET(BGPRTIME)
- +8 ;S DUZ=BGPUSER
- +9 SET DUZ(2)=BGPDUZ2
- +10 IF '$DATA(DT)
- SET DT=$$DT^XLFDT
- +11 DO ^XBKVAR
- +12 SET BGPGUI=1
- +13 SET IOM=80
- SET BGPIOSL=55
- +14 ;SEND THE REPORT PROCESS OFF TO THE BACKGROUND USING TASKMAN CALL
- AOUPL ;
- READF ;EP read file
- +1 NEW Y,X,I,BGPC
- +2 SET BGPC=1
- +3 SET Y=$$OPEN^%ZISH(BGPDIR,BGPFILE,"R")
- +4 IF Y
- SET BGPRET="0^CANNOT OPEN (OR ACCESS) FILE '"_BGPDIR_BGPFILE_"'."
- DO EOJ
- QUIT
- +5 KILL ^TMP("BGPUPL",$JOB)
- +6 FOR I=1:1
- USE IO
- READ X:DTIME
- SET X=$$STRIP(X)
- IF X=""
- QUIT
- SET ^TMP("BGPUPL",$JOB,BGPC,0)=X
- SET BGPC=BGPC+1
- IF $$STATUS^%ZISH=-1
- QUIT
- +7 DO ^%ZISC
- +8 ;W !!,"All done reading file",!
- PROC ;
- +1 IF $PIECE(BGPFILE,".",2)["HE"
- DO PROCHE
- QUIT
- +2 IF $PIECE(BGPFILE,".",2)["EL"
- DO PROCEL
- QUIT
- +3 IF $PIECE(BGPFILE,".",2)["PED"
- DO PROCPED
- QUIT
- +4 IF $PIECE(BGPFILE,".",2)["EO"
- DO PROCEO^BGP0GUP1
- QUIT
- +5 ;W !,"Processing",!
- +6 SET BGP0=$PIECE($GET(^TMP("BGPUPL",$JOB,1,0)),"|",9)
- +7 SET BGPG=$PIECE($GET(^TMP("BGPUPL",$JOB,1,0)),"|")
- +8 FOR X=1:1:14
- SET Y="BGP"_X
- SET @Y=$PIECE(BGP0,U,X)
- +9 ;find existing entry and if exists, delete it
- +10 NEW X
- +11 SET (X,BGPOIEN)=0
- FOR
- SET X=$ORDER(^BGPGPDCT(X))
- IF X'=+X
- QUIT
- Begin DoDot:1
- +12 IF '$DATA(^BGPGPDCT(X,0))
- QUIT
- +13 SET Y=^BGPGPDCT(X,0)
- +14 IF $PIECE(Y,U)'=BGP1
- QUIT
- +15 IF $PIECE(Y,U,2)'=BGP2
- QUIT
- +16 IF $PIECE(Y,U,3)'=BGP3
- QUIT
- +17 IF $PIECE(Y,U,4)'=BGP4
- QUIT
- +18 IF $PIECE(Y,U,5)'=BGP5
- QUIT
- +19 IF $PIECE(Y,U,6)'=BGP6
- QUIT
- +20 IF $PIECE(Y,U,8)'=BGP8
- QUIT
- +21 IF $PIECE(Y,U,9)'=BGP9
- QUIT
- +22 IF $PIECE(Y,U,10)'=BGP10
- QUIT
- +23 IF $PIECE(Y,U,11)'=BGP11
- QUIT
- +24 IF $PIECE(Y,U,12)'=BGP12
- QUIT
- +25 IF $PIECE(Y,U,14)'=BGP14
- QUIT
- +26 SET BGPOIEN=X
- End DoDot:1
- +27 DO ^XBFMK
- +28 IF BGPOIEN
- SET DA=BGPOIEN
- SET DIK="^BGPGPDCT("
- DO ^DIK
- SET DA=BGPOIEN
- SET DIK="^BGPGPDPT("
- DO ^DIK
- SET DA=BGPOIEN
- SET DIK="^BGPGPDBT("
- DO ^DIK
- +29 ;add entry
- +30 LOCK +^BGPGPDCT:10
- IF '$TEST
- SET BGPRET=0_"^unable to lock global. TRY LATER"
- DO EOJ
- QUIT
- +31 LOCK +^BGPGPDPT:10
- IF '$TEST
- SET BGPRET=0_"^unable to lock global. TRY LATER"
- DO EOJ
- QUIT
- +32 LOCK +^BGPGPDBT:10
- IF '$TEST
- SET BGPRET=0_"^unable to lock global. TRY LATER"
- DO EOJ
- QUIT
- +33 DO GETIEN^BGP0UTL
- +34 IF 'BGPIEN
- SET BGPRET=0_"^error in file creation...call programmer."
- DO EOJ
- QUIT
- CY ;
- +1 SET DINUM=BGPIEN
- SET X=$PIECE(BGP0,U)
- SET DLAYGO=90377.03
- SET DIC="^BGPGPDCT("
- SET DIC(0)="L"
- +2 KILL DD,D0,DO
- +3 DO FILE^DICN
- +4 IF Y=-1
- SET BGPRET=0_"^error uploading file......"
- GOTO EOJ
- +5 SET BGPIEN=+Y
- +6 DO ^XBFMK
- +7 SET X=0
- FOR
- SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
- IF X'=+X
- QUIT
- SET V=^TMP("BGPUPL",$JOB,X,0)
- Begin DoDot:1
- +8 IF $PIECE(V,"|")'="BGPGPDCT"
- QUIT
- +9 SET V=$PIECE(V,"|",2,9999)
- +10 SET N=$PIECE(V,"|")
- SET N2=$PIECE(V,"|",2)
- SET N3=$PIECE(V,"|",3)
- SET N4=$PIECE(V,"|",4)
- SET N5=$PIECE(V,"|",5)
- SET D=$PIECE(V,"|",8)
- +11 IF N5]""
- SET ^BGPGPDCT(BGPIEN,N,N2,N3,N4,N5)=D
- QUIT
- +12 IF N4]""
- SET ^BGPGPDCT(BGPIEN,N,N2,N3,N4)=D
- QUIT
- +13 IF N3]""
- SET ^BGPGPDCT(BGPIEN,N,N2,N3)=D
- QUIT
- +14 IF N2]""
- SET ^BGPGPDCT(BGPIEN,N,N2)=D
- QUIT
- +15 IF N]""
- SET ^BGPGPDCT(BGPIEN,N)=D
- +16 QUIT
- End DoDot:1
- +17 SET DA=BGPIEN
- SET DIK="^BGPGPDCT("
- DO IX1^DIK
- PY ;
- +1 SET DINUM=BGPIEN
- SET X=$PIECE(BGP0,U)
- SET DLAYGO=90377.04
- SET DIC="^BGPGPDPT("
- SET DIC(0)="L"
- +2 KILL DD,D0,DO
- +3 DO FILE^DICN
- +4 IF Y=-1
- SET BGPRET=0_"^error uploading file......"
- GOTO EOJ
- +5 SET BGPIEN=+Y
- +6 DO ^XBFMK
- +7 SET X=0
- FOR
- SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
- IF X'=+X
- QUIT
- SET V=^TMP("BGPUPL",$JOB,X,0)
- Begin DoDot:1
- +8 IF $PIECE(V,"|")'="BGPGPDPT"
- QUIT
- +9 SET V=$PIECE(V,"|",2,9999)
- +10 SET N=$PIECE(V,"|")
- SET N2=$PIECE(V,"|",2)
- SET N3=$PIECE(V,"|",3)
- SET N4=$PIECE(V,"|",4)
- SET N5=$PIECE(V,"|",5)
- SET D=$PIECE(V,"|",8)
- +11 IF N5]""
- SET ^BGPGPDPT(BGPIEN,N,N2,N3,N4,N5)=D
- QUIT
- +12 IF N4]""
- SET ^BGPGPDPT(BGPIEN,N,N2,N3,N4)=D
- QUIT
- +13 IF N3]""
- SET ^BGPGPDPT(BGPIEN,N,N2,N3)=D
- QUIT
- +14 IF N2]""
- SET ^BGPGPDPT(BGPIEN,N,N2)=D
- QUIT
- +15 IF N]""
- SET ^BGPGPDPT(BGPIEN,N)=D
- +16 QUIT
- End DoDot:1
- +17 SET DA=BGPIEN
- SET DIK="^BGPGPDPT("
- DO IX1^DIK
- BY ;
- +1 SET DINUM=BGPIEN
- SET X=$PIECE(BGP0,U)
- SET DLAYGO=90377.05
- SET DIC="^BGPGPDBT("
- SET DIC(0)="L"
- +2 KILL DD,D0,DO
- +3 DO FILE^DICN
- +4 IF Y=-1
- SET BGPRET=0_"^error uploading file......"
- GOTO EOJ
- +5 SET BGPIEN=+Y
- +6 DO ^XBFMK
- +7 SET X=0
- FOR
- SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
- IF X'=+X
- QUIT
- SET V=^TMP("BGPUPL",$JOB,X,0)
- Begin DoDot:1
- +8 IF $PIECE(V,"|")'="BGPGPDBT"
- QUIT
- +9 SET V=$PIECE(V,"|",2,9999)
- +10 SET N=$PIECE(V,"|")
- SET N2=$PIECE(V,"|",2)
- SET N3=$PIECE(V,"|",3)
- SET N4=$PIECE(V,"|",4)
- SET N5=$PIECE(V,"|",5)
- SET D=$PIECE(V,"|",8)
- +11 IF N5]""
- SET ^BGPGPDBT(BGPIEN,N,N2,N3,N4,N5)=D
- QUIT
- +12 IF N4]""
- SET ^BGPGPDBT(BGPIEN,N,N2,N3,N4)=D
- QUIT
- +13 IF N3]""
- SET ^BGPGPDBT(BGPIEN,N,N2,N3)=D
- QUIT
- +14 IF N2]""
- SET ^BGPGPDBT(BGPIEN,N,N2)=D
- QUIT
- +15 IF N]""
- SET ^BGPGPDBT(BGPIEN,N)=D
- +16 QUIT
- End DoDot:1
- +17 SET DA=BGPIEN
- SET DIK="^BGPGPDBT("
- DO IX1^DIK
- +18 ;W !,"Data uploaded."
- +19 DO EOJ
- +20 QUIT
- EOJ ;EP
- +1 LOCK -^BGPGPDCT
- +2 LOCK -^BGPGPDPT
- +3 LOCK -^BGPGPDBT
- +4 LOCK -^BGPHEDCT
- +5 LOCK -^BGPHEDPT
- +6 LOCK -^BGPHEDBT
- +7 LOCK -^BGPELDCT
- +8 LOCK -^BGPELDPT
- +9 LOCK -^BGPELDBT
- +10 LOCK -^BGPPEDCT
- +11 LOCK -^BGPPEDPT
- +12 LOCK -^BGPPEDBT
- +13 LOCK -^BGPEOCT
- +14 LOCK -^BGPEOBT
- +15 LOCK -^BGPEOPT
- +16 ;D EOP^BGP0DH
- +17 KILL IOPAR
- +18 ;D HOME^%ZIS
- +19 KILL X,X1,X2,X3,X4,X5,X6
- +20 KILL A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,V,W,X,Y,Z
- +21 KILL N,N1,N2,N3,N4,N5,N6
- +22 KILL DIC,DA,X,Y,%Y,%,BGPJ,BGPTEXT,BGPLINE,BGP
- +23 QUIT
- STRIP(Z) ;REMOVE CONTROLL CHARACTERS
- +1 NEW I
- +2 FOR I=1:1:$LENGTH(Z)
- IF (32>$ASCII($EXTRACT(Z,I)))
- SET Z=$EXTRACT(Z,1,I-1)_""_$EXTRACT(Z,I+1,999)
- +3 QUIT Z
- +4 ;
- PROCHE ;
- +1 ;W !,"Processing",!
- +2 SET BGP0=$PIECE($GET(^TMP("BGPUPL",$JOB,1,0)),"|",9)
- +3 SET BGPG=$PIECE($GET(^TMP("BGPUPL",$JOB,1,0)),"|")
- +4 FOR X=1:1:14
- SET Y="BGP"_X
- SET @Y=$PIECE(BGP0,U,X)
- +5 ;find existing entry and if exists, delete it
- +6 NEW X
- +7 SET (X,BGPOIEN)=0
- FOR
- SET X=$ORDER(^BGPHEDCT(X))
- IF X'=+X
- QUIT
- SET Y=^BGPHEDCT(X,0)
- Begin DoDot:1
- +8 IF $PIECE(Y,U)'=BGP1
- QUIT
- +9 IF $PIECE(Y,U,2)'=BGP2
- QUIT
- +10 IF $PIECE(Y,U,3)'=BGP3
- QUIT
- +11 IF $PIECE(Y,U,4)'=BGP4
- QUIT
- +12 IF $PIECE(Y,U,5)'=BGP5
- QUIT
- +13 IF $PIECE(Y,U,6)'=BGP6
- QUIT
- +14 IF $PIECE(Y,U,8)'=BGP8
- QUIT
- +15 IF $PIECE(Y,U,9)'=BGP9
- QUIT
- +16 IF $PIECE(Y,U,10)'=BGP10
- QUIT
- +17 IF $PIECE(Y,U,11)'=BGP11
- QUIT
- +18 IF $PIECE(Y,U,12)'=BGP12
- QUIT
- +19 IF $PIECE(Y,U,14)'=BGP14
- QUIT
- +20 SET BGPOIEN=X
- End DoDot:1
- +21 DO ^XBFMK
- +22 IF BGPOIEN
- SET DA=BGPOIEN
- SET DIK="^BGPHEDCT("
- DO ^DIK
- SET DA=BGPOIEN
- SET DIK="^BGPHEDPT("
- DO ^DIK
- SET DA=BGPOIEN
- SET DIK="^BGPHEDBT("
- DO ^DIK
- +23 ;add entry
- +24 LOCK +^BGPHEDCT:10
- IF '$TEST
- SET BGPRET=0_"^unable to lock global. TRY LATER"
- DO EOJ
- QUIT
- +25 LOCK +^BGPHEDPT:10
- IF '$TEST
- SET BGPRET=0_"^unable to lock global. TRY LATER"
- DO EOJ
- QUIT
- +26 LOCK +^BGPHEDBT:10
- IF '$TEST
- SET BGPRET=0_"^unable to lock global. TRY LATER"
- DO EOJ
- QUIT
- +27 DO GETIEN^BGP0HUTL
- +28 IF 'BGPIEN
- SET BGPRET=0_"^error in file creation...call programmer."
- DO EOJ
- QUIT
- HECY ;
- +1 SET DINUM=BGPIEN
- SET X=$PIECE(BGP0,U)
- SET DLAYGO=90378.03
- SET DIC="^BGPHEDCT("
- SET DIC(0)="L"
- +2 KILL DD,D0,DO
- +3 DO FILE^DICN
- +4 IF Y=-1
- SET BGPRET=0_"^error uploading file......"
- GOTO EOJ
- +5 SET BGPIEN=+Y
- +6 DO ^XBFMK
- +7 NEW X
- +8 SET X=0
- FOR
- SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
- IF X'=+X
- QUIT
- SET V=^TMP("BGPUPL",$JOB,X,0)
- Begin DoDot:1
- +9 IF $PIECE(V,"|")'="BGPHEDCT"
- QUIT
- +10 SET V=$PIECE(V,"|",2,9999)
- +11 SET N=$PIECE(V,"|")
- SET N2=$PIECE(V,"|",2)
- SET N3=$PIECE(V,"|",3)
- SET N4=$PIECE(V,"|",4)
- SET N5=$PIECE(V,"|",5)
- SET D=$PIECE(V,"|",8)
- +12 IF N5]""
- SET ^BGPHEDCT(BGPIEN,N,N2,N3,N4,N5)=D
- QUIT
- +13 IF N4]""
- SET ^BGPHEDCT(BGPIEN,N,N2,N3,N4)=D
- QUIT
- +14 IF N3]""
- SET ^BGPHEDCT(BGPIEN,N,N2,N3)=D
- QUIT
- +15 IF N2]""
- SET ^BGPHEDCT(BGPIEN,N,N2)=D
- QUIT
- +16 IF N]""
- SET ^BGPHEDCT(BGPIEN,N)=D
- +17 QUIT
- End DoDot:1
- +18 SET DA=BGPIEN
- SET DIK="^BGPHEDCT("
- DO IX1^DIK
- HEPY ;
- +1 SET DINUM=BGPIEN
- SET X=$PIECE(BGP0,U)
- SET DLAYGO=90378.04
- SET DIC="^BGPHEDPT("
- SET DIC(0)="L"
- +2 KILL DD,D0,DO
- +3 DO FILE^DICN
- +4 IF Y=-1
- SET BGPRET=0_"^error uploading file......"
- GOTO EOJ
- +5 SET BGPIEN=+Y
- +6 DO ^XBFMK
- +7 NEW X
- +8 SET X=0
- FOR
- SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
- IF X'=+X
- QUIT
- SET V=^TMP("BGPUPL",$JOB,X,0)
- Begin DoDot:1
- +9 IF $PIECE(V,"|")'="BGPHEDPT"
- QUIT
- +10 SET V=$PIECE(V,"|",2,9999)
- +11 SET N=$PIECE(V,"|")
- SET N2=$PIECE(V,"|",2)
- SET N3=$PIECE(V,"|",3)
- SET N4=$PIECE(V,"|",4)
- SET N5=$PIECE(V,"|",5)
- SET D=$PIECE(V,"|",8)
- +12 IF N5]""
- SET ^BGPHEDPT(BGPIEN,N,N2,N3,N4,N5)=D
- QUIT
- +13 IF N4]""
- SET ^BGPHEDPT(BGPIEN,N,N2,N3,N4)=D
- QUIT
- +14 IF N3]""
- SET ^BGPHEDPT(BGPIEN,N,N2,N3)=D
- QUIT
- +15 IF N2]""
- SET ^BGPHEDPT(BGPIEN,N,N2)=D
- QUIT
- +16 IF N]""
- SET ^BGPHEDPT(BGPIEN,N)=D
- +17 QUIT
- End DoDot:1
- +18 SET DA=BGPIEN
- SET DIK="^BGPHEDPT("
- DO IX1^DIK
- HEBY ;
- +1 SET DINUM=BGPIEN
- SET X=$PIECE(BGP0,U)
- SET DLAYGO=90378.05
- SET DIC="^BGPHEDBT("
- SET DIC(0)="L"
- +2 KILL DD,D0,DO
- +3 DO FILE^DICN
- +4 IF Y=-1
- SET BGPRET=0_"^error uploading file......"
- GOTO EOJ
- +5 SET BGPIEN=+Y
- +6 DO ^XBFMK
- +7 SET X=0
- FOR
- SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
- IF X'=+X
- QUIT
- SET V=^TMP("BGPUPL",$JOB,X,0)
- Begin DoDot:1
- +8 IF $PIECE(V,"|")'="BGPHEDBT"
- QUIT
- +9 SET V=$PIECE(V,"|",2,9999)
- +10 SET N=$PIECE(V,"|")
- SET N2=$PIECE(V,"|",2)
- SET N3=$PIECE(V,"|",3)
- SET N4=$PIECE(V,"|",4)
- SET N5=$PIECE(V,"|",5)
- SET D=$PIECE(V,"|",8)
- +11 IF N5]""
- SET ^BGPHEDBT(BGPIEN,N,N2,N3,N4,N5)=D
- QUIT
- +12 IF N4]""
- SET ^BGPHEDBT(BGPIEN,N,N2,N3,N4)=D
- QUIT
- +13 IF N3]""
- SET ^BGPHEDBT(BGPIEN,N,N2,N3)=D
- QUIT
- +14 IF N2]""
- SET ^BGPHEDBT(BGPIEN,N,N2)=D
- QUIT
- +15 IF N]""
- SET ^BGPHEDBT(BGPIEN,N)=D
- +16 QUIT
- End DoDot:1
- +17 SET DA=BGPIEN
- SET DIK="^BGPHEDBT("
- DO IX1^DIK
- +18 ;W !,"Data uploaded."
- +19 DO EOJ
- +20 QUIT
- +21 ;
- PROCEL ;
- +1 ;W !,"Processing",!
- +2 SET BGP0=$PIECE($GET(^TMP("BGPUPL",$JOB,1,0)),"|",9)
- +3 SET BGPG=$PIECE($GET(^TMP("BGPUPL",$JOB,1,0)),"|")
- +4 FOR X=1:1:14
- SET Y="BGP"_X
- SET @Y=$PIECE(BGP0,U,X)
- +5 ;find existing entry and if exists, delete it
- +6 NEW X
+7 SET (X,BGPOIEN)=0
FOR
SET X=$ORDER(^BGPELDCT(X))
IF X'=+X
QUIT
SET Y=^BGPELDCT(X,0)
Begin DoDot:1
+8 IF $PIECE(Y,U)'=BGP1
QUIT
+9 IF $PIECE(Y,U,2)'=BGP2
QUIT
+10 IF $PIECE(Y,U,3)'=BGP3
QUIT
+11 IF $PIECE(Y,U,4)'=BGP4
QUIT
+12 IF $PIECE(Y,U,5)'=BGP5
QUIT
+13 IF $PIECE(Y,U,6)'=BGP6
QUIT
+14 IF $PIECE(Y,U,8)'=BGP8
QUIT
+15 IF $PIECE(Y,U,9)'=BGP9
QUIT
+16 IF $PIECE(Y,U,10)'=BGP10
QUIT
+17 IF $PIECE(Y,U,11)'=BGP11
QUIT
+18 IF $PIECE(Y,U,12)'=BGP12
QUIT
+19 IF $PIECE(Y,U,14)'=BGP14
QUIT
+20 SET BGPOIEN=X
End DoDot:1
+21 DO ^XBFMK
+22 IF BGPOIEN
SET DA=BGPOIEN
SET DIK="^BGPELDCT("
DO ^DIK
SET DA=BGPOIEN
SET DIK="^BGPELDPT("
DO ^DIK
SET DA=BGPOIEN
SET DIK="^BGPELDBT("
DO ^DIK
+23 ;add entry
+24 LOCK +^BGPELDCT:10
IF '$TEST
SET BGPRET=0_"^unable to lock global. TRY LATER"
DO EOJ
QUIT
+25 LOCK +^BGPELDPT:10
IF '$TEST
SET BGPRET=0_"^unable to lock global. TRY LATER"
DO EOJ
QUIT
+26 LOCK +^BGPELDBT:10
IF '$TEST
SET BGPRET=0_"^unable to lock global. TRY LATER"
DO EOJ
QUIT
+27 DO GETIEN^BGP0EUTL
+28 IF 'BGPIEN
SET BGPRET=0_"^error in file creation...call programmer."
DO EOJ
QUIT
ELCY ;
+1 SET DINUM=BGPIEN
SET X=$PIECE(BGP0,U)
SET DLAYGO=90379.03
SET DIC="^BGPELDCT("
SET DIC(0)="L"
+2 KILL DD,D0,DO
+3 DO FILE^DICN
+4 IF Y=-1
SET BGPRET=0_"^error uploading file......"
GOTO EOJ
+5 SET BGPIEN=+Y
+6 DO ^XBFMK
+7 SET X=0
FOR
SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
IF X'=+X
QUIT
SET V=^TMP("BGPUPL",$JOB,X,0)
Begin DoDot:1
+8 IF $PIECE(V,"|")'="BGPELDCT"
QUIT
+9 SET V=$PIECE(V,"|",2,9999)
+10 SET N=$PIECE(V,"|")
SET N2=$PIECE(V,"|",2)
SET N3=$PIECE(V,"|",3)
SET N4=$PIECE(V,"|",4)
SET N5=$PIECE(V,"|",5)
SET D=$PIECE(V,"|",8)
+11 IF N5]""
SET ^BGPELDCT(BGPIEN,N,N2,N3,N4,N5)=D
QUIT
+12 IF N4]""
SET ^BGPELDCT(BGPIEN,N,N2,N3,N4)=D
QUIT
+13 IF N3]""
SET ^BGPELDCT(BGPIEN,N,N2,N3)=D
QUIT
+14 IF N2]""
SET ^BGPELDCT(BGPIEN,N,N2)=D
QUIT
+15 IF N]""
SET ^BGPELDCT(BGPIEN,N)=D
+16 QUIT
End DoDot:1
+17 SET DA=BGPIEN
SET DIK="^BGPELDCT("
DO IX1^DIK
ELPY ;
+1 SET DINUM=BGPIEN
SET X=$PIECE(BGP0,U)
SET DLAYGO=90379.04
SET DIC="^BGPELDPT("
SET DIC(0)="L"
+2 KILL DD,D0,DO
+3 DO FILE^DICN
+4 IF Y=-1
SET BGPRET=0_"^error uploading file......"
GOTO EOJ
+5 SET BGPIEN=+Y
+6 DO ^XBFMK
+7 SET X=0
FOR
SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
IF X'=+X
QUIT
SET V=^TMP("BGPUPL",$JOB,X,0)
Begin DoDot:1
+8 IF $PIECE(V,"|")'="BGPELDPT"
QUIT
+9 SET V=$PIECE(V,"|",2,9999)
+10 SET N=$PIECE(V,"|")
SET N2=$PIECE(V,"|",2)
SET N3=$PIECE(V,"|",3)
SET N4=$PIECE(V,"|",4)
SET N5=$PIECE(V,"|",5)
SET D=$PIECE(V,"|",8)
+11 IF N5]""
SET ^BGPELDPT(BGPIEN,N,N2,N3,N4,N5)=D
QUIT
+12 IF N4]""
SET ^BGPELDPT(BGPIEN,N,N2,N3,N4)=D
QUIT
+13 IF N3]""
SET ^BGPELDPT(BGPIEN,N,N2,N3)=D
QUIT
+14 IF N2]""
SET ^BGPELDPT(BGPIEN,N,N2)=D
QUIT
+15 IF N]""
SET ^BGPELDPT(BGPIEN,N)=D
+16 QUIT
End DoDot:1
+17 SET DA=BGPIEN
SET DIK="^BGPELDPT("
DO IX1^DIK
ELBY ;
+1 SET DINUM=BGPIEN
SET X=$PIECE(BGP0,U)
SET DLAYGO=90379.05
SET DIC="^BGPELDBT("
SET DIC(0)="L"
+2 KILL DD,D0,DO
+3 DO FILE^DICN
+4 IF Y=-1
SET BGPRET=0_"^error uploading file......"
GOTO EOJ
+5 SET BGPIEN=+Y
+6 DO ^XBFMK
+7 NEW X
+8 SET X=0
FOR
SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
IF X'=+X
QUIT
SET V=^TMP("BGPUPL",$JOB,X,0)
Begin DoDot:1
+9 IF $PIECE(V,"|")'="BGPELDBT"
QUIT
+10 SET V=$PIECE(V,"|",2,9999)
+11 SET N=$PIECE(V,"|")
SET N2=$PIECE(V,"|",2)
SET N3=$PIECE(V,"|",3)
SET N4=$PIECE(V,"|",4)
SET N5=$PIECE(V,"|",5)
SET D=$PIECE(V,"|",8)
+12 IF N5]""
SET ^BGPELDBT(BGPIEN,N,N2,N3,N4,N5)=D
QUIT
+13 IF N4]""
SET ^BGPELDBT(BGPIEN,N,N2,N3,N4)=D
QUIT
+14 IF N3]""
SET ^BGPELDBT(BGPIEN,N,N2,N3)=D
QUIT
+15 IF N2]""
SET ^BGPELDBT(BGPIEN,N,N2)=D
QUIT
+16 IF N]""
SET ^BGPELDBT(BGPIEN,N)=D
+17 QUIT
End DoDot:1
+18 SET DA=BGPIEN
SET DIK="^BGPELDBT("
DO IX1^DIK
+19 ;W !,"Data uploaded."
+20 DO EOJ
+21 QUIT
+22 ;
PROCPED ;
+1 ;W !,"Processing",!
+2 SET BGP0=$PIECE($GET(^TMP("BGPUPL",$JOB,1,0)),"|",9)
+3 SET BGPG=$PIECE($GET(^TMP("BGPUPL",$JOB,1,0)),"|")
+4 FOR X=1:1:14
SET Y="BGP"_X
SET @Y=$PIECE(BGP0,U,X)
+5 ;find existing entry and if exists, delete it
+6 NEW X
+7 SET (X,BGPOIEN)=0
FOR
SET X=$ORDER(^BGPPEDCT(X))
IF X'=+X
QUIT
SET Y=^BGPPEDCT(X,0)
Begin DoDot:1
+8 IF $PIECE(Y,U)'=BGP1
QUIT
+9 IF $PIECE(Y,U,2)'=BGP2
QUIT
+10 IF $PIECE(Y,U,3)'=BGP3
QUIT
+11 IF $PIECE(Y,U,4)'=BGP4
QUIT
+12 IF $PIECE(Y,U,5)'=BGP5
QUIT
+13 IF $PIECE(Y,U,6)'=BGP6
QUIT
+14 IF $PIECE(Y,U,7)'=BGP7
QUIT
+15 IF $PIECE(Y,U,8)'=BGP8
QUIT
+16 IF $PIECE(Y,U,9)'=BGP9
QUIT
+17 IF $PIECE(Y,U,10)'=BGP10
QUIT
+18 IF $PIECE(Y,U,11)'=BGP11
QUIT
+19 IF $PIECE(Y,U,12)'=BGP12
QUIT
+20 SET BGPOIEN=X
End DoDot:1
+21 DO ^XBFMK
+22 IF BGPOIEN
SET DA=BGPOIEN
SET DIK="^BGPPEDCT("
DO ^DIK
SET DA=BGPOIEN
SET DIK="^BGPPEDPT("
DO ^DIK
SET DA=BGPOIEN
SET DIK="^BGPPEDBT("
DO ^DIK
+23 ;add entry
+24 LOCK +^BGPPEDCT:10
IF '$TEST
SET BGPRET=0_"^unable to lock global. TRY LATER"
DO EOJ
QUIT
+25 LOCK +^BGPPEDPT:10
IF '$TEST
SET BGPRET=0_"^unable to lock global. TRY LATER"
DO EOJ
QUIT
+26 LOCK +^BGPPEDBT:10
IF '$TEST
SET BGPRET=0_"^unable to lock global. TRY LATER"
DO EOJ
QUIT
+27 DO GETIEN^BGP0PUTL
+28 IF 'BGPIEN
SET BGPRET=0_"^error in file creation...call programmer."
DO EOJ
QUIT
PEDCY ;
+1 SET DINUM=BGPIEN
SET X=$PIECE(BGP0,U)
SET DLAYGO=90377.12
SET DIC="^BGPPEDCT("
SET DIC(0)="L"
+2 KILL DD,D0,DO
+3 DO FILE^DICN
+4 IF Y=-1
SET BGPRET=0_"^error uploading file......"
GOTO EOJ
+5 SET BGPIEN=+Y
+6 DO ^XBFMK
+7 SET X=0
FOR
SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
IF X'=+X
QUIT
SET V=^TMP("BGPUPL",$JOB,X,0)
Begin DoDot:1
+8 IF $PIECE(V,"|")'="BGPPEDCT"
QUIT
+9 SET V=$PIECE(V,"|",2,9999)
+10 SET N=$PIECE(V,"|")
SET N2=$PIECE(V,"|",2)
SET N3=$PIECE(V,"|",3)
SET N4=$PIECE(V,"|",4)
SET N5=$PIECE(V,"|",5)
SET D=$PIECE(V,"|",8)
+11 IF N5]""
SET ^BGPPEDCT(BGPIEN,N,N2,N3,N4,N5)=D
QUIT
+12 IF N4]""
SET ^BGPPEDCT(BGPIEN,N,N2,N3,N4)=D
QUIT
+13 IF N3]""
SET ^BGPPEDCT(BGPIEN,N,N2,N3)=D
QUIT
+14 IF N2]""
SET ^BGPPEDCT(BGPIEN,N,N2)=D
QUIT
+15 IF N]""
SET ^BGPPEDCT(BGPIEN,N)=D
+16 QUIT
End DoDot:1
+17 SET DA=BGPIEN
SET DIK="^BGPPEDCT("
DO IX1^DIK
PEDPY ;
+1 SET DINUM=BGPIEN
SET X=$PIECE(BGP0,U)
SET DLAYGO=90377.13
SET DIC="^BGPPEDPT("
SET DIC(0)="L"
+2 KILL DD,D0,DO
+3 DO FILE^DICN
+4 IF Y=-1
SET BGPRET=0_"^error uploading file......"
GOTO EOJ
+5 SET BGPIEN=+Y
+6 DO ^XBFMK
+7 SET X=0
FOR
SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
IF X'=+X
QUIT
SET V=^TMP("BGPUPL",$JOB,X,0)
Begin DoDot:1
+8 IF $PIECE(V,"|")'="BGPPEDPT"
QUIT
+9 SET V=$PIECE(V,"|",2,9999)
+10 SET N=$PIECE(V,"|")
SET N2=$PIECE(V,"|",2)
SET N3=$PIECE(V,"|",3)
SET N4=$PIECE(V,"|",4)
SET N5=$PIECE(V,"|",5)
SET D=$PIECE(V,"|",8)
+11 IF N5]""
SET ^BGPPEDPT(BGPIEN,N,N2,N3,N4,N5)=D
QUIT
+12 IF N4]""
SET ^BGPPEDPT(BGPIEN,N,N2,N3,N4)=D
QUIT
+13 IF N3]""
SET ^BGPPEDPT(BGPIEN,N,N2,N3)=D
QUIT
+14 IF N2]""
SET ^BGPPEDPT(BGPIEN,N,N2)=D
QUIT
+15 IF N]""
SET ^BGPPEDPT(BGPIEN,N)=D
+16 QUIT
End DoDot:1
+17 SET DA=BGPIEN
SET DIK="^BGPPEDPT("
DO IX1^DIK
PEDBY ;
+1 SET DINUM=BGPIEN
SET X=$PIECE(BGP0,U)
SET DLAYGO=90377.14
SET DIC="^BGPPEDBT("
SET DIC(0)="L"
+2 KILL DD,D0,DO
+3 DO FILE^DICN
+4 IF Y=-1
SET BGPRET=0_"^error uploading file......"
GOTO EOJ
+5 SET BGPIEN=+Y
+6 DO ^XBFMK
+7 SET X=0
FOR
SET X=$ORDER(^TMP("BGPUPL",$JOB,X))
IF X'=+X
QUIT
SET V=^TMP("BGPUPL",$JOB,X,0)
Begin DoDot:1
+8 IF $PIECE(V,"|")'="BGPPEDBT"
QUIT
+9 SET V=$PIECE(V,"|",2,9999)
+10 SET N=$PIECE(V,"|")
SET N2=$PIECE(V,"|",2)
SET N3=$PIECE(V,"|",3)
SET N4=$PIECE(V,"|",4)
SET N5=$PIECE(V,"|",5)
SET D=$PIECE(V,"|",8)
+11 IF N5]""
SET ^BGPPEDBT(BGPIEN,N,N2,N3,N4,N5)=D
QUIT
+12 IF N4]""
SET ^BGPPEDBT(BGPIEN,N,N2,N3,N4)=D
QUIT
+13 IF N3]""
SET ^BGPPEDBT(BGPIEN,N,N2,N3)=D
QUIT
+14 IF N2]""
SET ^BGPPEDBT(BGPIEN,N,N2)=D
QUIT
+15 IF N]""
SET ^BGPPEDBT(BGPIEN,N)=D
+16 QUIT
End DoDot:1
+17 SET DA=BGPIEN
SET DIK="^BGPPEDBT("
DO IX1^DIK
+18 ;W !,"Data uploaded."
+19 DO EOJ
+20 QUIT
+21 ;