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

BNIGU.m

Go to the documentation of this file.
  1. BNIGU ; cmi/anch/maw - BNI Visual CPHAD Utilities 1/4/2006 1:26:59 PM
  1. ;;1.0;BNI CPHD ACTIVITY DATASYSTEM;;DEC 20, 2006
  1. Q
  1. ;
  1. DEBUG(BNIRET,BNISTR) ;-- debug the application
  1. D DEBUG^%Serenji("PPARPT^BNIGU(.BNIRET,.BNISTR)")
  1. Q
  1. ;
  1. KEYS(RETVAL,BNISTR) ;-- return keys
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N BNIDA,BNINS,P,BNIDATA,BNIKEYI,BNIKEY,BNII
  1. S BNII=0
  1. K ^BNITMP($J)
  1. S RETVAL="^BNITMP("_$J_")"
  1. S ^BNITMP($J,BNII)="T00030KEYS"_$C(30)
  1. S P="|"
  1. S BNINS=$P(BNISTR,P)
  1. S BNIDA=0 F S BNIDA=$O(^VA(200,DUZ,51,BNIDA)) Q:'BNIDA D
  1. . S BNIDATA=$G(^VA(200,DUZ,51,BNIDA,0))
  1. . S BNIKEYI=$P(BNIDATA,U)
  1. . S BNIKEY=$P($G(^DIC(19.1,BNIKEYI,0)),U)
  1. . I BNINS'="*" Q:$E(BNIKEY,1,$L(BNINS))'[BNINS
  1. . S BNII=BNII+1
  1. . S ^BNITMP($J,BNII)=BNIKEY_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. CHK(BNIRET,BNISTR) ;report status
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNIDUZ,BNII
  1. S P="|"
  1. S BNIDUZ=$P(BNISTR,P)
  1. K ^BNITMP($J)
  1. S BNIRET="^BNITMP("_$J_")"
  1. S BNII=0
  1. S ^BNITMP($J,BNII)="T00007BMXIEN^T00030Name^T00030User^T00020Start Time^T00020End Time^T00030Type of Report^T00020Report Status^T00020Type of Output"_$C(30)
  1. N BNIDA
  1. S BNIDA=0 F S BNIDA=$O(^BNIGUI("AUSR",BNIDUZ,BNIDA)) Q:'BNIDA D
  1. . N BNIIEN
  1. . S BNIIEN=0 F S BNIIEN=$O(^BNIGUI("AUSR",BNIDUZ,BNIDA,BNIIEN)) Q:'BNIIEN D
  1. .. N BNIDATA,BNINM,BNIUSER,BNIST,BNIET,BNITOR,BNIRS,BNITOO
  1. .. S BNIDATA=$G(^BNIGUI(BNIIEN,0))
  1. .. S BNINM=$P(BNIDATA,U)
  1. .. S BNIUSER=$P($G(^VA(200,$P(BNIDATA,U,2),0)),U)
  1. .. S BNIST=$$FMTE^XLFDT($P(BNIDATA,U,3))
  1. .. S BNIET=$$FMTE^XLFDT($P(BNIDATA,U,4))
  1. .. S BNITOR=$P(BNIDATA,U,5)
  1. .. S BNIRS=$$GET1^DIQ(90512.08,BNIIEN,.06)
  1. .. S BNITOO=$$GET1^DIQ(90512.08,BNIIEN,.07)
  1. .. S BNII=BNII+1
  1. .. S ^BNITMP($J,BNII)=BNIIEN_U_BNINM_U_BNIUSER_U_BNIST_U_BNIET_U_BNITOR_U_BNIRS_U_BNITOO_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)
  1. Q
  1. ;
  1. ALLREC(BNIRET,BNISTR) ;-- user is allowed to see all records?
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNIUSER,BNISITE,BNII,BNIA
  1. S P="|"
  1. S BNIRET="^BNITMP("_$J_")"
  1. S BNII=0
  1. S BNIA=0
  1. S ^BNITMP($J,BNII)="T00001Allowed"_$C(30)
  1. S BNII=BNII+1
  1. S BNIUSER=$P(BNISTR,P)
  1. S BNISITE=$P(BNISTR,P,2)
  1. I $D(^BNISITE("ACP",BNISITE,BNIUSER)) S BNIA=1
  1. S ^BNITMP($J,BNII)=BNIA_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)
  1. Q
  1. ;
  1. REC(BNIRET,BNISTR) ;-- list of records the user is allowed to see
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNIALL,BNIDA,BNIIEN,BNIUSR,BNII,R
  1. S P="|",R="~"
  1. S BNISITE=$P(BNISTR,P)
  1. S BNIRET="^BNITMP("_$J_")"
  1. S BNII=0
  1. S ^BNITMP($J,BNII)="T00007BMXIEN^T00020Date of Activity^T00003Provider^T00020Date Created^T00030Created By^T00030Last Edited By^T00020Date Last Edited^T00030Location Where Record Created^T00030Location^T00030Person Performing Activity^"
  1. S ^BNITMP($J,BNII)=^BNITMP($J,BNII)_"T00010Total Time Spent^T00050General Health Concern^T00100Specific Health Topic^T00050Type of Activity^T00050Group Served^T00060Activity Setting^T00050Community Within Service Area^"
  1. S ^BNITMP($J,BNII)=^BNITMP($J,BNII)_"T00010Travel Time in Minutes^T00010Number Served^T00010Month^T00004Year^T00064General Health Concern (Other)^T00064Specific Health Topic (Other)^T00064Type of Activity (Other)^T00064Group Served (Other)"
  1. S ^BNITMP($J,BNII)=^BNITMP($J,BNII)_$C(30)
  1. S BNIDA=0 F S BNIDA=$O(^BNIREC("AE",BNIDA)) Q:'BNIDA D
  1. . N BNIIEN
  1. . S BNIIEN=0 F S BNIIEN=$O(^BNIREC("AE",BNIDA,BNIIEN)) Q:'BNIIEN D
  1. .. N BNIDATA,BNIDATA1,BNIDATA2
  1. .. Q:'$$ALLOW^BNIE(BNIIEN)
  1. .. S BNIDATA=$G(^BNIREC(BNIIEN,0))
  1. .. S BNIDATA1=$G(^BNIREC(BNIIEN,11))
  1. .. S BNIDATA2=$G(^BNIREC(BNIIEN,12))
  1. .. S BNII=BNII+1
  1. .. N BNI01,BNI02,BNI03,BNI04,BNI05,BNI06,BNI07,BNI08,BNI09,BNI11,BNI12,BNI13,BNI14,BNI15,BNI16,BNI17,BNI18,BNI19,BNI21,BNI1101,BNI1102,BNI1103,BNI1201
  1. .. S BNI01=$P(BNIDATA,U)
  1. .. S BNI02=$P(BNIDATA,U,2)
  1. .. S BNI03=$S($P(BNIDATA,U,3):$P(BNIDATA,U,3)_R_$P(^VA(200,$P(BNIDATA,U,3),0),U),1:"")
  1. .. S BNI04=$S($P(BNIDATA,U,4):$P(BNIDATA,U,4)_R_$P(^VA(200,$P(BNIDATA,U,4),0),U),1:"")
  1. .. S BNI05=$P(BNIDATA,U,5)
  1. .. S BNI06=$S($P(BNIDATA,U,6):$P(BNIDATA,U,6)_R_$P(^AUTTLOC($P(BNIDATA,U,6),0),U),1:"")
  1. .. S BNI07=$S($P(BNIDATA,U,7):$P(BNIDATA,U,7)_R_$P(^AUTTLOC($P(BNIDATA,U,7),0),U),1:"")
  1. .. S BNI08=$S($P(BNIDATA,U,8):$P(BNIDATA,U,8)_R_$P(^VA(200,$P(BNIDATA,U,8),0),U),1:"")
  1. .. S BNI09=$P(BNIDATA,U,9)
  1. .. S BNI11=$S($P(BNIDATA,U,11):$P(BNIDATA,U,11)_R_$P(^BNIGHC($P(BNIDATA,U,11),0),U),1:"")
  1. .. S BNI12=$S($P(BNIDATA,U,12):$P(BNIDATA,U,12)_R_$P(^BNISHT($P(BNIDATA,U,12),0),U),1:"")
  1. .. S BNI13=$S($P(BNIDATA,U,13):$P(BNIDATA,U,13)_R_$P(^BNITOA($P(BNIDATA,U,13),0),U),1:"")
  1. .. S BNI14=$S($P(BNIDATA,U,14):$P(BNIDATA,U,14)_R_$P(^BNIGS($P(BNIDATA,U,14),0),U),1:"")
  1. .. S BNI15=$S($P(BNIDATA,U,15):$P(BNIDATA,U,15)_R_$P(^BNIAS($P(BNIDATA,U,15),0),U),1:"")
  1. .. S BNI16=$S($P(BNIDATA,U,16):$P(BNIDATA,U,16)_R_$P(^AUTTCOM($P(BNIDATA,U,16),0),U),1:"")
  1. .. S BNI17=$P(BNIDATA,U,17)
  1. .. S BNI18=$P(BNIDATA,U,18)
  1. .. S BNI19=$P(BNIDATA,U,19)
  1. .. S BNI21=$P(BNIDATA,U,21)
  1. .. S BNI1101=$P(BNIDATA1,U)
  1. .. S BNI1102=$P(BNIDATA1,U,2)
  1. .. S BNI1103=$P(BNIDATA1,U,3)
  1. .. S BNI1201=$P(BNIDATA2,U)
  1. .. S BNIINIT=$S($P(BNIDATA,U,8):$P(^VA(200,$P(BNIDATA,U,8),0),U,2),1:"")
  1. .. I BNIINIT="" S BNIINIT="???"
  1. .. S ^BNITMP($J,BNII)=BNIIEN_U_BNI01_U_BNIINIT_U_BNI02_U_BNI03_U_BNI04_U_BNI05_U_BNI06_U_BNI07_U_BNI08_U_BNI09_U_BNI11_U_BNI12_U_BNI13_U_BNI14_U_BNI15_U_BNI16_U_BNI17_U_BNI18_U_BNI19_U_BNI21_U_BNI1101_U_BNI1102_U_BNI1103_U_BNI1201_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)
  1. Q
  1. ;
  1. CATSTR(BNISRET,STR) ;EP -- concatenate string
  1. N BNIDA
  1. S BNISRET=""
  1. S BNIDA=0 F S BNIDA=$O(STR(BNIDA)) Q:'BNIDA D
  1. . S BNISRET=BNISRET_$G(STR(BNIDA))
  1. Q
  1. ;
  1. AC(BNIRET,BNISTR) ;-- additional comments?
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P
  1. S P="|"
  1. K ^BNITMP($J)
  1. S BNIRET="^BNITMP("_$J_")"
  1. N BNII,BNIIEN
  1. S BNII=0
  1. S BNIIEN=$P(BNISTR,P)
  1. S ^BNITMP($J,BNII)="T00001NOTES"_$C(30)
  1. I $D(^BNIREC(BNIIEN,14,1)) D
  1. . S BNII=BNII+1
  1. . S ^BNITMP($J,BNII)=1_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)
  1. Q
  1. ;
  1. SHT(BNIRET,BNISTR) ;-- get specific health topic based on Ghc passed in?
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P
  1. S P="|"
  1. K ^BNITMP($J)
  1. S BNIRET="^BNITMP("_$J_")"
  1. N BNII,BNIIEN
  1. S BNII=0
  1. S BNIGHC=$P(BNISTR,P)
  1. S ^BNITMP($J,BNII)="T00001Specific Health Topic"_$C(30)
  1. S BNII=BNII+1
  1. S ^BNITMP($J,BNII)=$$SHTP(BNIGHC)_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)
  1. Q
  1. ;
  1. SHTP(G) ;EP - called from screenman screen
  1. I $G(G)="" Q ""
  1. NEW X
  1. S X=$O(^BNISHT("AA",G,1,0))
  1. I X,$D(^BNISHT(X,0)) Q X_"~"_$P(^BNISHT(X,0),U,1)
  1. Q ""
  1. ;
  1. SITE(RETVAL) ;-- return site parameter
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N BNIDA,BNINS,P,BNIDATA,BNIKEYI,BNIKEY,BNII,R
  1. S BNII=0
  1. K ^BNITMP($J)
  1. S RETVAL="^BNITMP("_$J_")"
  1. S ^BNITMP($J,BNII)="T00007BMXIEN^T00030Site^T00001Activity Setting^T00030Taxonomy"_$C(30)
  1. S P="|",R="~"
  1. S BNIDA=0 F S BNIDA=$O(^BNISITE(BNIDA)) Q:'BNIDA D
  1. . N BNIDATA,BNISTE,BNITX,BNIRAS
  1. . S BNIDATA=$G(^BNISITE(BNIDA,0))
  1. . S BNIRAS=$P(BNIDATA,U,2)
  1. . S BNISTE=$P(^DIC(4,$P(BNIDATA,U),0),U)
  1. . I $P(BNIDATA,U,3) S BNITX=$P(BNIDATA,U,3)_R_$P(^ATXAX($P(BNIDATA,U,3),0),U)
  1. . S BNII=BNII+1
  1. . S ^BNITMP($J,BNII)=BNIDA_U_BNIDA_R_BNISTE_U_BNIRAS_U_$G(BNITX)_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. SITEA(RETVAL) ;-- return site parameter
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N BNIDA,BNINS,P,BNIDATA,BNIKEYI,BNIKEY,BNII,R
  1. S BNII=0
  1. K ^BNITMP($J)
  1. S RETVAL="^BNITMP("_$J_")"
  1. S ^BNITMP($J,BNII)="T00007BMXIEN^T00030Site"_$C(30)
  1. S P="|",R="~"
  1. S BNIDA=0 F S BNIDA=$O(^BNISITE(BNIDA)) Q:'BNIDA D
  1. . N BNIDATA,BNISTE,BNITX,BNIRAS
  1. . S BNIDATA=$G(^BNISITE(BNIDA,0))
  1. . S BNIRAS=$P(BNIDATA,U,2)
  1. . S BNISTE=$P(^DIC(4,$P(BNIDATA,U),0),U)
  1. . I $P(BNIDATA,U,3) S BNITX=$P(BNIDATA,U,3)_R_$P(^ATXAX($P(BNIDATA,U,3),0),U)
  1. . S BNII=BNII+1
  1. . S ^BNITMP($J,BNII)=BNIDA_U_BNISTE_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. COM(RETVAL,BNISTR) ;-- return communities based on value passed in
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N BNIDA,BNINS,P,BNIDATA,BNIKEYI,BNIKEY,BNII,R
  1. S BNII=0
  1. K ^BNITMP($J)
  1. S RETVAL="^BNITMP("_$J_")"
  1. S ^BNITMP($J,BNII)="T00007BMXIEN^T00030Community^T00030State"_$C(30)
  1. S P="|",R="~"
  1. S BNIST=$P(BNISTR,P)
  1. S BNIDA=0 F S BNIDA=$O(^BNISITE(BNIST,11,BNIDA)) Q:'BNIDA D
  1. . N BNIDATA,BNICOM,BNISTA
  1. . S BNIDATA=$G(^BNISITE(BNIST,11,BNIDA,0))
  1. . S BNICOM=$P(^AUTTCOM(BNIDATA,0),U)
  1. . S BNISTA=$P($G(^DIC(5,$P(^AUTTCOM(BNIDATA,0),U,3),0)),U)
  1. . S BNII=BNII+1
  1. . S ^BNITMP($J,BNII)=BNIDATA_U_BNICOM_U_BNISTA_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. USRS(RETVAL,BNISTR) ;-- return users based on value passed in
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N BNIDA,BNINS,P,BNIDATA,BNIKEYI,BNIKEY,BNII,R
  1. S BNII=0
  1. K ^BNITMP($J)
  1. S RETVAL="^BNITMP("_$J_")"
  1. S ^BNITMP($J,BNII)="T00007BMXIEN^T00030Users"_$C(30)
  1. S P="|",R="~"
  1. S BNIST=$P(BNISTR,P)
  1. S BNIDA=0 F S BNIDA=$O(^BNISITE(BNIST,12,BNIDA)) Q:'BNIDA D
  1. . N BNIDATA,BNIUSR
  1. . S BNIDATA=$G(^BNISITE(BNIST,12,BNIDA,0))
  1. . S BNIUSR=$P(^VA(200,BNIDATA,0),U)
  1. . S BNII=BNII+1
  1. . S ^BNITMP($J,BNII)=BNIDATA_U_BNIUSR_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. MERR ;ERROR TRAP
  1. N X
  1. X ("S X=$"_"ZE")
  1. S X="MUMPS error: """_X_""""
  1. D ERR(X)
  1. Q
  1. ;
  1. ERR(ERR) ;ERROR PROCESSOR
  1. N X
  1. S X="ERROR|"_ERR_$C(30)
  1. S @BNIRET@(1)=X
  1. Q
  1. ;
  1. CMT(BNIRET,BNISTR) ;-- return additional comments
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNII,BNIREC,BNIDA
  1. S P="|"
  1. K ^BNITMP($J)
  1. S BNIRET="^BNITMP("_$J_")"
  1. S BNII=0
  1. S BNIREC=$P(BNISTR,P)
  1. S ^BNITMP($J,BNII)="T000250Comments"_$C(30)
  1. S BNIDA=0 F S BNIDA=$O(^BNIREC(BNIREC,14,BNIDA)) Q:'BNIDA D
  1. . N BNION
  1. . S BNII=BNII+1
  1. . S BNION=$P($G(^BNIREC(BNIREC,14,BNIDA,0)),U)
  1. . S ^BNITMP($J,BNII)=BNION_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. DISP(BNIRET,BNISTR) ;-- display a record
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNII,BNIREC,BNIDA
  1. S P="|"
  1. K ^BNITMP($J)
  1. S BNIRET="^BNITMP("_$J_")"
  1. S BNII=0
  1. S BNIREC=$P(BNISTR,P)
  1. S ^BNITMP($J,BNII)="T000250Text"_$C(30)
  1. D EN^BNIRDSG(BNIREC,"",1)
  1. S BNIDA=0 F S BNIDA=$O(^TMP("BNIVDSG",$J,BNIDA)) Q:'BNIDA D
  1. . N BNION
  1. . S BNII=BNII+1
  1. . S BNION=$G(^TMP("BNIVDSG",$J,BNIDA,0))
  1. . S ^BNITMP($J,BNII)=BNION_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. TBL(BNIRET,BNISTR) ;-- print table listings
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNII,BNIREC,BNIDA,BNISORT,BNIRTN
  1. S P="|"
  1. K ^BNITMP($J)
  1. S BNIRET="^BNITMP("_$J_")"
  1. S BNII=0
  1. S BNIREC=$P(BNISTR,P)
  1. S BNISORT=$P(BNISTR,P,2)
  1. I BNIREC="General Public Health Concern" S BNIRTN="PRINT^BNITGHC"
  1. I BNIREC="Specific Health Topic" S BNIRTN="PRINT^BNITSHT"
  1. I BNIREC="Type of Activity" S BNIRTN="PRINT^BNITTOA"
  1. I BNIREC="Group Served" S BNIRTN="PRINT^BNITGS"
  1. I BNIREC="Activity Setting" S BNIRTN="PRINT^BNITAS"
  1. S ^BNITMP($J,BNII)="T00080Text"_$C(30)
  1. D GUIR^XBLM(BNIRTN,"^TMP($J,""BNITBL"",")
  1. S BNIDA=0 F S BNIDA=$O(^TMP($J,"BNITBL",BNIDA)) Q:'BNIDA D
  1. . N BNION
  1. . S BNII=BNII+1
  1. . S BNION=$G(^TMP($J,"BNITBL",BNIDA))
  1. . S ^BNITMP($J,BNII)=BNION_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. GETTAX(BNIRET) ;-- get community taxonomies
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNIOPT,BNII
  1. S P="|"
  1. S BNII=0
  1. K ^BNITMP($J)
  1. S BNIRET="^BNITMP("_$J_")"
  1. S ^BNITMP($J,BNII)="T00080TAXONOMY NAME"_$C(30)
  1. N BNIDA,BNIT
  1. S BNIFN=9999999.05
  1. S BNIIEN=0 F S BNIIEN=$O(^ATXAX("B",BNIIEN)) Q:BNIIEN="" D
  1. . N BNIDA
  1. . S BNIDA=0 F S BNIDA=$O(^ATXAX("B",BNIIEN,BNIDA)) Q:'BNIDA D
  1. .. I BNIFN]"" Q:$P($G(^ATXAX(BNIDA,0)),U,15)'=BNIFN
  1. .. S BNII=BNII+1
  1. .. S BNIN=$P($G(^ATXAX(BNIDA,0)),U)
  1. .. S BNIRO=$S($P($G(^ATXAX(BNIDA,0)),U,22):"Read Only",1:"Editable")
  1. .. S BNIFL=$P($G(^ATXAX(BNIDA,0)),U,15)
  1. .. S BNIFLT=$S(BNIFL=50:"Med",1:"Tax")
  1. .. S ^BNITMP($J,BNII)=BNIN_"("_BNIRO_"/"_BNIFLT_"/"_BNIFL_")"_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)
  1. Q
  1. ;
  1. RPT(RETVAL,BNISTR) ;-- get the report and queue
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNIREP,BNIBG,BNIED,BNILR,BNIRDT,BNIRTN,BNII
  1. S P="|"
  1. S BNIH=$TR($H,",")
  1. S BNIJ=$J
  1. S BNIREP=$P(BNISTR,P)
  1. S BNIBG=$P(BNISTR,P,2)
  1. S BNIED=$P(BNISTR,P,3)
  1. S BNILR=$P(BNISTR,P,4)
  1. S BNIRDT=$P(BNISTR,P,5)
  1. I BNIREP="PHC" S BNIRTN="BNIG^BNIRP2(.BNIERR,BNIJ,BNIH,BNIBG,BNIED,BNILR,BNIRDT)"
  1. I BNIREP="SHT" S BNIRTN="BNIG^BNIRP3(.BNIERR,BNIJ,BNIH,BNIBG,BNIED,BNILR,BNIRDT)"
  1. I BNIREP="TOA" S BNIRTN="BNIG^BNIRP4(.BNIERR,BNIJ,BNIH,BNIBG,BNIED,BNILR,BNIRDT)"
  1. I BNIREP="ACS" S BNIRTN="BNIG^BNIRP5(.BNIERR,BNIJ,BNIH,BNIBG,BNIED,BNILR,BNIRDT)"
  1. I BNIREP="GPE" S BNIRTN="BNIG^BNIRP6(.BNIERR,BNIJ,BNIH,BNIBG,BNIED,BNILR,BNIRDT)"
  1. I BNIREP="TSD" S BNIRTN="BNIG^BNIRP7(.BNIERR,BNIJ,BNIH,BNIBG,BNIED,BNILR,BNIRDT)"
  1. S BNII=0
  1. S RETVAL="^BNITMP("_$J_")"
  1. K ^BNITMP($J)
  1. S ^BNITMP($J,0)="T00007BMXIEN^T00050Error"_$C(30)
  1. S BNIGUI=1
  1. D @BNIRTN
  1. S ^BNITMP($J,1)=+$G(BNIERR)_U_$C(30)
  1. S ^BNITMP($J,2)=$C(31)
  1. K BNIGUI
  1. Q
  1. ;
  1. PPARPT(RETVAL,BNISTR) ;-- queue the PPA Report
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNIREP,BNIBG,BNIED,BNILR,BNIRDT,BNIRTN,BNII,BNITYP,BNISUB,R,BNIPRVS
  1. S P="|",R="~"
  1. S BNIH=$TR($H,",")
  1. S BNIJ=$J
  1. S BNIREP=$P(BNISTR,P)
  1. S BNIBG=$P(BNISTR,P,2)
  1. S BNIED=$P(BNISTR,P,3)
  1. S BNILR=$P(BNISTR,P,4)
  1. S BNIRDT=$P(BNISTR,P,5)
  1. S BNITYP=$P(BNISTR,P,6)
  1. S BNISUB=$P(BNISTR,P,7)
  1. S BNIPRV=$P(BNISTR,P,8)
  1. S BNIPRVS=""
  1. N I
  1. F I=1:1 D Q:$P(BNIPRV,R,I)=""
  1. . Q:$P(BNIPRV,R,I)=""
  1. . S BNIPRVS(+$P(BNIPRV,R,I))=""
  1. S BNII=0
  1. S RETVAL="^BNITMP("_$J_")"
  1. K ^BNITMP($J)
  1. S BNIGUI=1
  1. S ^BNITMP($J,0)="T00007BMXIEN^T00050Error"_$C(30)
  1. D BNIG^BNIRP1(.BNIERR,BNIJ,BNIH,BNIBG,BNIED,BNILR,BNIRDT,BNITYP,BNISUB,.BNIPRVS)
  1. S ^BNITMP($J,1)=+$G(BNIERR)_U_$C(30)
  1. S ^BNITMP($J,2)=$C(31)
  1. K BNIGUI
  1. Q
  1. ;
  1. DELRPT(RETVAL,BNISTR) ;-- delete a report
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,R,I
  1. S P="|",R="~"
  1. S BNIERR=""
  1. K ^BNITMP($J)
  1. S RETVAL="^BNITMP("_$J_")"
  1. N BNII F I=2:1 D Q:$P(BNISTR,R,I)=""
  1. . ;N BNII
  1. . Q:$P(BNISTR,R,I)=""
  1. . S BNII=$P(BNISTR,R,I)
  1. . S DIK="^BNIGUI(",DA=BNII D ^DIK
  1. S ^BNITMP($J,0)="T00250DATA"_$C(30)
  1. S ^BNITMP($J,1)=$G(BNIERR)_$C(30)
  1. S ^BNITMP($J,2)=$C(31)_BNIERR
  1. Q
  1. ;
  1. REP(BNIRET,BNISTR) ;-- return Report Output
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNII,BNIDA,BNIFL,BNIRIEN
  1. S P="|"
  1. S BNIRIEN=$P(BNISTR,P)
  1. S BNIRET="^BNITMP("_$J_")"
  1. S BNII=0
  1. S ^BNITMP($J,BNII)="T00250DATA"_$C(30)
  1. S BNIDA=0 F S BNIDA=$O(^BNIGUI(BNIRIEN,11,BNIDA)) Q:'BNIDA D
  1. . S BNII=BNII+1
  1. . S ^BNITMP($J,BNII)=$G(^BNIGUI(BNIRIEN,11,BNIDA,0))_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;
  1. XL(BNIRET,BNISTR) ;-- return to excel
  1. S X="MERR^BNIGU",@^%ZOSF("TRAP")
  1. N P,BNII,BNIDA,BNIFL,BNIRIEN
  1. S P="|"
  1. S BNIRIEN=$P(BNISTR,P)
  1. S BNIRET="^BNITMP("_$J_")"
  1. K ^BNITMP($J)
  1. S BNII=0
  1. S ^BNITMP($J,BNII)="T00250DATA"_$C(30)
  1. S BNIDA=0 F S BNIDA=$O(^BNIGUI(BNIRIEN,12,BNIDA)) Q:'BNIDA D
  1. . S BNII=BNII+1
  1. . S ^BNITMP($J,BNII)=$TR($G(^BNIGUI(BNIRIEN,12,BNIDA,0)),"^","~")_$C(30)
  1. S ^BNITMP($J,BNII+1)=$C(31)_$G(BNIERR)
  1. Q
  1. ;