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

PSBPXLP.m

Go to the documentation of this file.
  1. PSBPXLP ;BIR/RMS - BCMA2PCE FOR IMMUNIZATIONS, TASKED ; 6/23/09 4:16pm
  1. ;;3.0;BAR CODE MED ADMIN;**47,76,142**;Mar 2004;Build 12
  1. ;Per VHA Directive 2004-038 (or future revisions regarding same), this routine should not be modified.
  1. ;
  1. ; Reference/IA
  1. ; File 50.7/2180
  1. ; File 9999999.14/1990
  1. ; ^AUPNVIMM("AA"/2313
  1. ;
  1. ;Class III to Class I Conversion Project
  1. ;Contributions of George Holcomb (West Palm Beach) and
  1. ;Geri Wittenberg (Hines, now at North Chicago) are acknowledged.
  1. ;--------------------------------------------------------------
  1. ;
  1. TASK ;
  1. Q ;p142 bcma2pce sunset
  1. I $D(ZTQUEUED) G TASK2
  1. N %DT,DTOUT,X,X1,X2,Y,PSBDTB,PSBUDT
  1. S X1=DT,X2=-1 D C^%DTC S PSBDTB=X\1
  1. W !,"Immunizations Documentation by BCMA",!
  1. S %DT="AEP",%DT("A")="Select START DATE: "
  1. S %DT("B")=$$FMTE^XLFDT(X),%DT(0)=-PSBDTB
  1. D ^%DT
  1. Q:Y'>0
  1. S PSBUDT=$$FMADD^XLFDT(Y,1)\1
  1. D TASK2
  1. Q
  1. ;
  1. TASK2 N PAT,REC,STARTDT,X,X1,X2
  1. N PSB507,PSBDFN,PSBIMM,PSBDX,PSBDT,PSBDATE,PSBWHO,PSBLOC
  1. S X1=$G(PSBUDT,DT),X2=-1 D C^%DTC S STARTDT=X-.000001
  1. S PAT=0 F S PAT=$O(^PSB(53.79,"AADT",PAT)) Q:'PAT D
  1. .S PSBDATE=STARTDT F S PSBDATE=$O(^PSB(53.79,"AADT",PAT,PSBDATE)) Q:'PSBDATE!(PSBDATE'<DT) D
  1. ..S REC=0 F S REC=$O(^PSB(53.79,"AADT",PAT,PSBDATE,REC)) Q:'REC D
  1. ...Q:$P($G(^PSB(53.79,REC,0)),"^",9)'="G"
  1. ...S PSB507=$P(^PSB(53.79,REC,0),"^",8) Q:'+PSB507
  1. ...S PSBIMM=+$G(^PS(50.7,PSB507,"IMM")) Q:'+PSBIMM
  1. ...S PSBDFN=$P(^PSB(53.79,REC,0),"^")
  1. ...S PSBDT=$P(^PSB(53.79,REC,0),"^",6)\1
  1. ...S PSBWHO=$P(^PSB(53.79,REC,0),"^",7)
  1. ...S PSBLOC=$P(^PSB(53.79,REC,0),"^",2)
  1. ...W:$E(IOST)="C" !,$E($$GET1^DIQ(2,PSBDFN,.01),1,20),?25,$E($$GET1^DIQ(9999999.14,PSBIMM,.01),1,12)," (",$$FMTE^XLFDT(PSBDT,2),")",?50,$$GET1^DIQ(200,PSBWHO,.01) ; FOR TROUBLESHOOTING ASSISTANCE
  1. ...I $D(^AUPNVIMM("AA",PSBDFN,PSBIMM,9999999-PSBDT)) D Q ;->
  1. ....I $E(IOST)="C" W !,"Result: Immunization already on file."
  1. ...D BCMA2PCE^PSBPXFL(PSBDFN,PSBIMM,"",PSBDT,PSBWHO,PSBLOC)
  1. Q