BIREPL ;IHS/CMI/MWR - REPORT, ADULT IMM; MAY 10, 2010
;;8.5;IMMUNIZATION;;SEP 01,2011
;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
;; VIEW ADULT IMMUNIZATION REPORT: PARAMETERS VIEW MENU
;
;
;----------
START ;EP
;---> Listman Screen for printing Immunization Due Letters.
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 LETTER PRINT DU
D EN^VALM("BI REPORT ADULT IMM")
Q
;
;
;----------
INIT ;EP
;---> Initialize variables and list array.
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_"ADULT IMMUNIZATION REPORT" D CENTERT^BIUTL5(.X,42)
D WRITE(.BILINE,X_IOINORM)
K X
;
;---> Date.
D WRITE(.BILINE)
S:'$G(BIQDT) BIQDT=$G(DT)
D DATE^BIREP(.BILINE,"BIREPL",1,BIQDT,"Quarter Ending Date",,,,1)
;
;---> Current Community.
D DISP^BIREP(.BILINE,"BIREPL",.BICC,"Community",2,1)
;
;---> Health Care Facility.
N A,B S A="Health Care Facility",B="Facilities"
D DISP^BIREP(.BILINE,"BIREPL",.BIHCF,A,3,2,,,,B) K A,B
;
;---> Beneficiary Type.
S:$O(BIBEN(0))="" BIBEN(1)="" ;vvv83
D DISP^BIREP(.BILINE,"BIREPL",.BIBEN,"Beneficiary Type",4,4)
;
;---> Include CPT Coded Visits.
S:'$D(BICPTI) BICPTI=0
S X=" 5 - Include CPT Coded Visits...: "
S X=X_$S($G(BICPTI):"YES",1:"NO")
D WRITE(.BILINE,X,1)
K X
;
;---> User Population.
D:($G(BIUP)="")
.I $$GPRAIEN^BIUTL6 S BIUP="a" Q
.S BIUP="u"
;
S X=" 6 - Patient Population Group...: "
D
.I BIUP="r" S X=X_"Registered Patients (All)" Q
.I BIUP="i" S X=X_"Immunization Register Patients (Active)" Q
.I BIUP="u" S X=X_"User Population (1 visit, 3 yrs)" Q
.I BIUP="a" S X=X_"Active Users (2+ visits, 3 yrs)" Q
D WRITE(.BILINE,X,1)
K X
;
;---> Finish up Listmanager List Count.
S VALMCNT=BILINE
S BIRTN="BIREPL"
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).
; 3 - BIBLNK (opt) Number of blank lines to add after line sent.
;
Q:'$D(BILINE)
D WL^BIW(.BILINE,"BIREPL",$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"
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("ADULT IMMUNIZATION REPORT - HELP",.BITEXT)
Q
;
;
;----------
TEXT1(BITEXT) ;EP
;;
;;This report will provide statistics on Adult Immunizations.
;;The population of patients reviewed are those 19 years and older.
;;
;;Criteria:
;;Tetanus: The patient must have had a tetanus immunization documented
;;in the past 10 years. This includes any of the following CVX Codes:
;;1, 9, 20, 22, 28, 50, 106, 107, 110, 113, 115.
;;If parameter 5 "Include CPT Coded Visits" is set to "yes", then any
;;of the following codes will count: 90701,90718,90700,90720,90702,
;;90703,90721,90723.
;;
;;Pneumovax: Adults 65 years and older must have had a pneumococcal
;;immunization documented at or after age 65 years. This includes any
;;of the following CVX Codes: 33, 100, 109.
;;
;;When VIEWING the report on-screen, you will be able to view the
;;lists of patients who were "Current" or "Not Current."
;;In this context, the list of "Current" adults includes those who
;;are current for Td/Tdap (within the last 10 years) and for pneumo
;;vaccines on the date of the report.
;;
;;The IMMUNIZATION ADULT REPORT screen allows you to adjust the
;;report to your needs.
;;
;;There are 6 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-6) at the
;;prompt on the bottom of the screen. Use "?" at any prompt where
;;you would like 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 Adult 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.)
;;
;;QUARTER ENDING DATE: The report will compile immunization rates
;;as of the date entered. Typically, this date would be the end
;;of a Quarter.
;;
;;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.
;;NOTE: You may want to select the GPRA set of Communities, in order
;;to more closely match the GPRA report produced by the CRS module
;;(RPMS Clinical Reporting System).
;;
;;HEALTH CARE FACILITIES: If you select for specific Health Care
;;Facilities, only Patients who have active Chart#'s at one or more
;;of the selected Facilities will be included in the report.
;;
;;BENEFICIARY TYPES: If you select for specific Beneficiary Types,
;;only patients whose Beneficiary Type is one of those you select
;;will be included in the report. "Beneficiary Type" refers to
;;Item 3 on Page 2 of the RPMS Patient Registration.
;;
;;INCLUDE CPT CODED VISITS: If you answer "YES" to this question
;;the report will search for any immunizations that were only entered
;;as CPT Codes, and it will include those immunizations in the
;;statistical results of this report.
;;
;;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.
;;
;;
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("BIREPL",$J)
D CLEAR^VALM1
D FULL^VALM1
Q
BIREPL ;IHS/CMI/MWR - REPORT, ADULT IMM; MAY 10, 2010
+1 ;;8.5;IMMUNIZATION;;SEP 01,2011
+2 ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
+3 ;; VIEW ADULT IMMUNIZATION REPORT: PARAMETERS VIEW MENU
+4 ;
+5 ;
+6 ;----------
START ;EP
+1 ;---> Listman Screen for printing Immunization Due Letters.
+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 LETTER PRINT DU
+2 DO EN^VALM("BI REPORT ADULT IMM")
+3 QUIT
+4 ;
+5 ;
+6 ;----------
INIT ;EP
+1 ;---> Initialize variables and list array.
+2 SET VALM("TITLE")=$$LMVER^BILOGO
+3 SET VALMSG="Select a left column number to change an item."
+4 NEW BILINE,X
SET BILINE=0
+5 DO WRITE(.BILINE)
+6 SET X=IOUON_"ADULT IMMUNIZATION REPORT"
DO CENTERT^BIUTL5(.X,42)
+7 DO WRITE(.BILINE,X_IOINORM)
+8 KILL X
+9 ;
+10 ;---> Date.
+11 DO WRITE(.BILINE)
+12 IF '$GET(BIQDT)
SET BIQDT=$GET(DT)
+13 DO DATE^BIREP(.BILINE,"BIREPL",1,BIQDT,"Quarter Ending Date",,,,1)
+14 ;
+15 ;---> Current Community.
+16 DO DISP^BIREP(.BILINE,"BIREPL",.BICC,"Community",2,1)
+17 ;
+18 ;---> Health Care Facility.
+19 NEW A,B
SET A="Health Care Facility"
SET B="Facilities"
+20 DO DISP^BIREP(.BILINE,"BIREPL",.BIHCF,A,3,2,,,,B)
KILL A,B
+21 ;
+22 ;---> Beneficiary Type.
+23 ;vvv83
IF $ORDER(BIBEN(0))=""
SET BIBEN(1)=""
+24 DO DISP^BIREP(.BILINE,"BIREPL",.BIBEN,"Beneficiary Type",4,4)
+25 ;
+26 ;---> Include CPT Coded Visits.
+27 IF '$DATA(BICPTI)
SET BICPTI=0
+28 SET X=" 5 - Include CPT Coded Visits...: "
+29 SET X=X_$SELECT($GET(BICPTI):"YES",1:"NO")
+30 DO WRITE(.BILINE,X,1)
+31 KILL X
+32 ;
+33 ;---> User Population.
+34 IF ($GET(BIUP)="")
Begin DoDot:1
+35 IF $$GPRAIEN^BIUTL6
SET BIUP="a"
QUIT
+36 SET BIUP="u"
End DoDot:1
+37 ;
+38 SET X=" 6 - Patient Population Group...: "
+39 Begin DoDot:1
+40 IF BIUP="r"
SET X=X_"Registered Patients (All)"
QUIT
+41 IF BIUP="i"
SET X=X_"Immunization Register Patients (Active)"
QUIT
+42 IF BIUP="u"
SET X=X_"User Population (1 visit, 3 yrs)"
QUIT
+43 IF BIUP="a"
SET X=X_"Active Users (2+ visits, 3 yrs)"
QUIT
End DoDot:1
+44 DO WRITE(.BILINE,X,1)
+45 KILL X
+46 ;
+47 ;---> Finish up Listmanager List Count.
+48 SET VALMCNT=BILINE
+49 SET BIRTN="BIREPL"
+50 QUIT
+51 ;
+52 ;
+53 ;----------
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 ; 3 - BIBLNK (opt) Number of blank lines to add after line sent.
+6 ;
+7 IF '$DATA(BILINE)
QUIT
+8 DO WL^BIW(.BILINE,"BIREPL",$GET(BIVAL),$GET(BIBLNK))
+9 QUIT
+10 ;
+11 ;
+12 ;----------
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
QUIT
+5 ;
+6 ;
+7 ;----------
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("ADULT IMMUNIZATION REPORT - HELP",.BITEXT)
+4 QUIT
+5 ;
+6 ;
+7 ;----------
TEXT1(BITEXT) ;EP
+1 ;;
+2 ;;This report will provide statistics on Adult Immunizations.
+3 ;;The population of patients reviewed are those 19 years and older.
+4 ;;
+5 ;;Criteria:
+6 ;;Tetanus: The patient must have had a tetanus immunization documented
+7 ;;in the past 10 years. This includes any of the following CVX Codes:
+8 ;;1, 9, 20, 22, 28, 50, 106, 107, 110, 113, 115.
+9 ;;If parameter 5 "Include CPT Coded Visits" is set to "yes", then any
+10 ;;of the following codes will count: 90701,90718,90700,90720,90702,
+11 ;;90703,90721,90723.
+12 ;;
+13 ;;Pneumovax: Adults 65 years and older must have had a pneumococcal
+14 ;;immunization documented at or after age 65 years. This includes any
+15 ;;of the following CVX Codes: 33, 100, 109.
+16 ;;
+17 ;;When VIEWING the report on-screen, you will be able to view the
+18 ;;lists of patients who were "Current" or "Not Current."
+19 ;;In this context, the list of "Current" adults includes those who
+20 ;;are current for Td/Tdap (within the last 10 years) and for pneumo
+21 ;;vaccines on the date of the report.
+22 ;;
+23 ;;The IMMUNIZATION ADULT REPORT screen allows you to adjust the
+24 ;;report to your needs.
+25 ;;
+26 ;;There are 6 items or "parameters" on the screen that you may
+27 ;;change in order to select for a specific group of patients.
+28 ;;To change an item, enter its left column number (1-6) at the
+29 ;;prompt on the bottom of the screen. Use "?" at any prompt where
+30 ;;you would like more information on the parameter you are changing.
+31 ;;
+32 ;;Once you have the parameters set to retrieve the group of patients
+33 ;;you want, select V to View the Adult Report or P to print it.
+34 ;;
+35 ;;If it customarily takes a long time for your computer to prepare
+36 ;;this report, it may be preferable to Print and Queue the report
+37 ;;to a printer, rather than Viewing it on screen. (This would avoid
+38 ;;tying up your screen while the report is being prepared.)
+39 ;;
+40 ;;QUARTER ENDING DATE: The report will compile immunization rates
+41 ;;as of the date entered. Typically, this date would be the end
+42 ;;of a Quarter.
+43 ;;
+44 ;;COMMUNITIES: If you select for specific Communities, only patients
+45 ;;whose Current Community matches one of the Communities selected will
+46 ;;be included in the report. "Current Community" is refers to Item 6
+47 ;;on Page 1 of the RPMS Patient Registration.
+48 ;;NOTE: You may want to select the GPRA set of Communities, in order
+49 ;;to more closely match the GPRA report produced by the CRS module
+50 ;;(RPMS Clinical Reporting System).
+51 ;;
+52 ;;HEALTH CARE FACILITIES: If you select for specific Health Care
+53 ;;Facilities, only Patients who have active Chart#'s at one or more
+54 ;;of the selected Facilities will be included in the report.
+55 ;;
+56 ;;BENEFICIARY TYPES: If you select for specific Beneficiary Types,
+57 ;;only patients whose Beneficiary Type is one of those you select
+58 ;;will be included in the report. "Beneficiary Type" refers to
+59 ;;Item 3 on Page 2 of the RPMS Patient Registration.
+60 ;;
+61 ;;INCLUDE CPT CODED VISITS: If you answer "YES" to this question
+62 ;;the report will search for any immunizations that were only entered
+63 ;;as CPT Codes, and it will include those immunizations in the
+64 ;;statistical results of this report.
+65 ;;
+66 ;;PATIENT POPULATION GROUP: You may select one of four patient groups
+67 ;;to be considered in the report: Registered Patients (All),
+68 ;;Immunization Register Patients (Active), User Population (1+ visits
+69 ;;in 3 yrs), or Active Clinical Users (2+ visits in 3 yrs).
+70 ;;Active Clinical Users is the default.
+71 ;;
+72 ;;
+73 DO LOADTX("TEXT1",,.BITEXT)
+74 QUIT
+75 ;
+76 ;
+77 ;----------
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("BIREPL",$JOB)
+4 DO CLEAR^VALM1
+5 DO FULL^VALM1
+6 QUIT