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

BIREPF2.m

Go to the documentation of this file.
  1. BIREPF2 ;IHS/CMI/MWR - REPORT, FLU IMM; AUG 10,2010
  1. ;;8.5;IMMUNIZATION;**5**;JUL 01,2013
  1. ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
  1. ;; VIEW INFLUENZA IMMUNIZATION REPORT, GATHER DATA.
  1. ;; PATCH 1: Add "Dose#" header to Doses column. HEAD+86
  1. ;; PATCH 5: Display new beginning date as July 1. HEAD+38
  1. ;
  1. ;
  1. ;----------
  1. ;---> Produce Header array for Quarterly Immunization Report.
  1. ;---> Parameters:
  1. ; 1 - BIYEAR (req) Report Year.
  1. ; 2 - BICC (req) Current Community array.
  1. ; 3 - BIHCF (req) Health Care Facility array.
  1. ; 4 - BICM (req) Case Manager array.
  1. ; 5 - BIBEN (req) Beneficiary Type array.
  1. ; 6 - BIFH (opt) F=report on Flu Vaccine Group (default), H=H1N1 group.
  1. ; 7 - BIUP (req) User Population/Group (Registered, Imm, User, Active).
  1. ;
  1. ;---> Check for required Variables.
  1. Q:'$G(BIYEAR)
  1. Q:'$D(BICC)
  1. Q:'$D(BIHCF)
  1. Q:'$D(BICM)
  1. Q:'$D(BIBEN)
  1. S:($G(BIFH)="") BIFH="F"
  1. Q:'$D(BIUP)
  1. ;
  1. K VALMHDR
  1. N BILINE,X S BILINE=0
  1. ;
  1. N X S X=""
  1. ;---> If Header array is NOT being for Listmananger include version. vvv83
  1. S:'$D(VALM("BM")) X=$$LMVER^BILOGO()
  1. ;
  1. D WH^BIW(.BILINE,X)
  1. S X=$$REPHDR^BIUTL6(DUZ(2)) D CENTERT^BIUTL5(.X)
  1. D WH^BIW(.BILINE,X)
  1. ;
  1. S X="* "_$S($G(BIFH)="H":"H1N1",1:"Standard Flu")_" Immunization Report *"
  1. D CENTERT^BIUTL5(.X)
  1. D WH^BIW(.BILINE,X)
  1. ;
  1. S X=$$SP^BIUTL5(27)_"Report Date: "_$$SLDT1^BIUTL5(DT)
  1. D WH^BIW(.BILINE,X)
  1. ;
  1. ;********** PATCH 5, v8.5, JUL 01,2013, IHS/CMI/MWR
  1. ;---> Display new beginning date as July 1.
  1. ;N BIBEG,BIEND S BIBEG="09/15/"_$P(BIYEAR,U)
  1. N BIBEG,BIEND S BIBEG="07/01/"_$P(BIYEAR,U)
  1. ;**********
  1. D
  1. .I $P(BIYEAR,U,2)="m" S BIEND="03/31/"_($P(BIYEAR,U)+1) Q
  1. .S BIEND="12/31/"_$P(BIYEAR,U)
  1. S X=$$SP^BIUTL5(28)_"Date Range: "_BIBEG_" - "_BIEND
  1. D WH^BIW(.BILINE,X,1)
  1. ;
  1. S X=" "_$$BIUPTX^BIUTL6(BIUP),X=$$PAD^BIUTL5(X,48)
  1. D WH^BIW(.BILINE,X)
  1. ;
  1. D WH^BIW(.BILINE,$$SP^BIUTL5(79,"-"))
  1. ;
  1. D
  1. .;---> If specific Communities were selected (not ALL), then print
  1. .;---> the Communities in a subheader at the top of the report.
  1. .D SUBH^BIOUTPT5("BICC","Community",,"^AUTTCOM(",.BILINE,.BIERR,,12)
  1. .I $G(BIERR) D ERRCD^BIUTL2(BIERR,.X) D WH^BIW(.BILINE,X) Q
  1. .;
  1. .;---> If specific Health Care Facilities, print subheader.
  1. .D SUBH^BIOUTPT5("BIHCF","Facility",,"^DIC(4,",.BILINE,.BIERR,,12)
  1. .I $G(BIERR) D ERRCD^BIUTL2(BIERR,.X) D WH^BIW(.BILINE,X) Q
  1. .;
  1. .;---> If specific Case Managers, print Case Manager subheader.
  1. .D SUBH^BIOUTPT5("BICM","Case Manager",,"^VA(200,",.BILINE,.BIERR,,12)
  1. .I $G(BIERR) D ERRCD^BIUTL2(BIERR,.X) D WH^BIW(.BILINE,X) Q
  1. .;
  1. .;---> If specific Beneficiary Types, print Beneficiary Type subheader.
  1. .D SUBH^BIOUTPT5("BIBEN","Beneficiary Type",,"^AUTTBEN(",.BILINE,.BIERR,,12)
  1. .I $G(BIERR) D ERRCD^BIUTL2(BIERR,.X) D WH^BIW(.BILINE,X) Q
  1. .;
  1. .S X=$$SP^BIUTL5(13)_"|"_$$SP^BIUTL5(4)_" Age in months/years on "
  1. .S X=X_$$SLDT2^BIUTL5((BIYEAR-1700)_1231)_$$SP^BIUTL5(12)_"|"
  1. .D WH^BIW(.BILINE,X)
  1. .;
  1. .;********** PATCH 1, v8.4, AUG 01,2010, IHS/CMI/MWR
  1. .;---> Add "Dose#" header to Doses column.
  1. .;S X=$$SP^BIUTL5(13)_"|"_$$SP^BIUTL5(55,"-")_"| Totals"
  1. .S X=" Dose# |"_$$SP^BIUTL5(55,"-")_"| Totals"
  1. .;**********
  1. .;
  1. .D WH^BIW(.BILINE,X)
  1. .S X=" | 10-23m 2-4y 5-17y 18-49y *18-49hr 50-64y 65+yrs"
  1. .S X=$$PAD^BIUTL5(X,69)_"|"
  1. .D WH^BIW(.BILINE,X)
  1. ;
  1. ;---> If Header array is being built for Listmananger,
  1. ;---> reset display window margins for Communities, etc.
  1. D:$D(VALM("BM"))
  1. .S VALM("TM")=BILINE+3
  1. .S VALM("LINES")=VALM("BM")-VALM("TM")+1
  1. .;---> Safeguard to prevent divide/0 error.
  1. .S:VALM("LINES")<1 VALM("LINES")=1
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. START(BIYEAR,BICC,BIHCF,BICM,BIBEN,BIFH,BIUP) ;EP
  1. ;---> Produce array for Quarterly Immunization Report.
  1. ;---> Parameters:
  1. ; 1 - BIYEAR (req) Report Year^m (if 2nd pc="m", then End Date=March 31 of
  1. ; the report year; otherwise End Date=Dec 31 of BIYEAR)
  1. ; 2 - BICC (req) Current Community array.
  1. ; 3 - BIHCF (req) Health Care Facility array.
  1. ; 4 - BICM (req) Case Manager array.
  1. ; 5 - BIBEN (req) Beneficiary Type array.
  1. ; 6 - BIFH (opt) F=report on Flu Vaccine Group (default), H=H1N1 group.
  1. ; 7 - BIUP (req) User Population/Group (Registered, Imm, User, Active).
  1. ;
  1. K ^TMP("BIREPF1",$J)
  1. N BILINE,BITMP,X S BILINE=0,BIPOP=0
  1. ;
  1. ;---> Check for required Variables.
  1. ;
  1. I '$G(BIYEAR) D ERRCD^BIUTL2(679,.X) D WRITERR(BILINE,X) Q
  1. I '$D(BICC) D ERRCD^BIUTL2(614,.X) D WRITERR(BILINE,X) Q
  1. I '$D(BIHCF) D ERRCD^BIUTL2(625,.X) D WRITERR(BILINE,X) Q
  1. I '$D(BICM) D ERRCD^BIUTL2(615,.X) D WRITERR(BILINE,X) Q
  1. I '$D(BIBEN) D ERRCD^BIUTL2(662,.X) D WRITERR(BILINE,X) Q
  1. S:($G(BIFH)="") BIFH="F"
  1. S:$G(BIUP)="" BIUP="u"
  1. ;
  1. ;---> Write Age Totals line.
  1. D AGETOT^BIREPF3(.BILINE,.BICC,.BIHCF,.BICM,.BIBEN,BIYEAR,.BIPOP,BIFH,BIUP)
  1. Q:BIPOP
  1. ;
  1. ;---> Write Approp for Age and Vaccine Group lines.
  1. ;D APPROP^BIREPF3(.BILINE)
  1. ;
  1. ;---> Write Statistics lines for each Vaccine Group (BIVGRP).
  1. ;F BIVGRP=1,2,6,3,4,7,9,11,15 D VGRP^BIREPF3(.BILINE,BIVGRP)
  1. ;---> If report is for H1N1, then display vaccine group 18; otherwise Flu (10).
  1. S BIVGRP=$S(BIFH="H":18,1:10)
  1. D VGRP^BIREPF3(.BILINE,BIVGRP,BIYEAR)
  1. ;
  1. ;---> For Flu Report (not H1N1) write Approp for Age and Vaccine Group lines.
  1. D:BIVGRP=10 APPROP^BIREPF3(.BILINE)
  1. ;
  1. ;---> Now write total patients considered who had refusals.
  1. N M,N S (M,N)=0 F S M=$O(BITMP("REFUSALS",M)) Q:'M S N=N+1
  1. S X=" Total Patients included who had Influenza Refusals on record"_$J(N,15)
  1. D WRITE^BIREPF3(.BILINE,X),WRITE^BIREPF3(.BILINE,$$SP^BIUTL5(79,"-"))
  1. ;
  1. S X=" *NOTE: The 18-49hr column tallies patients who are High Risk in that"
  1. D WRITE^BIREPF3(.BILINE,X)
  1. S X=" Age Group. They are not included in the normal 18-49y column."
  1. D WRITE^BIREPF3(.BILINE,X),WRITE^BIREPF3(.BILINE,$$SP^BIUTL5(79,"-"))
  1. ;
  1. S VALMCNT=BILINE
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. WRITERR(BILINE,X) ;EP
  1. ;---> Write error line to report.
  1. ;---> Parameters:
  1. ; 1 - BILINE (ret) Last line# written.
  1. ; 2 - BIVAL (req) Error text.
  1. ;
  1. S:'$D(X) X="No error text."
  1. S:'$D(BILINE) BILINE=1
  1. D WRITE^BIREPF3(.BILINE,X) S VALMCNT=BILINE
  1. Q