| 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
 | 
|---|