- BIREPT1 ;IHS/CMI/MWR - REPORT, TWO-YR-OLD RATES; MAY 10, 2010
- ;;8.5;IMMUNIZATION;;SEP 01,2011
- ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
- ;; VIEW OR PRINT TWO-YR-OLD IMMUNIZATION RATES REPORT.
- ;
- ;
- ;----------
- START(BIX) ;EP
- ;---> Prepare and display or print Two-Yr-Old Rates Report.
- ;---> Parameters:
- ; 1 - BIX (req) If BIX="PRINT", then print Report.
- ; If BIX="VIEW", then view Report (default).
- ;---> Variables:
- ; 1 - BIQDT (req) Quarter Ending Date.
- ; 2 - BITAR (opt) Two-Yr-Old Report Age Range, default="19-35".
- ; 3 - BICC (req) Current Community array.
- ; 4 - BIHCF (req) Health Care Facility array.
- ; 5 - BICM (req) Case Manager array.
- ; 6 - BIBEN (req) Beneficiary Type array.
- ; 7 - BIPOP (ret) BIPOP=1 if error.
- ; 8 - BIUP (req) User Population/Group (Registered, Imm, User, Active).
- ;
- ;---> Check for required Variables.
- I '$G(BIQDT) D ERRCD^BIUTL2(622,,1) D RESET^BIREPT Q
- I '$D(BICC) D ERRCD^BIUTL2(614,,1) D RESET^BIREPT Q
- I '$D(BIHCF) D ERRCD^BIUTL2(625,,1) D RESET^BIREPT Q
- I '$D(BICM) D ERRCD^BIUTL2(615,,1) D RESET^BIREPT Q
- I '$D(BIBEN) D ERRCD^BIUTL2(662,,1) D RESET^BIREPT Q
- I '$G(BISITE) S BISITE=$G(DUZ(2))
- I '$G(BISITE) D ERRCD^BIUTL2(109,,1) D RESET^BIREPT Q
- S:$G(BIUP)="" BIUP="u"
- ;
- S:'$G(BITAR) BITAR="19-35"
- S BIAGRPS=$S(BITAR="19-35":"3,5,7,16,19,36",1:"3,5,7,16,19,24,36")
- ;
- ;---> BITOTPTS=Total Patients, used by HDR code after EN.
- N BITOTPTS
- ;
- D SETVARS^BIUTL5 N VALMCNT
- I $G(BIX)="PRINT" D PRINT,RESET^BIREPT Q
- ;
- ;
- ;---> Set BIAG for Age Range in header of report.
- ;---> Set BIRPDT for Report Date ("Quarterly, etc.).
- ;---> Set BIRTN in case user runs Patient List then needs to return
- ;---> to INIT here.
- ;---> Set BITITL for Report Name in Patient List, if called.
- N BIRPDT,BIRTN,BITITL
- S BIRPDT=BIQDT,BIRTN="BIREPT1",BITITL="TWO-YR-OLD"
- D EN
- Q
- ;
- ;
- ;----------
- PRINT ;EP
- ;---> Main entry point for printing the Two-Yr-Old Rates Report.
- D DEVICE(.BIPOP)
- Q:$G(BIPOP)
- ;
- D:$G(IO)'=$G(IO(0))
- .W !!?10,"This may take some time. Please hold on...",!
- ;
- ;---> Prepare report.
- K ^TMP("BIREPT1",$J),^TMP("BIDUL",$J)
- N VALM,VALMHDR
- D START^BIREPT2(BIQDT,BITAR,BIAGRPS,.BICC,.BIHCF,.BICM,.BIBEN,BISITE,BIUP),HDR
- ;
- D PRTLST^BIUTL8("BIREPT1")
- D EXIT,RESET^BIREPT
- Q
- ;
- ;
- ;----------
- EN ;EP
- ;---> Main entry point for List Template BI REPORT TWO-YR-OLD RATES1.
- D EN^VALM("BI REPORT TWO-YR-OLD RATES1")
- Q
- ;
- ;
- ;----------
- HDR ;EP
- ;---> Header code
- D HEAD^BIREPT2(BIQDT,BITAR,BIAGRPS,.BICC,.BIHCF,.BICM,.BIBEN,BIUP)
- Q
- ;
- ;
- ;----------
- INIT ;EP
- ;---> Initialize variables and list array.
- S VALM("TITLE")=$$LMVER^BILOGO
- W !!?10,"This may take some time. Please hold on...",!
- K ^TMP("BIREPT1",$J),^TMP("BIDUL",$J)
- D START^BIREPT2(BIQDT,BITAR,BIAGRPS,.BICC,.BIHCF,.BICM,.BIBEN,BISITE,BIUP)
- ;---> Set up ZTSAVE in case user Queues from PL in List.
- D ZSAVES^BIUTL3
- Q
- ;
- ;
- ;----------
- RESET ;EP
- ;---> Update partition for return to Listmanager.
- I $D(VALMQUIT) S VALMBCK="Q" Q
- D TERM^VALM0 S VALMBCK="R"
- D INIT,HDR Q
- ;
- ;
- ;----------
- HELP ;EP
- N BIX S BIX=X
- D FULL^VALM1 N BIPOP
- D TITLE^BIUTL5("VIEW TWO-YR-OLD REPORT - HELP")
- D TEXT1,DIRZ^BIUTL3()
- D:BIX'="??" RE^VALM4
- Q
- ;
- ;
- ;----------
- TEXT1 ;EP
- ;;You have chosen to View the Two-Yr-Old Report rather than Print it.
- ;;(You may print the report from here as well by entering "PL".)
- ;;
- ;;Also, you may:
- ;;
- ;;Enter "N" to view the list of Patients who were NOT Current
- ;; or "NOT up-to-date" with their immunizations, according
- ;; to recommendeded guidelines for their age.
- ;;
- ;;Enter "C" to view the list of Patients who were CURRENT or
- ;; "up-to-date" with their immunizations, according to
- ;; recommendeded guidelines for their age.
- ;;
- ;;Enter "B" to view a list of both groups of patients combined.
- ;;
- ;;
- D PRINTX("TEXT1")
- Q
- ;
- ;
- ;----------
- EXIT ;EP
- ;---> Cleanup, EOJ.
- K ^TMP("BIREPT1",$J)
- D CLEAR^VALM1
- D FULL^VALM1
- Q
- ;
- ;
- ;----------
- DEVICE(BIPOP) ;EP
- ;---> Get Device and possibly queue to Taskman.
- ;---> Parameters:
- ; 1 - BIPOP (ret) If error or Queue, BIPOP=1
- ;
- K %ZIS,IOP S BIPOP=0
- S ZTRTN="DEQUEUE^BIREPT1"
- D ZSAVES^BIUTL3
- D ZIS^BIUTL2(.BIPOP,1)
- Q
- ;
- ;
- ;----------
- DEQUEUE ;EP
- ;
- ;---> Prepare and print Two-Year-Old Report.
- K VALMHDR,^TMP("BIREPT1",$J)
- D HDR^BIREPT1
- D START^BIREPT2(BIQDT,BITAR,BIAGRPS,.BICC,.BIHCF,.BICM,.BIBEN,BISITE,BIUP)
- D PRTLST^BIUTL8("BIREPT1"),EXIT
- Q
- ;
- ;
- ;----------
- PRINTX(BILINL,BITAB) ;EP
- Q:$G(BILINL)=""
- N I,T,X S T="" S:'$D(BITAB) BITAB=5 F I=1:1:BITAB S T=T_" "
- F I=1:1 S X=$T(@BILINL+I) Q:X'[";;" W !,T,$P(X,";;",2)
- Q
- BIREPT1 ;IHS/CMI/MWR - REPORT, TWO-YR-OLD RATES; MAY 10, 2010
- +1 ;;8.5;IMMUNIZATION;;SEP 01,2011
- +2 ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
- +3 ;; VIEW OR PRINT TWO-YR-OLD IMMUNIZATION RATES REPORT.
- +4 ;
- +5 ;
- +6 ;----------
- START(BIX) ;EP
- +1 ;---> Prepare and display or print Two-Yr-Old Rates Report.
- +2 ;---> Parameters:
- +3 ; 1 - BIX (req) If BIX="PRINT", then print Report.
- +4 ; If BIX="VIEW", then view Report (default).
- +5 ;---> Variables:
- +6 ; 1 - BIQDT (req) Quarter Ending Date.
- +7 ; 2 - BITAR (opt) Two-Yr-Old Report Age Range, default="19-35".
- +8 ; 3 - BICC (req) Current Community array.
- +9 ; 4 - BIHCF (req) Health Care Facility array.
- +10 ; 5 - BICM (req) Case Manager array.
- +11 ; 6 - BIBEN (req) Beneficiary Type array.
- +12 ; 7 - BIPOP (ret) BIPOP=1 if error.
- +13 ; 8 - BIUP (req) User Population/Group (Registered, Imm, User, Active).
- +14 ;
- +15 ;---> Check for required Variables.
- +16 IF '$GET(BIQDT)
- DO ERRCD^BIUTL2(622,,1)
- DO RESET^BIREPT
- QUIT
- +17 IF '$DATA(BICC)
- DO ERRCD^BIUTL2(614,,1)
- DO RESET^BIREPT
- QUIT
- +18 IF '$DATA(BIHCF)
- DO ERRCD^BIUTL2(625,,1)
- DO RESET^BIREPT
- QUIT
- +19 IF '$DATA(BICM)
- DO ERRCD^BIUTL2(615,,1)
- DO RESET^BIREPT
- QUIT
- +20 IF '$DATA(BIBEN)
- DO ERRCD^BIUTL2(662,,1)
- DO RESET^BIREPT
- QUIT
- +21 IF '$GET(BISITE)
- SET BISITE=$GET(DUZ(2))
- +22 IF '$GET(BISITE)
- DO ERRCD^BIUTL2(109,,1)
- DO RESET^BIREPT
- QUIT
- +23 IF $GET(BIUP)=""
- SET BIUP="u"
- +24 ;
- +25 IF '$GET(BITAR)
- SET BITAR="19-35"
- +26 SET BIAGRPS=$SELECT(BITAR="19-35":"3,5,7,16,19,36",1:"3,5,7,16,19,24,36")
- +27 ;
- +28 ;---> BITOTPTS=Total Patients, used by HDR code after EN.
- +29 NEW BITOTPTS
- +30 ;
- +31 DO SETVARS^BIUTL5
- NEW VALMCNT
- +32 IF $GET(BIX)="PRINT"
- DO PRINT
- DO RESET^BIREPT
- QUIT
- +33 ;
- +34 ;
- +35 ;---> Set BIAG for Age Range in header of report.
- +36 ;---> Set BIRPDT for Report Date ("Quarterly, etc.).
- +37 ;---> Set BIRTN in case user runs Patient List then needs to return
- +38 ;---> to INIT here.
- +39 ;---> Set BITITL for Report Name in Patient List, if called.
- +40 NEW BIRPDT,BIRTN,BITITL
- +41 SET BIRPDT=BIQDT
- SET BIRTN="BIREPT1"
- SET BITITL="TWO-YR-OLD"
- +42 DO EN
- +43 QUIT
- +44 ;
- +45 ;
- +46 ;----------
- PRINT ;EP
- +1 ;---> Main entry point for printing the Two-Yr-Old Rates Report.
- +2 DO DEVICE(.BIPOP)
- +3 IF $GET(BIPOP)
- QUIT
- +4 ;
- +5 IF $GET(IO)'=$GET(IO(0))
- Begin DoDot:1
- +6 WRITE !!?10,"This may take some time. Please hold on...",!
- End DoDot:1
- +7 ;
- +8 ;---> Prepare report.
- +9 KILL ^TMP("BIREPT1",$JOB),^TMP("BIDUL",$JOB)
- +10 NEW VALM,VALMHDR
- +11 DO START^BIREPT2(BIQDT,BITAR,BIAGRPS,.BICC,.BIHCF,.BICM,.BIBEN,BISITE,BIUP)
- DO HDR
- +12 ;
- +13 DO PRTLST^BIUTL8("BIREPT1")
- +14 DO EXIT
- DO RESET^BIREPT
- +15 QUIT
- +16 ;
- +17 ;
- +18 ;----------
- EN ;EP
- +1 ;---> Main entry point for List Template BI REPORT TWO-YR-OLD RATES1.
- +2 DO EN^VALM("BI REPORT TWO-YR-OLD RATES1")
- +3 QUIT
- +4 ;
- +5 ;
- +6 ;----------
- HDR ;EP
- +1 ;---> Header code
- +2 DO HEAD^BIREPT2(BIQDT,BITAR,BIAGRPS,.BICC,.BIHCF,.BICM,.BIBEN,BIUP)
- +3 QUIT
- +4 ;
- +5 ;
- +6 ;----------
- INIT ;EP
- +1 ;---> Initialize variables and list array.
- +2 SET VALM("TITLE")=$$LMVER^BILOGO
- +3 WRITE !!?10,"This may take some time. Please hold on...",!
- +4 KILL ^TMP("BIREPT1",$JOB),^TMP("BIDUL",$JOB)
- +5 DO START^BIREPT2(BIQDT,BITAR,BIAGRPS,.BICC,.BIHCF,.BICM,.BIBEN,BISITE,BIUP)
- +6 ;---> Set up ZTSAVE in case user Queues from PL in List.
- +7 DO ZSAVES^BIUTL3
- +8 QUIT
- +9 ;
- +10 ;
- +11 ;----------
- RESET ;EP
- +1 ;---> Update partition for return to Listmanager.
- +2 IF $DATA(VALMQUIT)
- SET VALMBCK="Q"
- QUIT
- +3 DO TERM^VALM0
- SET VALMBCK="R"
- +4 DO INIT
- DO HDR
- QUIT
- +5 ;
- +6 ;
- +7 ;----------
- HELP ;EP
- +1 NEW BIX
- SET BIX=X
- +2 DO FULL^VALM1
- NEW BIPOP
- +3 DO TITLE^BIUTL5("VIEW TWO-YR-OLD REPORT - HELP")
- +4 DO TEXT1
- DO DIRZ^BIUTL3()
- +5 IF BIX'="??"
- DO RE^VALM4
- +6 QUIT
- +7 ;
- +8 ;
- +9 ;----------
- TEXT1 ;EP
- +1 ;;You have chosen to View the Two-Yr-Old Report rather than Print it.
- +2 ;;(You may print the report from here as well by entering "PL".)
- +3 ;;
- +4 ;;Also, you may:
- +5 ;;
- +6 ;;Enter "N" to view the list of Patients who were NOT Current
- +7 ;; or "NOT up-to-date" with their immunizations, according
- +8 ;; to recommendeded guidelines for their age.
- +9 ;;
- +10 ;;Enter "C" to view the list of Patients who were CURRENT or
- +11 ;; "up-to-date" with their immunizations, according to
- +12 ;; recommendeded guidelines for their age.
- +13 ;;
- +14 ;;Enter "B" to view a list of both groups of patients combined.
- +15 ;;
- +16 ;;
- +17 DO PRINTX("TEXT1")
- +18 QUIT
- +19 ;
- +20 ;
- +21 ;----------
- EXIT ;EP
- +1 ;---> Cleanup, EOJ.
- +2 KILL ^TMP("BIREPT1",$JOB)
- +3 DO CLEAR^VALM1
- +4 DO FULL^VALM1
- +5 QUIT
- +6 ;
- +7 ;
- +8 ;----------
- DEVICE(BIPOP) ;EP
- +1 ;---> Get Device and possibly queue to Taskman.
- +2 ;---> Parameters:
- +3 ; 1 - BIPOP (ret) If error or Queue, BIPOP=1
- +4 ;
- +5 KILL %ZIS,IOP
- SET BIPOP=0
- +6 SET ZTRTN="DEQUEUE^BIREPT1"
- +7 DO ZSAVES^BIUTL3
- +8 DO ZIS^BIUTL2(.BIPOP,1)
- +9 QUIT
- +10 ;
- +11 ;
- +12 ;----------
- DEQUEUE ;EP
- +1 ;
- +2 ;---> Prepare and print Two-Year-Old Report.
- +3 KILL VALMHDR,^TMP("BIREPT1",$JOB)
- +4 DO HDR^BIREPT1
- +5 DO START^BIREPT2(BIQDT,BITAR,BIAGRPS,.BICC,.BIHCF,.BICM,.BIBEN,BISITE,BIUP)
- +6 DO PRTLST^BIUTL8("BIREPT1")
- DO EXIT
- +7 QUIT
- +8 ;
- +9 ;
- +10 ;----------
- PRINTX(BILINL,BITAB) ;EP
- +1 IF $GET(BILINL)=""
- QUIT
- +2 NEW I,T,X
- SET T=""
- IF '$DATA(BITAB)
- SET BITAB=5
- FOR I=1:1:BITAB
- SET T=T_" "
- +3 FOR I=1:1
- SET X=$TEXT(@BILINL+I)
- IF X'[";;"
- QUIT
- WRITE !,T,$PIECE(X,";;",2)
- +4 QUIT