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

LRCAPBV1.m

Go to the documentation of this file.
  1. LRCAPBV1 ;VA/DALOI/FHS - PROCESS VBEC PCE WORKLOAD API ; 22-Oct-2013 09:22 ; MKK
  1. ;;5.2;LAB SERVICE;**325,1031,401,1033**;NOV 1, 1997
  1. ;
  1. ;Reference to $$FIND1^DIC supported by IA #2051
  1. ;Reference to FILE^DID supported by IA #2052
  1. ;Reference to FILE^DIE supported by IA #2053
  1. ;Reference to UPDATE^DIE supported by IA #2053
  1. ;Reference to GETS^DIQ supported by IA #2056
  1. ;Reference to $$GET^XUA4A72 supported by IA #1625
  1. Q
  1. EN(LREDT,LRDUZ,LRTSTP,LRDSSLOC,LRDSSID,LRNINS,DFN,LRPRO,LRCNT) ;Call LRCAPPH1 to send PCE workload
  1. ;LREDT = Encounter Date
  1. ;LRDUZ = User
  1. ;LRTSTP = ^LAB(60 IEN
  1. ;LRDSSLOC = DSS LOCATION
  1. ;LRDSSID = DSS ID
  1. ;LRNINIS = Instution
  1. ;DFN = Patient
  1. ;LRPRO = Provider
  1. ;LRCNT = set negative if the test is cancelled.
  1. I LRCNT<1 S LRNP=1
  1. K ^TMP("LRPXAPI",$J),LROK,LRXTST
  1. K LRICPT,CPT,LRCEX,LRREL,LRINA,LRNOP,EDATE
  1. S (LROA,LRCEX)=0,ERR=699,EDATE=$P(LREDT,".")
  1. S LRESCPT=0,LRTST=LRTSTP
  1. I $$GET^XUA4A72(LRPRO)<1 D
  1. . S LRPRO=LRDPRO
  1. EN6 D EN6^LRCAPPH1
  1. I $G(LRNOP) D Q
  1. . S ERR="PCE+"_LRNOP D EUPDATE^LRCAPBV
  1. S ERR=0
  1. I $D(^LRO(69,LRCDT,1,LRSN,0)) S ^("PCE")=""
  1. I $D(^TMP("LRPXAPI",$J,"PROCEDURE")) D SEND^LRCAPPH1
  1. K LRFDA(3)
  1. I $G(LROK)>0 D Q
  1. . S LRFDA(3,6002.01,LRIEN_",",99)=LRVSITN
  1. . D FILE
  1. PCEERR ;PCE error logging
  1. Q:'$G(LROK)
  1. S LRFDA(3,6002.01,LRIEN_",",21)="PCE "_LROK_" Error"
  1. S LRFDA(3,6002.01,LRIEN_",",5)="E"
  1. FILE ;
  1. D FILE^DIE("S","LRFDA(3)","ERR")
  1. Q
  1. NLT(LRP,LRSUF) ;Lookup or create new NLT code
  1. N ANS,FDA,LRFDA,FLD,ERR,LRPN,LRLRT,LRLRTN
  1. I '$D(^LAM(+$G(LRP),0))#2 S ERR="No NLT Code" Q 0
  1. I '$G(LRSUF) Q +$G(LRP)
  1. D GETS^DIQ(64,LRP_",",".01:16","IEN","ANS","ERR")
  1. D GETS^DIQ(64.2,LRSUF_",",".01;1","IEN","ANS","ERR")
  1. S LRLRT=$G(ANS(64,LRP_",",.01,"I"))_"~"_$G(ANS(64.2,LRSUF_",",.01,"I"))
  1. S LRLRTN=$P($G(ANS(64,LRP_",",1,"I")),".")_$G(ANS(64.2,LRSUF_",",1,"I"))
  1. NLT1 ;Lookup
  1. S LRPN=$$FIND1^DIC(64,"","O",LRLRTN_" ","C","","ERR")
  1. I LRPN>0 Q LRPN
  1. S FLD="" F S FLD=$O(ANS(64,LRP_",",FLD)) Q:FLD="" D
  1. . S LRFDA(1,64,"+1,",FLD)=$G(ANS(64,LRP_",",FLD,"I"))
  1. S LRFDA(1,64,"+1,",.01)=LRLRT
  1. S LRFDA(1,64,"+1,",1)=LRLRTN
  1. D UPDATE^DIE("S","LRFDA(1)","FDA","ERR")
  1. S LRPN=FDA(1)
  1. Q LRPN
  1. Q