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

DVBCPNCS.m

Go to the documentation of this file.
  1. DVBCPNCS ;ALB/BG;PNCS DBQ UTILITY RPC ; 5/7/21 8:48am
  1. ;;2.7;AMIE;**226**;Apr 10, 1995;Build 18
  1. ;Per VHA Directive 6402 this routine should not be modified
  1. ;
  1. Q
  1. ;
  1. ACTIVE(DVBRTN) ;
  1. N DVBIEN,DVBCTR,DVBNM,DVBPROD,DVBVER,DVBPNFL
  1. S DVBCTR=0
  1. S DVBIEN=0 F S DVBIEN=$O(^DVB(396.18,DVBIEN)) Q:'DVBIEN D
  1. .Q:$P($G(^DVB(396.18,DVBIEN,4)),U,1)=9
  1. .Q:$P($G(^DVB(396.18,DVBIEN,2)),U,2)'=""
  1. .Q:$P($G(^DVB(396.18,DVBIEN,2)),U,1)=""
  1. .S DVBCTR=DVBCTR+1
  1. .S DVBNM=$P($P($G(^DVB(396.18,DVBIEN,0)),U,1),"~",1)
  1. .S DVBPROD=$$FMTE^XLFDT($P($G(^DVB(396.18,DVBIEN,2)),U))
  1. .S DVBVER=$P($G(^DVB(396.18,DVBIEN,0)),"~",2)
  1. .S DVBPNFL=$P($G(^DVB(396.18,DVBIEN,3,1,0))," ",3)
  1. .S DVBRTN(DVBCTR)=$G(DVBNM)_"^"_$G(DVBPROD)_"^"_$G(DVBVER)_"^"_$G(DVBPNFL)
  1. Q
  1. ;
  1. DBQCHECK(DVBRTN,DVBIEN) ;
  1. N DVBDBQ,DVBCTR,DVBCT,DVBSTAT
  1. S DVBCTR=0
  1. I $G(DVBIEN)="" S DVBRTN="FALSE" Q
  1. S DVBCT=0 F S DVBCT=$O(^DVB(396.17,$G(DVBIEN),1,DVBCT)) Q:'DVBCT D
  1. .S DVBCTR=DVBCTR+1
  1. .S DVBDBQ=$P(^DVB(396.17,$G(DVBIEN),1,DVBCT,0),U)
  1. .S DVBSTAT=$S($P($G(^DVB(396.18,DVBDBQ,2)),U,2)="":"TRUE",1:"FALSE")
  1. .I DVBSTAT="FALSE" S DIE="^DVB(396.17,",DR="11///O",DA=DVBIEN D ^DIE
  1. .S DVBRTN(DVBCTR)=$G(DVBSTAT)_"^"_$P(^DVB(396.17,$G(DVBIEN),1,DVBCT,0),U,2)
  1. Q
  1. ;
  1. DBQSTAT(DVBRTN,DVBIEN,DVBSTAT) ;
  1. I $G(DVBIEN)="" S DVBRTN="-1" Q
  1. I $G(DVBSTAT)="" S DVBRTN="-1" Q
  1. S $P(^DVB(396.17,DVBIEN,5),U,2)=DVBSTAT
  1. S DVBRTN="1"
  1. Q
  1. ;
  1. DBQCK(DVBRTN,DVBDBQ,DVBDATE) ;
  1. N DVBDDIFF,DVBDACT,DVBFLAG,DVBDT,DVBIEN,DVBYR,DVBACDT,DVBDIFF,DVBCNT,DVBNM
  1. I '$D(DVBDBQ) Q
  1. I '$D(DVBDATE) Q
  1. S DVBFLAG=0,DVBCNT=0
  1. S DVBDATE=$TR($E($P(DVBDATE,"T"),1,100),"-") S DVBYR=$E(DVBDATE,1,4)-1700
  1. S DVBDATE=DVBYR_$E(DVBDATE,5,100)
  1. S DVBDBQ=$TR(DVBDBQ,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
  1. S DVBIEN=0 F S DVBIEN=$O(^DVB(396.18,DVBIEN)) Q:'DVBIEN D
  1. .N DVBDIFF,DVBDDIFF,DVBDACT,DVBDACT
  1. .S DVBNM=$P($P($G(^DVB(396.18,DVBIEN,0)),U,1),"~",1)
  1. .I DVBNM'[DVBDBQ Q
  1. .S DVBDACT=$P($G(^DVB(396.18,DVBIEN,2)),U,2)
  1. .S DVBACDT=$P($G(^DVB(396.18,DVBIEN,2)),U)
  1. .S DVBDIFF=$$FMDIFF^XLFDT(DVBDATE,DVBACDT)
  1. .I DVBDACT'="" S DVBDDIFF=$$FMDIFF^XLFDT(DVBDATE,DVBDACT)
  1. .I DVBDACT="",DVBDIFF'["-" S DVBRTN="TRUE" Q
  1. .I DVBDIFF["-" S DVBRTN="FALSE" Q
  1. .I DVBDACT'="" S DVBRTN="FALSE" Q
  1. Q