| [613] | 1 | PRCVSUB ;ISC-SF/GJW ; 6/6/05 11:38am
 | 
|---|
 | 2 |  ;;5.1;IFCAP;**81**;Oct 20, 2000
 | 
|---|
 | 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | ADDSUB(PRCVSTAT,PRCVENT,PRCVTYP,PRCVMID) ;
 | 
|---|
 | 6 |  N FDA,RESULT,MROOT,VAL,ERRNO
 | 
|---|
 | 7 |  D ISEND(PRCVSTAT,PRCVENT)
 | 
|---|
 | 8 |  S FDA(414.03,"?+1,",.01)=+$G(PRCVSTAT)
 | 
|---|
 | 9 |  S FDA(414.03,"?+1,",.02)=$G(PRCVENT)
 | 
|---|
 | 10 |  S FDA(414.03,"?+1,",.03)=$G(PRCVTYP)
 | 
|---|
 | 11 |  S FDA(414.03,"?+1,",1)=$$NOW^XLFDT
 | 
|---|
 | 12 |  S FDA(414.03,"?+1,",2)=1
 | 
|---|
 | 13 |  S FDA(414.03,"?+1,",3)=$G(PRCVMID)
 | 
|---|
 | 14 |  ;need "E" because the type field is a set of codes
 | 
|---|
 | 15 |  D UPDATE^DIE("EK","FDA","RESULT","MROOT")
 | 
|---|
 | 16 |  I $D(MROOT("DIERR")) D  ;error(s) occured
 | 
|---|
 | 17 |  .S VAL="E",ERRNO=""
 | 
|---|
 | 18 |  .F  S ERRNO=$O(MROOT("DIERR","E",ERRNO)) Q:ERRNO=""  D
 | 
|---|
 | 19 |  ..S VAL=VAL_"^"_ERRNO
 | 
|---|
 | 20 |  E  D
 | 
|---|
 | 21 |  .S VAL=$G(RESULT(1,0))_"^"_$G(RESULT(1))
 | 
|---|
 | 22 |  Q VAL
 | 
|---|
 | 23 |  ;
 | 
|---|
 | 24 | FINDSUB(PRCVSTAT,PRCVENT,PRCVTYP) ;
 | 
|---|
 | 25 |  N OUT,MROOT,VALUES,VAL,ERRNO
 | 
|---|
 | 26 |  S VALUES(1)=+$G(PRCVSTAT)
 | 
|---|
 | 27 |  S VALUES(2)=$G(PRCVENT)
 | 
|---|
 | 28 |  S VALUES(3)=$G(PRCVTYP)
 | 
|---|
 | 29 |  S VAL=$$FIND1^DIC(414.03,,"K",.VALUES,,,"MROOT")
 | 
|---|
 | 30 |  I $D(MROOT("DIERR")) D  ;error(s) occured
 | 
|---|
 | 31 |  .S VAL=-1,ERRNO=""
 | 
|---|
 | 32 |  .F  S ERRNO=$O(MROOT("DIERR","E",ERRNO)) Q:ERRNO=""  D
 | 
|---|
 | 33 |  ..S VAL=VAL_"^"_ERRNO
 | 
|---|
 | 34 |  Q VAL
 | 
|---|
 | 35 |  ;
 | 
|---|
 | 36 | DELSUB(PRCVSTAT,PRCVENT,PRCVTYP) ;
 | 
|---|
 | 37 |  N VAL,IENS,MYFDA,MROOT,ERRNO
 | 
|---|
 | 38 |  S VAL=$$FINDSUB(PRCVSTAT,PRCVENT,PRCVTYP)
 | 
|---|
 | 39 |  Q:+VAL'>0 VAL
 | 
|---|
 | 40 |  S IENS=+VAL_","
 | 
|---|
 | 41 |  S MYFDA(414.03,IENS,.01)="@"
 | 
|---|
 | 42 |  D FILE^DIE(,"MYFDA","MROOT")
 | 
|---|
 | 43 |  Q:'$D(MROOT("DIERR")) "@^"_+VAL
 | 
|---|
 | 44 |  ;an error occured in FILE^DIE
 | 
|---|
 | 45 |  S VAL="E",ERRNO=""
 | 
|---|
 | 46 |  F  S ERRNO=$O(MROOT("DIERR","E",ERRNO)) Q:ERRNO=""  D
 | 
|---|
 | 47 |  .S VAL=VAL_"^"_ERRNO
 | 
|---|
 | 48 |  Q VAL
 | 
|---|
 | 49 |  ;
 | 
|---|
 | 50 |  ;immediate send
 | 
|---|
 | 51 | ISEND(PRCVSTAT,PRCVFCP) ;
 | 
|---|
 | 52 |  N ROOT,I
 | 
|---|
 | 53 |  S ROOT=$NA(^PRC(420,PRCVSTAT,1,PRCVFCP,4,"B"))
 | 
|---|
 | 54 |  S I=""
 | 
|---|
 | 55 |  F  S I=$O(@ROOT@(I)) Q:I=""  D
 | 
|---|
 | 56 |  .I $$FY4^PRCVMON(I)'<$$GETFY^PRCVMON D
 | 
|---|
 | 57 |  ..D PUSH1^PRCVMON(PRCVSTAT,I,PRCVFCP)
 | 
|---|
 | 58 |  Q
 | 
|---|