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

BPCSC.m

Go to the documentation of this file.
  1. BPCSC ; IHS/OIT/MJL - SPECIAL CROSS REFERENCE ROUTINE ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. ;
  1. DX ;FHL 12/31/99
  1. S BGUCRFS1="AIHS"
  1. I BGUBEGIN?.N1".".N!(BGUBEGIN?1"V".N.1".".N)!(BGUBEGIN="") D Q
  1. .I BGUBEGIN'="",$D(^ICD9("BA",BGUBEGIN)) D Q:BGUIEN'=""
  1. ..S BGUIEN=$O(^ICD9("BA",BGUBEGIN,""))
  1. ..I BGUIEN'="" S (BGUBEGIN,BGUEND,BGUCRFS,BGUCRFS1)=""
  1. .S BGUCRFS1="BA"
  1. I BGUBEGIN?1N.N D
  1. .S BGUCRFS1="BA"
  1. .S BGUBEGIN=BGUBEGIN_"."
  1. .S BGUEND=BGUBEGIN_"~"
  1. Q
  1. INTERACT ;
  1. I '$D(BGUDRIVR) D Q
  1. .S BGUDRIVR="INTERACT^BPCSC",BGUCRFS="",BPCDIEN2=BGUBEGIN
  1. .S BPCDIEN1=BGUEND,BGUMAX=32000
  1. .S (BGUBEGIN,BGUEND)=""
  1. Q:BPCDIEN1=""!(BPCDIEN2="")
  1. I $D(^PSDRUG(BPCDIEN1,"ND")),$D(^PSDRUG(BPCDIEN2,"ND")) D INTACT1
  1. Q
  1. INTACT1 ;
  1. S BPCND=^PSDRUG(BPCDIEN1,"ND"),BPCNDF1=$P(BPCND,"^",1)_"A"_$P(BPCND,"^",3)
  1. S BPCND=^PSDRUG(BPCDIEN2,"ND"),BPCNDF2=$P(BPCND,"^",1)_"A"_$P(BPCND,"^",3)
  1. S BPCIEN=$O(^PS(56,"APD",BPCNDF1,BPCNDF2,0)) Q:BPCIEN=""
  1. S BGUSUB(1)=BPCIEN D FIELDS^BGULIST
  1. ;F BPCX=1:1:$L(BPCDIENS,"`") D
  1. .S BPCDRGI=$P(BPCDIENS,"`",BPCX)
  1. .I $D(^PSDRUG(BPCDRGI,"ND")) D
  1. ..S BPCND=^PSDRUG(BPCDRGI,"ND")
  1. ..S BPCNDF1=$P(BPCND,"^",1)_"A"_$P(BPCND,"^",3)
  1. ..S BPCIEN=$O(^PS(56,"APD",BPCNDF1,BPCNDF2,0)) Q:BPCIEN=""
  1. ..S BGUSUB(1)=BPCIEN D FIELDS^BGULIST
  1. Q
  1. MEDS ;
  1. I '$D(BGUDRIVR) D Q
  1. .S BGUDRIVR="MEDS^BPCSC",BGUCRFS="",BPCPIEN=BGUBEGIN
  1. .S BPCOPT=$P(BGUEND,"`",1),BPCSDATE=$P(BGUEND,"`",2)
  1. .S BPCEDATE=$P(BGUEND,"`",3),BPCLIM=BGUMAX,BGUMAX=32000
  1. .S (BGUBEGIN,BGUEND)=""
  1. Q:BPCPIEN=""
  1. S:BPCOPT=2 BPCLIM=9999999
  1. S BPCC=0,BPCX=0 F S BPCX=$O(^AUPNVSIT("AA",BPCPIEN,BPCX)) Q:BPCX=""!(BPCC=BPCLIM) D
  1. .S BPCVIEN="" F S BPCVIEN=$O(^AUPNVSIT("AA",BPCPIEN,BPCX,BPCVIEN)) Q:BPCVIEN=""!(BPCC=BPCLIM) D
  1. ..I BPCOPT=3,'$D(^AUPNVLAB("AD",BPCVIEN)) Q
  1. ..S BPCY=^AUPNVSIT(BPCVIEN,0),BPCVDT=$P(BPCY,U,1),BPCCKD=$P(BPCVDT,".",1)
  1. ..I BPCSDATE'="",BPCEDATE'="",((BPCCKD<BPCSDATE)!(BPCCKD>BPCEDATE)) Q
  1. ..S BPCVMIEN=0,BPCC=BPCC+1 F S BPCVMIEN=$O(^AUPNVMED("AD",BPCVIEN,BPCVMIEN)) Q:BPCVMIEN="" D
  1. ...S BPCSTAT=0
  1. ...I $D(^PSRX("APCC",BPCVMIEN)) D
  1. ....S BPCRXIEN=$O(^PSRX("APCC",BPCVMIEN,"")) Q:BPCRXIEN=""
  1. ....S BPCCK=$O(^PSRX("APCC",BPCVMIEN,BPCRXIEN,""))
  1. ....I BPCCK'="" S BPCSTAT=-1 Q
  1. ....S BPCSTAT=+$P(^PSRX(BPCRXIEN,0),"^",15)
  1. ...I BPCSTAT=0 S BGUSUB(1)=BPCVMIEN D FIELDS^BGULIST
  1. Q
  1. RAD ;
  1. I '$D(BGUDRIVR) D Q
  1. .S BGUDRIVR="RAD^BPCSC",BGUCRFS="",BPCPIEN=BGUBEGIN
  1. .S BPCOPT=$P(BGUEND,"`",1),BPCSDATE=$P(BGUEND,"`",2)
  1. .S BPCEDATE=$P(BGUEND,"`",3),BPCLIM=BGUMAX,BGUMAX=32000
  1. .S (BGUBEGIN,BGUEND)=""
  1. Q:BPCPIEN=""
  1. S:BPCOPT=2 BPCLIM=9999999
  1. S BPCC=0,BPCX=0 F S BPCX=$O(^AUPNVSIT("AA",BPCPIEN,BPCX)) Q:BPCX=""!(BPCC=BPCLIM) D
  1. .S BPCVIEN="" F S BPCVIEN=$O(^AUPNVSIT("AA",BPCPIEN,BPCX,BPCVIEN)) Q:BPCVIEN=""!(BPCC=BPCLIM) D
  1. ..I BPCOPT=3,'$D(^AUPNVLAB("AD",BPCVIEN)) Q
  1. ..S BPCY=^AUPNVSIT(BPCVIEN,0),BPCVDT=$P(BPCY,U,1),BPCCKD=$P(BPCVDT,".",1)
  1. ..I BPCSDATE'="",BPCEDATE'="",((BPCCKD<BPCSDATE)!(BPCCKD>BPCEDATE)) Q
  1. ..S BPCVMIEN=0,BPCC=BPCC+1 F S BPCVMIEN=$O(^AUPNVRAD("AD",BPCVIEN,BPCVMIEN)) Q:BPCVMIEN="" D
  1. ...S BPCSTAT=0
  1. ...I $D(^PSRX("APCC",BPCVMIEN)) D
  1. ....S BPCRXIEN=$O(^PSRX("APCC",BPCVMIEN,"")) Q:BPCRXIEN=""
  1. ....S BPCCK=$O(^PSRX("APCC",BPCVMIEN,BPCRXIEN,""))
  1. ....I BPCCK'="" S BPCSTAT=-1 Q
  1. ....S BPCSTAT=+$P(^PSRX(BPCRXIEN,0),"^",15)
  1. ...I BPCSTAT=0 S BGUSUB(1)=BPCVMIEN D FIELDS^BGULIST
  1. Q
  1. EDP ;
  1. I '$D(BGUDRIVR) D Q
  1. .S BGUDRIVR="MEDS^BPCSC",BGUCRFS="",BPCPIEN=BGUBEGIN
  1. .S BPCOPT=$P(BGUEND,"`",1),BPCSDATE=$P(BGUEND,"`",2)
  1. .S BPCEDATE=$P(BGUEND,"`",3),BPCLIM=BGUMAX,BGUMAX=32000
  1. .S (BGUBEGIN,BGUEND)=""
  1. Q:BPCPIEN=""
  1. S:BPCOPT=2 BPCLIM=9999999
  1. S BPCC=0,BPCX=0 F S BPCX=$O(^AUPNVSIT("AA",BPCPIEN,BPCX)) Q:BPCX=""!(BPCC=BPCLIM) D
  1. .S BPCVIEN="" F S BPCVIEN=$O(^AUPNVSIT("AA",BPCPIEN,BPCX,BPCVIEN)) Q:BPCVIEN=""!(BPCC=BPCLIM) D
  1. ..I BPCOPT=3,'$D(^AUPNVLAB("AD",BPCVIEN)) Q
  1. ..S BPCY=^AUPNVSIT(BPCVIEN,0),BPCVDT=$P(BPCY,U,1),BPCCKD=$P(BPCVDT,".",1)
  1. ..I BPCSDATE'="",BPCEDATE'="",((BPCCKD<BPCSDATE)!(BPCCKD>BPCEDATE)) Q
  1. ..S BPCVMIEN=0,BPCC=BPCC+1 F S BPCVMIEN=$O(^AUPNVMED("AD",BPCVIEN,BPCVMIEN)) Q:BPCVMIEN="" D
  1. ...S BPCSTAT=0
  1. ...I $D(^PSRX("APCC",BPCVMIEN)) D
  1. ....S BPCRXIEN=$O(^PSRX("APCC",BPCVMIEN,"")) Q:BPCRXIEN=""
  1. ....S BPCCK=$O(^PSRX("APCC",BPCVMIEN,BPCRXIEN,""))
  1. ....I BPCCK'="" S BPCSTAT=-1 Q
  1. ....S BPCSTAT=+$P(^PSRX(BPCRXIEN,0),"^",15)
  1. ...I BPCSTAT=0 S BGUSUB(1)=BPCVMIEN D FIELDS^BGULIST
  1. Q
  1. XXXX ;
  1. I '$D(BGUDRIVR) D Q
  1. .S BGUDRIVR="MEDS^BPCSC",BGUCRFS="",BPCPIEN=BGUBEGIN
  1. .S BPCOPT=$P(BGUEND,"`",1),BPCSDATE=$P(BGUEND,"`",2)
  1. .S BPCEDATE=$P(BGUEND,"`",3),BPCLIM=BGUMAX,BGUMAX=32000
  1. .S (BGUBEGIN,BGUEND)=""
  1. Q:BPCPIEN=""
  1. S:BPCOPT=2 BPCLIM=9999999
  1. S BPCC=0,BPCX=0 F S BPCX=$O(^AUPNVSIT("AA",BPCPIEN,BPCX)) Q:BPCX=""!(BPCC=BPCLIM) D
  1. .S BPCVIEN="" F S BPCVIEN=$O(^AUPNVSIT("AA",BPCPIEN,BPCX,BPCVIEN)) Q:BPCVIEN=""!(BPCC=BPCLIM) D
  1. ..I BPCOPT=3,'$D(^AUPNVLAB("AD",BPCVIEN)) Q
  1. ..S BPCY=^AUPNVSIT(BPCVIEN,0),BPCVDT=$P(BPCY,U,1),BPCCKD=$P(BPCVDT,".",1)
  1. ..I BPCSDATE'="",BPCEDATE'="",((BPCCKD<BPCSDATE)!(BPCCKD>BPCEDATE)) Q
  1. ..S BPCVMIEN=0,BPCC=BPCC+1 F S BPCVMIEN=$O(^AUPNVMED("AD",BPCVIEN,BPCVMIEN)) Q:BPCVMIEN="" D
  1. ...S BPCSTAT=0
  1. ...I $D(^PSRX("APCC",BPCVMIEN)) D
  1. ....S BPCRXIEN=$O(^PSRX("APCC",BPCVMIEN,"")) Q:BPCRXIEN=""
  1. ....S BPCCK=$O(^PSRX("APCC",BPCVMIEN,BPCRXIEN,""))
  1. ....I BPCCK'="" S BPCSTAT=-1 Q
  1. ....S BPCSTAT=+$P(^PSRX(BPCRXIEN,0),"^",15)
  1. ...I BPCSTAT=0 S BGUSUB(1)=BPCVMIEN D FIELDS^BGULIST
  1. Q