- BGP8GNXP ; IHS/CMI/LAB - CRS 27 Apr 2010 10:56 PM ;
- ;;18.1;IHS CLINICAL REPORTING;;MAY 25, 2018;Build 66
- ;
- ;
- TESTNTL ;
- S ERR=""
- D EP(.ERR,1,2522,"BGP 18 NATL EXPORT",597,1,1,,$$NOW^XLFDT)
- W !,ERR
- Q
- EP(BGPRET,BGPUSER,BGPDUZ2,BGPOPTN,BGPTAXI,BGPEXPT,BGPLOCAL,BGPMFITI,BGPRTIME) ;EP - called from GUI to produce national gpra report (NTL-GP)
- ; BGPUSER - DUZ
- ; BGPDUZ2 - DUZ(2)
- ; BGPOPTN - OPTION NAME
- ; BGPTAXI - IEN OF COMMUNITY TAXONOMY NAME
- ; BGPEXPT - EXPORT TO AREA? 1 IS YES, 0 IS NO
- ; BGPLOCAL - create local files 1 is yes, 0 is NO
- ; BGPMFITI - location taxonomy ien if MFI site
- ; BGPRTIME - report will be queued automatically, this variable
- ; contains the time it will run, internal fileman format
- ; must be date and time
- ;
- ; BGPRET - return value is ien^error message^export file name. a zero (0) is
- ; passed as ien if error occurred, display the filename back to the user
- ; if they chose to export to area
- ;
- ;create entry in gui output file
- ;queue report to run with/GUIR
- D EP1
- S Y=BGPRET
- ;D EN^XBVK("BGP") S:$D(ZTQUEUED) ZTREQ="@"
- S BGPRET=Y
- 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(BGPTAXI)="" S BGPRET=0_"^IEN OF COMMUNITY TAXONOMY NOT PASSED" Q
- I '$D(^ATXAX(BGPTAXI)) S BGPRET=0_"^INVALID COMMUNITY TAXONOMY IEN PASSED" Q
- I $G(BGPEXPT)="" S BGPRET=0_"^AREA EXPORT VALUE NOT PASSED" Q
- I $G(BGPLOCAL)="" S BGPLOCAL=0
- S BGPRTIME=$G(BGPRTIME)
- S BGPMFITI=$G(BGPMFITI)
- I 'BGPLOCAL,'BGPEXPT S BGPRET=0_"^You have chosen not to create any files.....exiting" Q
- ;S DUZ=BGPUSER
- S DUZ(2)=BGPDUZ2
- S:'$D(DT) DT=$$DT^XLFDT
- D ^XBKVAR
- S BGPGUI=1
- S IOM=80,BGPIOSL=55
- S BGPXPFYC=$O(^BGPCTRL("B",2007,0))
- S BGPRTYPE=1,BGPXPRP=1,BGPXPFYY=2015,BGPXPFYI=312
- S BGPXPHD=3130701,BGPXPEDT=3140630
- K BGPTAX S X=0
- F S X=$O(^ATXAX(BGPTAXI,21,X)) Q:'X D
- .S BGPTAX($P(^ATXAX(BGPTAXI,21,X,0),U))=""
- .Q
- S BGPHOME=$P($G(^BGPSITE(DUZ(2),0)),U,2)
- S BGPBEN=1
- HOME ;
- S BGPUF=""
- S BGPXPDR=DT
- S BGPNOW=$$NOW^XLFDT
- S BGPUF=$$GETDIR^BGP8UTL2()
- ;I ^%ZOSF("OS")["PC"!(^%ZOSF("OS")["NT")!($P($G(^AUTTSITE(1,0)),U,21)=2) S BGPUF=$S($P($G(^AUTTSITE(1,1)),U,2)]"":$P(^AUTTSITE(1,1),U,2),1:"C:\EXPORT")
- ;I $P(^AUTTSITE(1,0),U,21)=1 S BGPUF="/usr/spool/uucppublic/"
- S BGPFN="CRSCNT"_$P(^AUTTLOC(DUZ(2),0),U,10)_$$D^BGP8UTL(BGPXPHD)_$$D^BGP8UTL(BGPXPEDT)_$$D^BGP8UTL(BGPNOW)_"_001_of_001.TXT"
- ;CREATE REPORT ENTRY
- K DIC S X=$P(^VA(200,DUZ,0),U)_"-"_$$D^BGP8UTL(BGPNOW),DIC(0)="L",DIC="^BGPXPA(",DLAYGO=90530.11,DIADD=1
- S DIC("DR")=".02////"_BGPXPHD_";.03////"_BGPXPEDT_";.04////"_$P(^ATXAX(BGPTAXI,0),U)_";.05////"_$S(BGPMFITI:$P(^ATXAX(BGPMFITI,0),U),1:"")
- D ^DIC K DIC,DA,DR,DIADD,DLAYGO I Y=-1 S BGPERR="UNABLE TO CREATE REPORT FILE ENTRY!" H 4 D XIT Q
- S BGPXPRPT=+Y
- K ^BGPXPA(BGPXPRPT,13)
- S C=0,X="" F S X=$O(BGPTAX(X)) Q:X="" S C=C+1 S ^BGPXPA(BGPXPRPT,13,C,0)=X,^BGPXPA(BGPXPRPT,13,"B",X,C)=""
- S ^BGPXPA(BGPXPRPT,13,0)="^90530.111301A^"_C_"^"_C
- K ^BGPXPA(BGPXPRPT,14)
- I $G(BGPMFITI) S C=0,X="" F S X=$O(^ATXAX(BGPMFITI,21,"B",X)) Q:X="" S C=C+1,Y=$P($G(^DIC(4,X,0)),U) S ^BGPXPA(BGPXPRPT,14,C,0)=Y,^BGPXPA(BGPXPRPT,14,"B",Y,C)=""
- S ^BGPXPA(BGPXPRPT,14,0)="^90530.111401A^"_C_"^"_C
- ;create entry in GUI file
- D ^XBFMK
- S X=BGPUSER_$$NOW^XLFDT
- S BGPGFNM=X
- S DIC="^BGPGUIA(",DIC(0)="L",DIADD=1,DLAYGO=90560.19,DIC("DR")=".02////"_BGPUSER_";.03////"_$S(BGPRTIME]"":BGPRTIME,1:$$NOW^XLFDT)_";.05///"_BGPOPTN_";.06///R;.07///P"
- K DD,D0,DO D FILE^DICN K DLAYGO,DIADD,DD,D0,DO
- I Y=-1 S BGPRET=0_"^UNABLE TO CREATE ENTRY IN GUI OUTPUT FILE" Q
- S BGPGIEN=+Y
- ;SEND THE REPORT PROCESS OFF TO THE BACKGROUND USING TASKMAN CALL
- D TSKMN
- S BGPRET=BGPGIEN
- Q
- ;
- TSKMN ;
- S ZTIO=""
- K ZTSAVE S ZTSAVE("*")=""
- S ZTCPU=$G(IOCPU),ZTRTN="NTXP^BGP8GNXP",ZTDTH=$S(BGPRTIME]"":BGPRTIME,1:$$NOW^XLFDT),ZTDESC="GUI NATIONAL GPRA EXPORT 15" D ^%ZTLOAD
- D UPLOG^BGP8GUA(BGPGIEN,ZTSK)
- Q
- NTXP ;
- D PROC^BGP8DNE1
- K ^TMP($J,"BGPGUI")
- S IOM=80,BGPIOSL=55
- D GUIR^BGPXBLM("PRINT^BGP8DNE1","^TMP($J,""BGPGUI"",")
- S X=0,C=0 F S X=$O(^TMP($J,"BGPGUI",X)) Q:X'=+X D
- . S C=C+1
- . N BGPDATA
- . S BGPDATA=$G(^TMP($J,"BGPGUI",X))
- . I BGPDATA="ZZZZZZZ" S BGPDATA=$C(12)
- . S ^BGPGUIA(BGPGIEN,11,C,0)=BGPDATA
- S ^BGPGUIA(BGPGIEN,11,0)="^90560.1911^"_C_"^"_C_"^"_DT
- K ^TMP($J,"BGPGUI")
- D ENDLOG
- D XIT
- Q
- ;
- XIT ;
- K ^TMP($J)
- D EN^XBVK("BGP") S:$D(ZTQUEUED) ZTREQ="@"
- K DIRUT,DUOUT,DIR,DOD
- K DIADD,DLAYGO
- D KILL^AUPNPAT
- 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 BD,ED
- D KILL^AUPNPAT
- D ^XBFMK
- L -^BGPDATA
- Q
- ;
- ENDLOG ;-- UPDATE LOG AT END
- S DIE="^BGPGUIA(",DA=BGPGIEN,DR=".04////"_$$NOW^XLFDT_";.06///C"
- D ^DIE
- K DIE,DR,DA
- Q
- BGP8GNXP ; IHS/CMI/LAB - CRS 27 Apr 2010 10:56 PM ;
- +1 ;;18.1;IHS CLINICAL REPORTING;;MAY 25, 2018;Build 66
- +2 ;
- +3 ;
- TESTNTL ;
- +1 SET ERR=""
- +2 DO EP(.ERR,1,2522,"BGP 18 NATL EXPORT",597,1,1,,$$NOW^XLFDT)
- +3 WRITE !,ERR
- +4 QUIT
- EP(BGPRET,BGPUSER,BGPDUZ2,BGPOPTN,BGPTAXI,BGPEXPT,BGPLOCAL,BGPMFITI,BGPRTIME) ;EP - called from GUI to produce national gpra report (NTL-GP)
- +1 ; BGPUSER - DUZ
- +2 ; BGPDUZ2 - DUZ(2)
- +3 ; BGPOPTN - OPTION NAME
- +4 ; BGPTAXI - IEN OF COMMUNITY TAXONOMY NAME
- +5 ; BGPEXPT - EXPORT TO AREA? 1 IS YES, 0 IS NO
- +6 ; BGPLOCAL - create local files 1 is yes, 0 is NO
- +7 ; BGPMFITI - location taxonomy ien if MFI site
- +8 ; BGPRTIME - report will be queued automatically, this variable
- +9 ; contains the time it will run, internal fileman format
- +10 ; must be date and time
- +11 ;
- +12 ; BGPRET - return value is ien^error message^export file name. a zero (0) is
- +13 ; passed as ien if error occurred, display the filename back to the user
- +14 ; if they chose to export to area
- +15 ;
- +16 ;create entry in gui output file
- +17 ;queue report to run with/GUIR
- +18 DO EP1
- +19 SET Y=BGPRET
- +20 ;D EN^XBVK("BGP") S:$D(ZTQUEUED) ZTREQ="@"
- +21 SET BGPRET=Y
- +22 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(BGPTAXI)=""
- SET BGPRET=0_"^IEN OF COMMUNITY TAXONOMY NOT PASSED"
- QUIT
- +6 IF '$DATA(^ATXAX(BGPTAXI))
- SET BGPRET=0_"^INVALID COMMUNITY TAXONOMY IEN PASSED"
- QUIT
- +7 IF $GET(BGPEXPT)=""
- SET BGPRET=0_"^AREA EXPORT VALUE NOT PASSED"
- QUIT
- +8 IF $GET(BGPLOCAL)=""
- SET BGPLOCAL=0
- +9 SET BGPRTIME=$GET(BGPRTIME)
- +10 SET BGPMFITI=$GET(BGPMFITI)
- +11 IF 'BGPLOCAL
- IF 'BGPEXPT
- SET BGPRET=0_"^You have chosen not to create any files.....exiting"
- QUIT
- +12 ;S DUZ=BGPUSER
- +13 SET DUZ(2)=BGPDUZ2
- +14 IF '$DATA(DT)
- SET DT=$$DT^XLFDT
- +15 DO ^XBKVAR
- +16 SET BGPGUI=1
- +17 SET IOM=80
- SET BGPIOSL=55
- +18 SET BGPXPFYC=$ORDER(^BGPCTRL("B",2007,0))
- +19 SET BGPRTYPE=1
- SET BGPXPRP=1
- SET BGPXPFYY=2015
- SET BGPXPFYI=312
- +20 SET BGPXPHD=3130701
- SET BGPXPEDT=3140630
- +21 KILL BGPTAX
- SET X=0
- +22 FOR
- SET X=$ORDER(^ATXAX(BGPTAXI,21,X))
- IF 'X
- QUIT
- Begin DoDot:1
- +23 SET BGPTAX($PIECE(^ATXAX(BGPTAXI,21,X,0),U))=""
- +24 QUIT
- End DoDot:1
- +25 SET BGPHOME=$PIECE($GET(^BGPSITE(DUZ(2),0)),U,2)
- +26 SET BGPBEN=1
- HOME ;
- +1 SET BGPUF=""
- +2 SET BGPXPDR=DT
- +3 SET BGPNOW=$$NOW^XLFDT
- +4 SET BGPUF=$$GETDIR^BGP8UTL2()
- +5 ;I ^%ZOSF("OS")["PC"!(^%ZOSF("OS")["NT")!($P($G(^AUTTSITE(1,0)),U,21)=2) S BGPUF=$S($P($G(^AUTTSITE(1,1)),U,2)]"":$P(^AUTTSITE(1,1),U,2),1:"C:\EXPORT")
- +6 ;I $P(^AUTTSITE(1,0),U,21)=1 S BGPUF="/usr/spool/uucppublic/"
- +7 SET BGPFN="CRSCNT"_$PIECE(^AUTTLOC(DUZ(2),0),U,10)_$$D^BGP8UTL(BGPXPHD)_$$D^BGP8UTL(BGPXPEDT)_$$D^BGP8UTL(BGPNOW)_"_001_of_001.TXT"
- +8 ;CREATE REPORT ENTRY
- +9 KILL DIC
- SET X=$PIECE(^VA(200,DUZ,0),U)_"-"_$$D^BGP8UTL(BGPNOW)
- SET DIC(0)="L"
- SET DIC="^BGPXPA("
- SET DLAYGO=90530.11
- SET DIADD=1
- +10 SET DIC("DR")=".02////"_BGPXPHD_";.03////"_BGPXPEDT_";.04////"_$PIECE(^ATXAX(BGPTAXI,0),U)_";.05////"_$SELECT(BGPMFITI:$PIECE(^ATXAX(BGPMFITI,0),U),1:"")
- +11 DO ^DIC
- KILL DIC,DA,DR,DIADD,DLAYGO
- IF Y=-1
- SET BGPERR="UNABLE TO CREATE REPORT FILE ENTRY!"
- HANG 4
- DO XIT
- QUIT
- +12 SET BGPXPRPT=+Y
- +13 KILL ^BGPXPA(BGPXPRPT,13)
- +14 SET C=0
- SET X=""
- FOR
- SET X=$ORDER(BGPTAX(X))
- IF X=""
- QUIT
- SET C=C+1
- SET ^BGPXPA(BGPXPRPT,13,C,0)=X
- SET ^BGPXPA(BGPXPRPT,13,"B",X,C)=""
- +15 SET ^BGPXPA(BGPXPRPT,13,0)="^90530.111301A^"_C_"^"_C
- +16 KILL ^BGPXPA(BGPXPRPT,14)
- +17 IF $GET(BGPMFITI)
- SET C=0
- SET X=""
- FOR
- SET X=$ORDER(^ATXAX(BGPMFITI,21,"B",X))
- IF X=""
- QUIT
- SET C=C+1
- SET Y=$PIECE($GET(^DIC(4,X,0)),U)
- SET ^BGPXPA(BGPXPRPT,14,C,0)=Y
- SET ^BGPXPA(BGPXPRPT,14,"B",Y,C)=""
- +18 SET ^BGPXPA(BGPXPRPT,14,0)="^90530.111401A^"_C_"^"_C
- +19 ;create entry in GUI file
- +20 DO ^XBFMK
- +21 SET X=BGPUSER_$$NOW^XLFDT
- +22 SET BGPGFNM=X
- +23 SET DIC="^BGPGUIA("
- SET DIC(0)="L"
- SET DIADD=1
- SET DLAYGO=90560.19
- SET DIC("DR")=".02////"_BGPUSER_";.03////"_$SELECT(BGPRTIME]"":BGPRTIME,1:$$NOW^XLFDT)_";.05///"_BGPOPTN_";.06///R;.07///P"
- +24 KILL DD,D0,DO
- DO FILE^DICN
- KILL DLAYGO,DIADD,DD,D0,DO
- +25 IF Y=-1
- SET BGPRET=0_"^UNABLE TO CREATE ENTRY IN GUI OUTPUT FILE"
- QUIT
- +26 SET BGPGIEN=+Y
- +27 ;SEND THE REPORT PROCESS OFF TO THE BACKGROUND USING TASKMAN CALL
- +28 DO TSKMN
- +29 SET BGPRET=BGPGIEN
- +30 QUIT
- +31 ;
- TSKMN ;
- +1 SET ZTIO=""
- +2 KILL ZTSAVE
- SET ZTSAVE("*")=""
- +3 SET ZTCPU=$GET(IOCPU)
- SET ZTRTN="NTXP^BGP8GNXP"
- SET ZTDTH=$SELECT(BGPRTIME]"":BGPRTIME,1:$$NOW^XLFDT)
- SET ZTDESC="GUI NATIONAL GPRA EXPORT 15"
- DO ^%ZTLOAD
- +4 DO UPLOG^BGP8GUA(BGPGIEN,ZTSK)
- +5 QUIT
- NTXP ;
- +1 DO PROC^BGP8DNE1
- +2 KILL ^TMP($JOB,"BGPGUI")
- +3 SET IOM=80
- SET BGPIOSL=55
- +4 DO GUIR^BGPXBLM("PRINT^BGP8DNE1","^TMP($J,""BGPGUI"",")
- +5 SET X=0
- SET C=0
- FOR
- SET X=$ORDER(^TMP($JOB,"BGPGUI",X))
- IF X'=+X
- QUIT
- Begin DoDot:1
- +6 SET C=C+1
- +7 NEW BGPDATA
- +8 SET BGPDATA=$GET(^TMP($JOB,"BGPGUI",X))
- +9 IF BGPDATA="ZZZZZZZ"
- SET BGPDATA=$CHAR(12)
- +10 SET ^BGPGUIA(BGPGIEN,11,C,0)=BGPDATA
- End DoDot:1
- +11 SET ^BGPGUIA(BGPGIEN,11,0)="^90560.1911^"_C_"^"_C_"^"_DT
- +12 KILL ^TMP($JOB,"BGPGUI")
- +13 DO ENDLOG
- +14 DO XIT
- +15 QUIT
- +16 ;
- XIT ;
- +1 KILL ^TMP($JOB)
- +2 DO EN^XBVK("BGP")
- IF $DATA(ZTQUEUED)
- SET ZTREQ="@"
- +3 KILL DIRUT,DUOUT,DIR,DOD
- +4 KILL DIADD,DLAYGO
- +5 DO KILL^AUPNPAT
- +6 KILL X,X1,X2,X3,X4,X5,X6
- +7 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
- +8 KILL N,N1,N2,N3,N4,N5,N6
- +9 KILL BD,ED
- +10 DO KILL^AUPNPAT
- +11 DO ^XBFMK
- +12 LOCK -^BGPDATA
- +13 QUIT
- +14 ;
- ENDLOG ;-- UPDATE LOG AT END
- +1 SET DIE="^BGPGUIA("
- SET DA=BGPGIEN
- SET DR=".04////"_$$NOW^XLFDT_";.06///C"
- +2 DO ^DIE
- +3 KILL DIE,DR,DA
- +4 QUIT