| 1 | VAQEXT03 ;ALB/JFP - PDX, PROCESS EXTERNAL (MANUAL);01MAR93
 | 
|---|
| 2 |  ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
 | 
|---|
| 3 | EP ; -- Programmer entry point for manually rejecting PDX
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  N VAQPR,VAQAUDT,VAQSENPT,VAQAUSIT,VAQDZN,VAQDZ
 | 
|---|
| 6 |  N POP,DA,PARMNODE,FACDA,DOMDA
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  D:$D(XRTL) T0^%ZOSV
 | 
|---|
| 9 |  S VAQFLAG=1,POP=0
 | 
|---|
| 10 |  W !,"Working ..."
 | 
|---|
| 11 |  D PROCESS
 | 
|---|
| 12 |  I POP K XRT0 QUIT
 | 
|---|
| 13 |  W !!,"Manual process of entry queued "
 | 
|---|
| 14 |  D EXIT
 | 
|---|
| 15 |  S:$D(XRT0) XRTN=$T(+0) D:$D(XRT0) T1^%ZOSV
 | 
|---|
| 16 |  QUIT
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 | PROCESS ; -- Finds an entry in the 'PDX TRANSACTION' file
 | 
|---|
| 19 |  S X=VAQTRNO ; -- transaction to update (set in VAQEXT01)
 | 
|---|
| 20 |  S DIC="^VAT(394.61,",DIC(0)="MZ"
 | 
|---|
| 21 |  D ^DIC K DIC,X
 | 
|---|
| 22 |  I Y<0 S POP=1 W !,"Error...Transaction record not found" QUIT
 | 
|---|
| 23 |  S (VAQPR,DA)=+Y,VAQTRN=$P(Y,U,2)
 | 
|---|
| 24 |  D LOAD,UPDATE Q:POP
 | 
|---|
| 25 |  I $D(^TMP("CMNT",$J)) D CMNT
 | 
|---|
| 26 |  S VAQTRN(VAQPR)="" ; -- Load an array of processed manual transactions
 | 
|---|
| 27 |  ; -- Updates workload file
 | 
|---|
| 28 |  S X=$$WORKDONE^VAQADS01($S(VAQST="REJ":"RJCT",VAQST="REL":"RLSE",VAQST="NFND":"UNKN",1:""),VAQPR,$G(DUZ))
 | 
|---|
| 29 |  QUIT
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 | LOAD ; -- Loads the data for update
 | 
|---|
| 32 |  S %DT="ST",X="NOW" D ^%DT S VAQAUDT=Y ; -- date/time authori
 | 
|---|
| 33 |  K %DT,X,Y
 | 
|---|
| 34 |  S VAQSENPT=$$GETSEN^VAQUTL97(DFN) ; -- sensative patient
 | 
|---|
| 35 |  S:VAQSENPT<0 VAQSENPT=""
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  S PARMNODE=$G(^VAT(394.81,1,0))
 | 
|---|
| 38 |  S FACDA=$P(PARMNODE,U,1),DOMDA=$P(PARMNODE,U,2)
 | 
|---|
| 39 |  S VAQAUSIT=$P($G(^DIC(4,FACDA,0)),U,1) ; -- authori site
 | 
|---|
| 40 |  S VAQAUADD=$P($G(^DIC(4.2,DOMDA,0)),U,1) ; -- authori addr
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  S VAQDZN=$S($D(DUZ):$P(^VA(200,DUZ,0),U,1),1:"")
 | 
|---|
| 43 |  S VAQDZ=$S($D(DUZ):DUZ,1:"") ; -- authorizer
 | 
|---|
| 44 |  QUIT
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 | UPDATE ; -- Sets DR string and non-constant variables for update
 | 
|---|
| 47 |  S DR=".05///"_$S(VAQST="REJ":"VAQ-REJ",VAQST="REL":"VAQ-RSLT",VAQST="NFND":"VAQ-NTFND",1:"")
 | 
|---|
| 48 |  I (DFN>0) S DR(1,394.61,.03)=".03////"_DFN ; -- local patient pointer
 | 
|---|
| 49 |  S DR(1,394.61,.04)=".04///"_VAQSENPT
 | 
|---|
| 50 |  ;S DR(1,394.61,.05)=".05///"_$S(VAQST="REJ":"VAQ-REJ",VAQST="REL":"VAQ-RSLT",VAQST="NFND":"VAQ-NTFND",1:"")
 | 
|---|
| 51 |  S DR(1,394.61,50)="50///"_VAQAUDT
 | 
|---|
| 52 |  S DR(1,394.61,51)="51///"_VAQDZN
 | 
|---|
| 53 |  ;S DR(1,394.61,60)="60///"_VAQAUSIT
 | 
|---|
| 54 |  ;S DR(1,394.61,61)="61///"_VAQAUADD
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  S DIE="^VAT(394.61,"
 | 
|---|
| 57 |  L +(@(DIE_DA_")")):60
 | 
|---|
| 58 |  I ('$T) S POP=1 W !,"Could not edit entry... locked by other user)" QUIT
 | 
|---|
| 59 |  D ^DIE
 | 
|---|
| 60 |  L -(@(DIE_DA_")"))
 | 
|---|
| 61 |  K DIE,DR
 | 
|---|
| 62 |  QUIT
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 | CMNT ; -- Loads comment for manual process reject or release (WORD PROCESSOR FIELD)
 | 
|---|
| 65 |  S %X="^TMP(""CMNT"",$J,"
 | 
|---|
| 66 |  S %Y="^VAT(394.61,"_DA_",""CMNT"","
 | 
|---|
| 67 |  D %XY^%RCR
 | 
|---|
| 68 |  K %X,%Y,^TMP("CMNT",$J)
 | 
|---|
| 69 |  QUIT
 | 
|---|
| 70 |  ;
 | 
|---|
| 71 | EXIT ; -- Cleans up local variables
 | 
|---|
| 72 |  K VAQPR,VAQAUDT,VAQSENPT,VAQAUSIT,VAQDZN,VAQDZ
 | 
|---|
| 73 |  K POP,DA,PARMNODE,FACDA,DOMDA
 | 
|---|
| 74 |  QUIT
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 | END ; -- End of code
 | 
|---|
| 77 |  QUIT
 | 
|---|