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