BIREPP ;IHS/CMI/MWR - REPORT, PCV; AUG 10,2010
;;8.5;IMMUNIZATION;;SEP 01,2011
;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
;; VIEW PCV REPORT.
;
;
;----------
START ;EP
;---> Listman Screen for viewing Vaccine Accountability Report.
D SETVARS^BIUTL5 N BIRTN
;
;---> If Vaccine Table is not standard, display Error Text and quit.
I $D(^BISITE(-1)) D ERRCD^BIUTL2(503,,1) Q
;
D EN
D EXIT
Q
;
;
;----------
EN ;EP
;---> Main entry point for BI REPORT VAC ACCOUNTABILITY.
D EN^VALM("BI REPORT PCV")
Q
;
;
;----------
INIT ;EP
;---> Initialize variables and list array.
K ^TMP("BIREPP",$J),^TMP("BIDUL",$J)
S VALM("TITLE")=$$LMVER^BILOGO
S VALMSG="Select a left column number to change an item."
N BILINE,X S BILINE=0
D WRITE(.BILINE)
S X=IOUON_"PCV REPORT"
D CENTERT^BIUTL5(.X,42)
D WRITE(.BILINE,X_IOINORM)
K X
;
;---> Date Range.
D
.;---> Quit if dates have already been selected.
.Q:$G(BIBEGDT)
.;---> Default: year prior to today.
.N X,X1,X2
.S (BIENDDT,X)=DT
.S X1=X,X2=-365 D C^%DTC S BIBEGDT=X
;
D DATERNG^BIREP(.BILINE,"BIREPP",1,BIBEGDT,BIENDDT,2,1,1)
;
;---> User Population.
D:($G(BIUP)="")
.I $$GPRAIEN^BIUTL6 S BIUP="a" Q
.S BIUP="u"
;
S X=" 2 - Patient Population Group...: "_$$BIUPTX^BIUTL6(BIUP)
D WRITE(.BILINE,X,2) K X
;
;---> Current Community.
D DISP^BIREP(.BILINE,"BIREPP",.BICC,"Community",3,1)
;
;---> Health Care Facility.
;N A,B S A="Health Care Facility",B="Facilities"
;D DISP^BIREP(.BILINE,"BIREPP",.BIHCF,A,3,2,,,,B)
;
;---> Finish up Listmanager List Count.
S VALMCNT=BILINE
S BIRTN="BIREPP",BITITL="PCV"
Q
;
;
;----------
WRITE(BILINE,BIVAL,BIBLNK) ;EP
;---> Write lines to ^TMP (see documentation in ^BIW).
;---> Parameters:
; 1 - BILINE (ret) Last line# written.
; 2 - BIVAL (opt) Value/text of line (Null=blank line).
;
Q:'$D(BILINE)
D WL^BIW(.BILINE,"BIREPP",$G(BIVAL),$G(BIBLNK))
Q
;
;
;----------
RESET ;EP
;---> Update partition for return to Listmanager.
I $D(VALMQUIT) S VALMBCK="Q" Q
D TERM^VALM0 S VALMBCK="R"
;
;---> NOT USED. Could be used to correct margins.
;K VALMHDR S VALM("BM")=15,VALM("LINES")=14,VALM("TM")=2
D INIT
Q
;
;
;----------
HELP ;EP
;---> Help code.
N BIX S BIX=X
D FULL^VALM1
W !!?5,"Enter ""V"" to view this report on screen, ""P"" to print it,"
W !?5,"or ""H"" to view the Help Text for this report and its parameters."
D DIRZ^BIUTL3(""," Press ENTER/RETURN to continue")
D:BIX'="??" RE^VALM4
Q
;
;
;----------
HELP1 ;EP
;----> Explanation of this report.
N BITEXT D TEXT1(.BITEXT)
D START^BIHELP("PCV REPORT - HELP",.BITEXT)
Q
;
;
;----------
TEXT1(BITEXT) ;EP
;;The PCV Report provides "doses administered" by age group.
;;This report can be printed for any time period, and can be
;;limited to reporting for patients in one or more communities.
;;Note: Historical immunizations are included in this report
;;(those immunizations given at other sites and entered at this
;;site for completeness of records).
;;
;;There are 3 items or "parameters" on the screen that you may
;;change in order to select for a specific group of patients.
;;To change an item, enter its left column number (1-3) at the
;;prompt on the bottom of the screen. Use "?" at any prompt where
;;you would like help or more information on the parameter you are
;;changing.
;;
;;Once you have the parameters set to retrieve the group of patients
;;you want, select V to View the PCV Report or P to print it.
;;
;;If it customarily takes a long time for your computer to prepare
;;this report, it may be preferable to Print and Queue the report
;;to a printer, rather than Viewing it on screen. (This would avoid
;;tying up your screen while the report is being prepared.)
;;
;;DATE RANGE: Only immunizations given within the Date Range you
;;select will be included in the "Total Doses in Date Range" row
;;at the bottom of the report. (All other rows include PCV doses
;;given throughout patients' histories.
;;
;;PATIENT POPULATION GROUP: You may select one of four patient groups
;;to be considered in the report: Registered Patients (All),
;;Immunization Register Patients (Active), User Population (1+ visits
;;in 3 yrs), or Active Clinical Users (2+ visits in 3 yrs).
;;Active Clinical Users is the default.
;;
;;COMMUNITIES: If you select for specific Communities, only patients
;;whose Current Community matches one of the Communities selected will
;;be included in the report. "Current Community" is refers to Item 6
;;on Page 1 of the RPMS Patient Registration.
;;
;;
D LOADTX("TEXT1",,.BITEXT)
Q
;
;
;----------
LOADTX(BILINL,BITAB,BITEXT) ;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'[";;" S BITEXT(I)=T_$P(X,";;",2)
Q
;
;
;----------
EXIT ;EP
;---> End of job cleanup.
D KILLALL^BIUTL8(1)
K ^TMP("BIREPP",$J),^TMP("BIDFN",$J),^TMP("BIDUL",$J)
D CLEAR^VALM1
Q
BIREPP ;IHS/CMI/MWR - REPORT, PCV; AUG 10,2010
+1 ;;8.5;IMMUNIZATION;;SEP 01,2011
+2 ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
+3 ;; VIEW PCV REPORT.
+4 ;
+5 ;
+6 ;----------
START ;EP
+1 ;---> Listman Screen for viewing Vaccine Accountability Report.
+2 DO SETVARS^BIUTL5
NEW BIRTN
+3 ;
+4 ;---> If Vaccine Table is not standard, display Error Text and quit.
+5 IF $DATA(^BISITE(-1))
DO ERRCD^BIUTL2(503,,1)
QUIT
+6 ;
+7 DO EN
+8 DO EXIT
+9 QUIT
+10 ;
+11 ;
+12 ;----------
EN ;EP
+1 ;---> Main entry point for BI REPORT VAC ACCOUNTABILITY.
+2 DO EN^VALM("BI REPORT PCV")
+3 QUIT
+4 ;
+5 ;
+6 ;----------
INIT ;EP
+1 ;---> Initialize variables and list array.
+2 KILL ^TMP("BIREPP",$JOB),^TMP("BIDUL",$JOB)
+3 SET VALM("TITLE")=$$LMVER^BILOGO
+4 SET VALMSG="Select a left column number to change an item."
+5 NEW BILINE,X
SET BILINE=0
+6 DO WRITE(.BILINE)
+7 SET X=IOUON_"PCV REPORT"
+8 DO CENTERT^BIUTL5(.X,42)
+9 DO WRITE(.BILINE,X_IOINORM)
+10 KILL X
+11 ;
+12 ;---> Date Range.
+13 Begin DoDot:1
+14 ;---> Quit if dates have already been selected.
+15 IF $GET(BIBEGDT)
QUIT
+16 ;---> Default: year prior to today.
+17 NEW X,X1,X2
+18 SET (BIENDDT,X)=DT
+19 SET X1=X
SET X2=-365
DO C^%DTC
SET BIBEGDT=X
End DoDot:1
+20 ;
+21 DO DATERNG^BIREP(.BILINE,"BIREPP",1,BIBEGDT,BIENDDT,2,1,1)
+22 ;
+23 ;---> User Population.
+24 IF ($GET(BIUP)="")
Begin DoDot:1
+25 IF $$GPRAIEN^BIUTL6
SET BIUP="a"
QUIT
+26 SET BIUP="u"
End DoDot:1
+27 ;
+28 SET X=" 2 - Patient Population Group...: "_$$BIUPTX^BIUTL6(BIUP)
+29 DO WRITE(.BILINE,X,2)
KILL X
+30 ;
+31 ;---> Current Community.
+32 DO DISP^BIREP(.BILINE,"BIREPP",.BICC,"Community",3,1)
+33 ;
+34 ;---> Health Care Facility.
+35 ;N A,B S A="Health Care Facility",B="Facilities"
+36 ;D DISP^BIREP(.BILINE,"BIREPP",.BIHCF,A,3,2,,,,B)
+37 ;
+38 ;---> Finish up Listmanager List Count.
+39 SET VALMCNT=BILINE
+40 SET BIRTN="BIREPP"
SET BITITL="PCV"
+41 QUIT
+42 ;
+43 ;
+44 ;----------
WRITE(BILINE,BIVAL,BIBLNK) ;EP
+1 ;---> Write lines to ^TMP (see documentation in ^BIW).
+2 ;---> Parameters:
+3 ; 1 - BILINE (ret) Last line# written.
+4 ; 2 - BIVAL (opt) Value/text of line (Null=blank line).
+5 ;
+6 IF '$DATA(BILINE)
QUIT
+7 DO WL^BIW(.BILINE,"BIREPP",$GET(BIVAL),$GET(BIBLNK))
+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 ;
+5 ;---> NOT USED. Could be used to correct margins.
+6 ;K VALMHDR S VALM("BM")=15,VALM("LINES")=14,VALM("TM")=2
+7 DO INIT
+8 QUIT
+9 ;
+10 ;
+11 ;----------
HELP ;EP
+1 ;---> Help code.
+2 NEW BIX
SET BIX=X
+3 DO FULL^VALM1
+4 WRITE !!?5,"Enter ""V"" to view this report on screen, ""P"" to print it,"
+5 WRITE !?5,"or ""H"" to view the Help Text for this report and its parameters."
+6 DO DIRZ^BIUTL3(""," Press ENTER/RETURN to continue")
+7 IF BIX'="??"
DO RE^VALM4
+8 QUIT
+9 ;
+10 ;
+11 ;----------
HELP1 ;EP
+1 ;----> Explanation of this report.
+2 NEW BITEXT
DO TEXT1(.BITEXT)
+3 DO START^BIHELP("PCV REPORT - HELP",.BITEXT)
+4 QUIT
+5 ;
+6 ;
+7 ;----------
TEXT1(BITEXT) ;EP
+1 ;;The PCV Report provides "doses administered" by age group.
+2 ;;This report can be printed for any time period, and can be
+3 ;;limited to reporting for patients in one or more communities.
+4 ;;Note: Historical immunizations are included in this report
+5 ;;(those immunizations given at other sites and entered at this
+6 ;;site for completeness of records).
+7 ;;
+8 ;;There are 3 items or "parameters" on the screen that you may
+9 ;;change in order to select for a specific group of patients.
+10 ;;To change an item, enter its left column number (1-3) at the
+11 ;;prompt on the bottom of the screen. Use "?" at any prompt where
+12 ;;you would like help or more information on the parameter you are
+13 ;;changing.
+14 ;;
+15 ;;Once you have the parameters set to retrieve the group of patients
+16 ;;you want, select V to View the PCV Report or P to print it.
+17 ;;
+18 ;;If it customarily takes a long time for your computer to prepare
+19 ;;this report, it may be preferable to Print and Queue the report
+20 ;;to a printer, rather than Viewing it on screen. (This would avoid
+21 ;;tying up your screen while the report is being prepared.)
+22 ;;
+23 ;;DATE RANGE: Only immunizations given within the Date Range you
+24 ;;select will be included in the "Total Doses in Date Range" row
+25 ;;at the bottom of the report. (All other rows include PCV doses
+26 ;;given throughout patients' histories.
+27 ;;
+28 ;;PATIENT POPULATION GROUP: You may select one of four patient groups
+29 ;;to be considered in the report: Registered Patients (All),
+30 ;;Immunization Register Patients (Active), User Population (1+ visits
+31 ;;in 3 yrs), or Active Clinical Users (2+ visits in 3 yrs).
+32 ;;Active Clinical Users is the default.
+33 ;;
+34 ;;COMMUNITIES: If you select for specific Communities, only patients
+35 ;;whose Current Community matches one of the Communities selected will
+36 ;;be included in the report. "Current Community" is refers to Item 6
+37 ;;on Page 1 of the RPMS Patient Registration.
+38 ;;
+39 ;;
+40 DO LOADTX("TEXT1",,.BITEXT)
+41 QUIT
+42 ;
+43 ;
+44 ;----------
LOADTX(BILINL,BITAB,BITEXT) ;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
SET BITEXT(I)=T_$PIECE(X,";;",2)
+4 QUIT
+5 ;
+6 ;
+7 ;----------
EXIT ;EP
+1 ;---> End of job cleanup.
+2 DO KILLALL^BIUTL8(1)
+3 KILL ^TMP("BIREPP",$JOB),^TMP("BIDFN",$JOB),^TMP("BIDUL",$JOB)
+4 DO CLEAR^VALM1
+5 QUIT