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

BPCSC2.m

Go to the documentation of this file.
  1. BPCSC2 ; IHS/OIT/MJL - SPECIAL X-REF ROUTINES - ; [ 12/06/2007 11:53 AM ]
  1. ;;1.5;BPC;**1,4**;OCT 04, 2005
  1. ;
  1. ; BPCGREF - Primary Global Reference
  1. ; BPCSBJGR - Subject Global Reference - Used if all of the entries are to be used under this node -- don't need to check a date
  1. ; BPCRVCRO - Reverse chronological date subscripted
  1. ;
  1. SETUP ;
  1. S BGUCRFS=""
  1. S BPCVWNO=$P(BGUEND,"`",2),BPCLBONL=$P(BGUEND,"`",3),BPCRVCRO=1
  1. S BPCVWOPT=$P(BGUEND,"`",4),BGUMAX=$S('BPCVWOPT:BPCVWNO,1:999999999)
  1. S (BGUBEGIN,BGUEND,BPCXLEVL)="",BPCC=0
  1. Q
  1. ;
  1. VISIT ;
  1. I BPCSBJGR="" S BPCC=BPCC+1,BGUSUB(1)=BPCVIEN,BGUV(BGUFILE,88888)=$$PRIMPROV^APCLV(BPCVIEN,"N") D FIELDS^BGULIST Q
  1. S BPCSIEN=0 F S BPCSIEN=$O(@BPCSBJGR@(BPCSIEN)) Q:'BPCSIEN S BPCC=BPCC+1,BGUSUB(1)=BPCSIEN,BGUV(BGUFILE,88888)=$$PRIMPROV^APCLV(BPCSIEN,"N") D FIELDS^BGULIST
  1. Q
  1. ;
  1. VSDTRNG ; Get visits for a patient for a date range
  1. S BPCGREF=$G(BPCGREF,"^AUPNVSIT(""AA"",BPCPIEN)")
  1. S BPCPIEN=$P(BGUBEGIN,"`"),BGUBEGIN=$P(BGUBEGIN,"`",2)
  1. D VSDTDR
  1. Q
  1. VSDTDR ;
  1. I '$D(BGUDRIVR) D Q
  1. .S BGUDRIVR="VSDTDR^BPCSC2",BPCSDATE=BGUBEGIN,BPCEDATE=$P(BGUEND,"`",1)
  1. .S BPCSDATE=$P(BGUEND,"`",1),BPCEDATE=$P(BGUEND,"`",2)
  1. .S BPCVWNO=$P(BGUEND,"`",3),BPCLBONL=$P(BGUEND,"`",4)
  1. .S BPCVWOPT=$P(BGUEND,"`",5),BGUMAX=$S('BPCVWOPT:BPCVWNO,1:999999)
  1. .D SETUP
  1. S BPCVWOPT="2",BPCSBJGR=$G(BPCSBJGR)
  1. D VSDTDR1,KILL
  1. Q
  1. VSDTDR1 ;
  1. S:'(+BPCVWNO) BPCVWNO=10 S:BPCSDATE="" BPCSDATE="1/1/1980"
  1. S:BPCEDATE="" BPCEDATE="T" S:BPCVWOPT="" BPCVWOPT="0"
  1. S:BPCLBONL="" BPCLBONL="1"
  1. D DT^DILF("",BPCSDATE,.BPCSDAT)
  1. I BPCSDAT=-1 S BPCSDATE="1/1/1980" D DT^DILF("",BPCSDATE,.BPCSDAT)
  1. D DT^DILF("",BPCEDATE,.BPCEDAT)
  1. I BPCEDAT=-1 S BPCEDATE="T" D DT^DILF("",BPCEDATE,.BPCEDAT)
  1. S BPCC=0,BPCX=0,BPCLIM=$S(BPCVWOPT="0":BPCVWNO,1:999999)
  1. I BPCRVCRO S BPCSDAT=9999999-BPCSDAT,BPCEDAT=9999999-BPCEDAT
  1. I BPCXLEVL'="" D @BPCXLEVL Q
  1. VSDTDR2 ;
  1. I BPCRVCRO D Q
  1. .S BPCX=$O(@BPCGREF@(BPCEDAT),-1) F S BPCX=$O(@BPCGREF@(BPCX)) Q:'BPCX Q:BPCX\1>BPCSDAT D Q:BPCC=BPCLIM
  1. ..S BPCVIEN=0 F S BPCVIEN=$O(@BPCGREF@(BPCX,BPCVIEN)) Q:'BPCVIEN Q:BPCC=BPCLIM D VISIT
  1. S BPCX=$O(@BPCGREF@(BPCSDAT),-1) F S BPCX=$O(@BPCGREF@(BPCX)) Q:'BPCX Q:BPCX\1>BPCEDAT D Q:BPCC=BPCLIM
  1. .S BPCVIEN=0 F S BPCVIEN=$O(@BPCGREF@(BPCX,BPCVIEN)) Q:'BPCVIEN Q:BPCC=BPCLIM D VISIT
  1. Q
  1. ;
  1. VED ; Get V PATIENT ED
  1. ;
  1. S BPCGREF="^AUPNVPED(""AA"",BPCPIEN)"
  1. D VSDTRNG
  1. Q
  1. ;
  1. VHF ; Get V HEALTH FACTORS
  1. S BPCGREF="^AUPNVHF(""AA"",BPCPIEN)",BPCXLEVL="VHF1"
  1. D VSDTRNG
  1. Q
  1. ;
  1. VHF1 ; V HEALTH FACTORS XTRA level
  1. S BPCGREF="^AUPNVHF(""AA"",BPCPIEN,BPCXL)"
  1. S BPCXL=0 F S BPCXL=$O(@BPCGREF) Q:'BPCXL D VSDTDR2
  1. Q
  1. ;
  1. VEXAM ; Get V EXAMS
  1. S BPCGREF="^AUPNVXAM(""AA"",BPCPIEN)",BPCXLEVL="VEXAM1"
  1. D VSDTRNG
  1. Q
  1. ;
  1. VEXAM1 ; V EXAMS XTRA level
  1. S BPCGREF="^AUPNVXAM(""AA"",BPCPIEN,BPCXL)"
  1. S BPCXL=0 F S BPCXL=$O(@BPCGREF) Q:'BPCXL D VSDTDR2
  1. Q
  1. ;
  1. ACTVCN ; Get Active Chart number -- only necessary for BPCDIVALL - Set BPCDUZ2=Loc of first active Chart.
  1. ;
  1. S BPCDZ2=0,BPCDUZ2=0 F S BPCDZ2=$O(^AUPNPAT(BGUSVSB1(1),41,BPCDZ2)) Q:'BPCDZ2 D Q:'BPCDZ2
  1. .S BPCX=^AUPNPAT(BGUSVSB1(1),41,BPCDZ2,0) I $P(BPCX,U,5)="" D
  1. ..I $G(BGUSVSUB(1))="D",BGUBEGIN'=$P(BPCX,U,2) Q
  1. ..S BPCDUZ2=BPCDZ2,BPCDZ2=0 Q
  1. S BGUV(BGUFILE,414141)=BPCDUZ2 K BPCDZ2,BPCX
  1. Q
  1. ;
  1. ACTVCNG ;
  1. S BPCDZ2=0,BPCDUZ2=0 F S BPCDZ2=$O(^AUPNPAT(BGUSUB(1),41,BPCDZ2)) Q:'BPCDZ2 D Q:'BPCDZ2
  1. .S BPCX=^AUPNPAT(BGUSUB(1),41,BPCDZ2,0) I $P(BPCX,U,5)="" S BPCDUZ2=BPCDZ2,BPCDZ2=0 Q
  1. S BGUV(BGUFILE,414141)=BPCDUZ2 K BPCDZ2,BPCX
  1. Q
  1. ;
  1. CSV(BPCCD,BPCDATE) ;
  1. S BPCCSVR=$S(BGUGBL="^ICPT(":"CPT^ICPTCOD",1:"") Q:BPCCSVR=""
  1. S @("BPCCSV="_"(""$$""_BPCCSVR_""(""_BPCCD_"",""_BPCDATE_"")"")")
  1. S @("BPCCSV="_BPCCSV),BPCCSV=$P(BPCCSV,U,3)
  1. S BGUV(BGUFILE,123123)=BPCCSV
  1. Q
  1. ;
  1. KILL ;
  1. K BGUDRIVR,BPCC,BPCEDATE,BPCGREF,BPCGROUP,BPCLBONL,BPCLIM,BPCPIEN,BPCSBJGR,BPCSDATE,BPCSIEN,BPCRVCRO,BPCVIEN,BPCVWNO,BPCVWOPT,BPCX,BPCXL,BPCXLEVL
  1. Q