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

BGP7ULF.m

Go to the documentation of this file.
  1. BGP7ULF ; IHS/CMI/LAB - UPLOAD AREA FILES ;
  1. ;;17.1;IHS CLINICAL REPORTING;;MAY 10, 2017;Build 29
  1. ;
  1. ;
  1. W:$D(IOF) @IOF
  1. W !,"This option is used to upload a SU's 2017 CRS data.",!,"You must specify the directory in which the CRS 2017 data file resides",!,"and then enter the filename of the data.",!
  1. FILE ;
  1. D HOME^%ZIS
  1. DIR ;
  1. K DIR
  1. S BGPDIR=""
  1. S DIR(0)="FO^3:50",DIR("A")="Enter directory path (i.e. /usr/spool/uucppublic/)" K DA D ^DIR K DIR
  1. I $D(DIRUT) W !!,"Directory not entered!! Bye." G EOJ
  1. I Y="" W !!,"Directory not entered!! Bye." G EOJ
  1. S BGPDIR=Y
  1. FILENAME ;
  1. W !!
  1. S BGPFILE=""
  1. S DIR(0)="FO^2:30",DIR("A")="Enter filename w /ext (i.e. BG171101201.5)" K DA D ^DIR K DIR
  1. G:$D(DIRUT) DIR
  1. I Y="" G DIR
  1. I $E($$UP^XLFSTR(Y),1,5)'="BG171" W !!,"Filename must begin with BG171" G FILENAME
  1. S BGPFILE=Y
  1. W !,"Directory=",BGPDIR," ","File=",BGPFILE
  1. D READF
  1. G FILENAME
  1. READF ;EP read file
  1. NEW Y,X,I,BGPC
  1. S BGPC=1
  1. S Y=$$OPEN^%ZISH(BGPDIR,BGPFILE,"R")
  1. I Y W !,*7,"CANNOT OPEN (OR ACCESS) FILE '",BGPDIR,BGPFILE,"'." G EOJ
  1. KILL ^TMP("BGPUPL",$J)
  1. 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
  1. D ^%ZISC
  1. W !!,"All done reading file",!
  1. PROC ;
  1. I $P(BGPFILE,".",2)["EL" D PROCEL Q
  1. I $P(BGPFILE,".",2)["PED" D PROCPED Q
  1. W !,"Processing",!
  1. S BGP0=$P($G(^TMP("BGPUPL",$J,1,0)),"|",9)
  1. S Q=""
  1. F X=1:1:9 I $P(BGP0,U,X)="" S Q=1
  1. I Q W !!,"File is corrupt, the site will need to re-run the report." K ^TMP("BGPUPL",$J) G EOJ
  1. S BGPG=$P($G(^TMP("BGPUPL",$J,1,0)),"|")
  1. F X=1:1:14,21,22 S Y="BGP"_X,@Y=$P(BGP0,U,X)
  1. I BGP21="" S BGP21="17.1"
  1. ;find existing entry and if exists, delete it
  1. S (X,BGPOIEN)=0 F S X=$O(^BGPGPDCG(X)) Q:X'=+X D
  1. .I '$D(^BGPGPDCG(X,0)) K ^BGPGPDCG(X) Q
  1. .S Y=^BGPGPDCG(X,0)
  1. .Q:$P(Y,U)'=BGP1
  1. .Q:$P(Y,U,2)'=BGP2
  1. .Q:$P(Y,U,3)'=BGP3
  1. .Q:$P(Y,U,4)'=BGP4
  1. .Q:$P(Y,U,5)'=BGP5
  1. .Q:$P(Y,U,6)'=BGP6
  1. .Q:$P(Y,U,8)'=BGP8
  1. .Q:$P(Y,U,9)'=BGP9
  1. .Q:$P(Y,U,10)'=BGP10
  1. .Q:$P(Y,U,11)'=BGP11
  1. .Q:$P(Y,U,12)'=BGP12
  1. .Q:$P(Y,U,14)'=BGP14
  1. .Q:$P(Y,U,21)'=BGP21
  1. .Q:$P(Y,U,22)'=BGP22
  1. .S BGPOIEN=X
  1. D ^XBFMK
  1. I BGPOIEN S DA=BGPOIEN,DIK="^BGPGPDCG(" D ^DIK S DA=BGPOIEN,DIK="^BGPGPDPG(" D ^DIK S DA=BGPOIEN,DIK="^BGPGPDBG(" D ^DIK
  1. ;add entry
  1. L +^BGPGPDCG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. L +^BGPGPDPG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. L +^BGPGPDBG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. D GETIEN^BGP7UTL
  1. I 'BGPIEN W !!,"error in file creation...call programmer." D EOJ Q
  1. CY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90558.03,DIC="^BGPGPDCG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPGPDCG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPGPDCG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPGPDCG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPGPDCG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPGPDCG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPGPDCG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPGPDCG(" D IX1^DIK
  1. PY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90558.04,DIC="^BGPGPDPG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPGPDPG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPGPDPG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPGPDPG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPGPDPG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPGPDPG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPGPDPG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPGPDPG(" D IX1^DIK
  1. BY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90558.05,DIC="^BGPGPDBG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPGPDBG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPGPDBG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPGPDBG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPGPDBG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPGPDBG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPGPDBG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPGPDBG(" D IX1^DIK
  1. W !,"Data uploaded."
  1. D EOJ
  1. Q
  1. EOJ ;EP
  1. L -^BGPGPDCG
  1. L -^BGPGPDPG
  1. L -^BGPGPDBG
  1. L -^BGPEDLCG
  1. L -^BGPEDLPG
  1. L -^BGPEDLBG
  1. L -^BGPPEDCG
  1. L -^BGPPEDPG
  1. L -^BGPPEDBG
  1. D EOP^BGP7DH
  1. K IOPAR
  1. D HOME^%ZIS
  1. K X,X1,X2,X3,X4,X5,X6
  1. 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
  1. K N,N1,N2,N3,N4,N5,N6
  1. K DIC,DA,X,Y,%Y,%,BGPJ,BGPX,BGPTEXT,BGPLINE,BGP
  1. K BGP1,BGP2,BGP3,BGP4,BGP7,BGP7,BGP7,BGP8,BGP9,BGP10,BGP11,BGP12,BGP13,BGP14,BGP21
  1. Q
  1. STRIP(Z) ;REMOVE CONTROLL CHARACTERS
  1. NEW I
  1. F I=1:1:$L(Z) I (32>$A($E(Z,I))) S Z=$E(Z,1,I-1)_""_$E(Z,I+1,999)
  1. Q Z
  1. ;
  1. PROCEL ;
  1. W !,"Processing",!
  1. S BGP0=$P($G(^TMP("BGPUPL",$J,1,0)),"|",9)
  1. S BGPG=$P($G(^TMP("BGPUPL",$J,1,0)),"|")
  1. F X=1:1:14 S Y="BGP"_X,@Y=$P(BGP0,U,X)
  1. ;find existing entry and if exists, delete it
  1. S (X,BGPOIEN)=0 F S X=$O(^BGPEDLCG(X)) Q:X'=+X D
  1. .I '$D(^BGPEDLCG(X,0)) K ^BGPEDLCG(X) Q
  1. .S Y=^BGPEDLCG(X,0)
  1. .Q:$P(Y,U)'=BGP1
  1. .Q:$P(Y,U,2)'=BGP2
  1. .Q:$P(Y,U,3)'=BGP3
  1. .Q:$P(Y,U,4)'=BGP4
  1. .Q:$P(Y,U,5)'=BGP5
  1. .Q:$P(Y,U,6)'=BGP6
  1. .Q:$P(Y,U,8)'=BGP8
  1. .Q:$P(Y,U,9)'=BGP9
  1. .Q:$P(Y,U,10)'=BGP10
  1. .Q:$P(Y,U,11)'=BGP11
  1. .Q:$P(Y,U,12)'=BGP12
  1. .Q:$P(Y,U,14)'=BGP14
  1. .S BGPOIEN=X
  1. D ^XBFMK
  1. I BGPOIEN S DA=BGPOIEN,DIK="^BGPEDLCG(" D ^DIK S DA=BGPOIEN,DIK="^BGPEDLPG(" D ^DIK S DA=BGPOIEN,DIK="^BGPEDLBG(" D ^DIK
  1. ;add entry
  1. L +^BGPEDLCG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. L +^BGPEDLPG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. L +^BGPEDLBG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. D GETIEN^BGP7EUTL
  1. I 'BGPIEN W !!,"error in file creation...call programmer." D EOJ Q
  1. ELCY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90559.03,DIC="^BGPEDLCG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPEDLCG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPEDLCG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPEDLCG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPEDLCG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPEDLCG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPEDLCG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPEDLCG(" D IX1^DIK
  1. ELPY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90559.04,DIC="^BGPEDLPG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPEDLPG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPEDLPG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPEDLPG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPEDLPG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPEDLPG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPEDLPG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPEDLPG(" D IX1^DIK
  1. ELBY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90559.05,DIC="^BGPEDLBG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPEDLBG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPEDLBG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPEDLBG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPEDLBG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPEDLBG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPEDLBG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPEDLBG(" D IX1^DIK
  1. W !,"Data uploaded."
  1. D EOJ
  1. Q
  1. ;
  1. PROCPED ;
  1. W !,"Processing",!
  1. S BGP0=$P($G(^TMP("BGPUPL",$J,1,0)),"|",9)
  1. S BGPG=$P($G(^TMP("BGPUPL",$J,1,0)),"|")
  1. F X=1:1:14 S Y="BGP"_X,@Y=$P(BGP0,U,X)
  1. ;find existing entry and if exists, delete it
  1. S (X,BGPOIEN)=0 F S X=$O(^BGPPEDCG(X)) Q:X'=+X D
  1. .I '$D(^BGPPEDCG(X,0)) K ^BGPPEDCG(X) Q
  1. .S Y=^BGPPEDCG(X,0)
  1. .Q:$P(Y,U)'=BGP1
  1. .Q:$P(Y,U,2)'=BGP2
  1. .Q:$P(Y,U,3)'=BGP3
  1. .Q:$P(Y,U,4)'=BGP4
  1. .Q:$P(Y,U,5)'=BGP5
  1. .Q:$P(Y,U,6)'=BGP6
  1. .Q:$P(Y,U,7)'=BGP7
  1. .Q:$P(Y,U,8)'=BGP8
  1. .Q:$P(Y,U,9)'=BGP9
  1. .Q:$P(Y,U,10)'=BGP10
  1. .Q:$P(Y,U,11)'=BGP11
  1. .Q:$P(Y,U,12)'=BGP12
  1. .S BGPOIEN=X
  1. D ^XBFMK
  1. I BGPOIEN S DA=BGPOIEN,DIK="^BGPPEDCG(" D ^DIK S DA=BGPOIEN,DIK="^BGPPEDPG(" D ^DIK S DA=BGPOIEN,DIK="^BGPPEDBG(" D ^DIK
  1. ;add entry
  1. L +^BGPPEDCG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. L +^BGPPEDPG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. L +^BGPPEDBG:10 I '$T W !!,"unable to lock global. TRY LATER" D EOJ Q
  1. D GETIEN^BGP7PUTL
  1. I 'BGPIEN W !!,"error in file creation...call programmer." D EOJ Q
  1. PEDCY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90558.12,DIC="^BGPPEDCG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPPEDCG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPPEDCG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPPEDCG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPPEDCG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPPEDCG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPPEDCG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPPEDCG(" D IX1^DIK
  1. PEDPY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90558.13,DIC="^BGPPEDPG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPPEDPG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPPEDPG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPPEDPG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPPEDPG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPPEDPG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPPEDPG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPPEDPG(" D IX1^DIK
  1. PEDBY ;
  1. S DINUM=BGPIEN,X=$P(BGP0,U),DLAYGO=90558.14,DIC="^BGPPEDBG(",DIC(0)="L"
  1. K DD,D0,DO
  1. D FILE^DICN
  1. I Y=-1 W !,"error uploading file......" H 4 G EOJ
  1. S BGPIEN=+Y
  1. D ^XBFMK
  1. S X=0 F S X=$O(^TMP("BGPUPL",$J,X)) Q:X'=+X S V=^TMP("BGPUPL",$J,X,0) D
  1. .Q:$P(V,"|")'="BGPPEDBG"
  1. .S V=$P(V,"|",2,9999)
  1. .S N=$P(V,"|"),N2=$P(V,"|",2),N3=$P(V,"|",3),N4=$P(V,"|",4),N5=$P(V,"|",5),D=$P(V,"|",8)
  1. .I N5]"" S ^BGPPEDBG(BGPIEN,N,N2,N3,N4,N5)=D Q
  1. .I N4]"" S ^BGPPEDBG(BGPIEN,N,N2,N3,N4)=D Q
  1. .I N3]"" S ^BGPPEDBG(BGPIEN,N,N2,N3)=D Q
  1. .I N2]"" S ^BGPPEDBG(BGPIEN,N,N2)=D Q
  1. .I N]"" S ^BGPPEDBG(BGPIEN,N)=D
  1. .Q
  1. S DA=BGPIEN,DIK="^BGPPEDBG(" D IX1^DIK
  1. W !,"Data uploaded."
  1. D EOJ
  1. Q