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

BIREPE3.m

Go to the documentation of this file.
  1. BIREPE3 ;IHS/CMI/MWR - REPORT, VAC ELIGIBILITY; MAY 10, 2010
  1. ;;8.5;IMMUNIZATION;**3**;SEP 10,2012
  1. ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
  1. ;; VIEW OR PRINT VACCINE ELIGIBILITY REPORT.
  1. ;; PATCH 3: Return Eligibility values from BI TABLE ELIGIBILITY File. ELIGC+5
  1. ;
  1. ;
  1. ;----------
  1. GETIMMS(BIBEGDT,BIENDDT,BICC,BIHCF,BICM,BIBEN,BIHIST,BIVT,BIU19) ;EP
  1. ;---> Get Immunizations from V Files.
  1. ;---> Parameters:
  1. ; 1 - BIBEGDT (req) Begin Visit Date.
  1. ; 2 - BIENDDT (req) End Visit Date.
  1. ; 3 - BICC (req) Current Community array.
  1. ; 4 - BIHCF (req) Health Care Facility array.
  1. ; 5 - BICM (req) Case Manager array.
  1. ; 6 - BIBEN (req) Beneficiary Type array.
  1. ; 7 - BIHIST (req) Include Historical (1=yes,0=no).
  1. ; 8 - BIVT (req) Visit Type array.
  1. ; 9 - BIU19 (req) Include Adults parameter (1=yes,0=no).
  1. ;
  1. ;---> Set begin and end dates for search through V Immunization File.
  1. ;
  1. Q:'$G(BIBEGDT) Q:'$G(BIENDDT)
  1. S ^TMP("BIDUL",$J,"TOTAL")=0
  1. N N S N=BIBEGDT-.9999
  1. F S N=$O(^AUPNVIMM("ADT",N)) Q:(N>(BIENDDT+.9999)!('N)) D
  1. .N M S M=0
  1. .F S M=$O(^AUPNVIMM("ADT",N,M)) Q:'M D
  1. ..N P S P=0
  1. ..F S P=$O(^AUPNVIMM("ADT",N,M,P)) Q:'P D
  1. ...D CHKSET(N,M,P,.BICC,.BIHCF,.BICM,.BIBEN,BIHIST,.BIVT,BIU19)
  1. Q
  1. ;
  1. ;
  1. ;----------
  1. CHKSET(BIDATE,BIVIEN,BIIIEN,BICC,BIHCF,BICM,BIBEN,BIHIST,BIVT,BIU19) ;EP
  1. ;---> Check if this visit fits criteria; if so, set it
  1. ;---> in ^TMP("BIREPE1".
  1. ;---> Parameters:
  1. ; 1 - BIDATE (req) Date of Visit.
  1. ; 2 - BIVIEN (req) VISIT IEN.
  1. ; 3 - BIIIEN (req) V IMMUNIZAITON IEN.
  1. ; 4 - BICC (req) Current Community array.
  1. ; 5 - BIHCF (req) Health Care Facility array.
  1. ; 6 - BICM (req) Case Manager array.
  1. ; 7 - BIBEN (req) Beneficiary Type array.
  1. ; 8 - BIHIST (req) Include Historical (1=yes,0=no).
  1. ; 9 - BIVT (req) Visit Type array.
  1. ; 10 - BIU19 (req) Include Adults parameter (1=yes,0=no).
  1. ;
  1. Q:'$G(BIDATE)
  1. Q:'$G(BIVIEN)
  1. Q:'$G(BIIIEN)
  1. Q:'$D(^AUPNVSIT(BIVIEN,0))
  1. Q:'$D(^AUPNVIMM(BIIIEN,0))
  1. Q:'$D(BICC)
  1. Q:'$D(BIHCF)
  1. Q:'$D(BICM)
  1. Q:'$D(BIBEN)
  1. Q:'$D(BIVT)
  1. Q:'$D(BIU19)
  1. ;
  1. N BIVIMM,BIIMM,BIVNAME,BIDFN,BILOT,BIELIG
  1. S BIVIMM=^AUPNVIMM(BIIIEN,0)
  1. S BIIMM=$P(BIVIMM,U),BIVNAME=$$VNAME^BIUTL2(BIIMM)
  1. S BIDFN=$P(BIVIMM,U,2)
  1. S BILOT=$P(BIVIMM,U,5)
  1. S BIELIG=$P(BIVIMM,U,14)
  1. ;
  1. I BILOT S BILOT=$P($G(^AUTTIML(BILOT,0)),U)
  1. S:BILOT="" BILOT="Not Entered"
  1. ;
  1. ;---> Quit if this Vaccine should not be included in this report.
  1. ;---> As of v8.4, include all vaccines given during the selected time.
  1. ;Q:'$P($G(^AUTTIMM(BIIMM,0)),U,17) ;vvv8.4
  1. ;
  1. ;---> Quit if Current Community doesn't match.
  1. Q:$$CURCOM^BIEXPRT2(BIDFN,.BICC)
  1. ;
  1. ;---> Quit if Health Care Facility doesn't match.
  1. N BIVDATA S BIVDATA=^AUPNVSIT(BIVIEN,0)
  1. Q:$$HCF(BIVDATA,.BIHCF)
  1. ;
  1. ;---> Quit if Visit Type doesn't match.
  1. Q:$$VT(BIVDATA,.BIVT)
  1. ;
  1. ;---> Quit if not including Historical Visits and this Visit has
  1. ;---> a Category of "Historical".
  1. I '$G(BIHIST) Q:$$HIST(BIVDATA)
  1. ;
  1. ;---> Quit if Case Manager doesn't match.
  1. Q:$$CMGR^BIDUR(BIDFN,.BICM)
  1. ;
  1. ;---> Quit if Beneficiary Type doesn't match.
  1. Q:$$BENT^BIDUR1(BIDFN,.BIBEN)
  1. ;
  1. ;---> Quit if EXcluding adults and this patient was >19 on date of Visit.
  1. I 'BIU19 Q:($$AGE^BIUTL1(BIDFN,1,BIDATE)>18)
  1. ;
  1. ;S BIVNAM=$$VNAME^BIUTL2(BIIMM)
  1. ;S BIAGRP=$$AGEGRP(BIDFN,BIDATE)
  1. ;S BIVGRP=$$IMMVG^BIUTL2(BIIMM,4)
  1. ;
  1. ;N Z
  1. ;---> Now store in stats arrays.
  1. ;
  1. ;---> Add for this Vaccine, Lot, Age.
  1. ;S Z=$G(BITMP("STATS",BIVGRP,BIVNAM,BILOT,BIAGRP))
  1. ;S BITMP("STATS",BIVGRP,BIVNAM,BILOT,BIAGRP)=Z+1
  1. ;
  1. ;---> Add for this Vaccine, Lot, Total.
  1. ;S Z=$G(BITMP("STATS",BIVGRP,BIVNAM,BILOT,"TOTAL"))
  1. ;S BITMP("STATS",BIVGRP,BIVNAM,BILOT,"TOTAL")=Z+1
  1. ;
  1. N BINAME S BINAME=$$NAME^BIUTL1(BIDFN)
  1. N BIDOB S BIDOB=$$DOBF^BIUTL1(BIDFN,,1,1,,1)
  1. N BIELIGC S BIELIGC=$$ELIGC^BIELIG(BIELIG,6)
  1. N BIVAL S BIVAL=$$SLDT2^BIUTL5(BIDATE,1)_U_$E(BINAME,1,20)_U_BIDOB_U_BIELIGC_U_BIVNAME_U_BILOT
  1. S ^TMP("BIDUL",$J,BIDATE,BINAME,BIIIEN)=BIVAL
  1. S ^TMP("BIDUL",$J,"TOTAL")=^TMP("BIDUL",$J,"TOTAL")+1
  1. ;
  1. Q
  1. ;
  1. ;
  1. ;
  1. ;----------
  1. AGEGRP(BIDFN,BIDATE) ;EP
  1. ;---> Return Patient's Age Group.
  1. ;---> Parameters:
  1. ; 1 - BIDFN (req) IEN in PATIENT File.
  1. ; 2 - BIDATE (req) Date of Visit.
  1. ;
  1. N X S X=$$AGE^BIUTL1(BIDFN,1,BIDATE)
  1. Q:X<1 1
  1. Q:X=1 2
  1. Q:X=2 3
  1. Q:X<6 4
  1. Q:X=6 5
  1. Q:X<11 6
  1. Q:X<13 7
  1. Q:X<19 8
  1. Q:X<25 9
  1. Q:X<45 10
  1. Q:X<65 11
  1. Q 12
  1. ;
  1. ;
  1. ;----------
  1. HCF(BIVDATA,BIHCF) ;EP
  1. ;---> Return Health Care Facility indicator.
  1. ;---> Return 1 if not selecting all Health Care Facilities (Locations)
  1. ;---> and if the Health Care Facility of this visit is not one of the
  1. ;---> ones selected.
  1. ;---> Parameters:
  1. ; 1 - BIVDATA (req) Data in ^AUPNVSIT(BIVIEN,0).
  1. ; 2 - BIHCF (req) Health Care Facility array.
  1. ;
  1. Q:$D(BIHCF("ALL")) 0
  1. Q:'$G(BIVDATA) 1
  1. N BILOC S BILOC=$P(BIVDATA,U,6)
  1. Q:'BILOC 1
  1. Q:'$D(BIHCF(BILOC)) 1
  1. Q 0
  1. ;
  1. ;
  1. ;----------
  1. VT(BIVDATA,BIVT) ;EP
  1. ;---> Return Visit Type indicator.
  1. ;---> Return 1 if not selecting all Visit Types and if this Visit Type
  1. ;---> is not one of the ones selected.
  1. ;---> Parameters:
  1. ; 1 - BIVDATA (req) Data in ^AUPNVSIT(BIVIEN,0).
  1. ; 2 - BIVT (req) Health Care Facility array.
  1. ;
  1. Q:$D(BIVT("ALL")) 0
  1. Q:'$G(BIVDATA) 1
  1. N BIVTYPE S BIVTYPE=$P(BIVDATA,U,3)
  1. Q:BIVTYPE="" 1
  1. Q:'$D(BIVT(BIVTYPE)) 1
  1. Q 0
  1. ;
  1. ;
  1. ;----------
  1. HIST(BIVDATA) ;EP
  1. ;---> Return Historical Visit indicator.
  1. ;---> Return 1 if this Visit has a Category of "Historical".
  1. ;---> Parameters:
  1. ; 1 - BIVDATA (req) Data in ^AUPNVSIT(BIVIEN,0).
  1. ;
  1. Q:'$G(BIVDATA) 1
  1. Q:$P(BIVDATA,U,7)="E" 1
  1. Q 0
  1. ;
  1. ;
  1. ;----------
  1. ELIGC(IEN,FORM) ;EP
  1. ;---> Return Eligibility Code or text.
  1. ;
  1. ;********** PATCH 3, v8.5, SEP 10,2012, IHS/CMI/MWR
  1. ;---> Return Eligibility values from BI TABLE ELIGIBILITY File.
  1. ;---> Parameters:
  1. ; 1 - IEN (req) IEN of Elig Code.
  1. ; 2 - FORM (opt) FORM of Code to return:
  1. ; 1=Actual Code (also default)
  1. ; 2=Label Text of Code
  1. ; 3=Active/Inactive Status (1
  1. ; 4=Local Text
  1. ; 5=Local Report Abbreviation
  1. ;
  1. Q:'$G(IEN) ""
  1. Q:'$D(^BIELIG(IEN,0)) "NO GLOBAL"
  1. N Y S Y=^BIELIG(IEN,0)
  1. ;
  1. Q:$G(FORM)=2 $P(Y,U,2)
  1. Q:$G(FORM)=3 $P(Y,U,3)
  1. Q:$G(FORM)=4 $P(Y,U,4)
  1. Q:$G(FORM)=5 $P(Y,U,5)
  1. Q:$G(FORM)=6 $S($P(Y,U,5)]"":$P(Y,U,5),1:$P(Y,U))
  1. Q $P(Y,U)
  1. ;**********
  1. ;
  1. Q:(X=0) "Unknown"
  1. Q:(X=1) "NotElig"
  1. Q:(X=2) "Medicaid"
  1. Q:(X=3) "Uninsured"
  1. Q:(X=4) "AmIn/AKNa"
  1. Q:(X=5) "Under/Fed"
  1. Q:(X=6) "State"
  1. Q:(X=7) "Local"
  1. Q "Unknown"