| 1 | VAQLED10 ;ALB/JFP - LOAD/EDIT PDX RECORD, PROMPT PDX;01APR93
 | 
|---|
| 2 |  ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
 | 
|---|
| 3 | INIT ; -- Intialization
 | 
|---|
| 4 |  D ^VAQUTL98
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  N POP,DFN
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  S:'$D(VAQOPT) VAQOPT="" ; -- should be set from menu option
 | 
|---|
| 9 | MAIN ; -- Main entry point
 | 
|---|
| 10 |  K POP,DFN,X,Y,ND,NODE
 | 
|---|
| 11 |  K BADSSN,FLE,FLD ; -- table entries
 | 
|---|
| 12 |  K DIROUT,DIRUT,DTOUT,DUOUT
 | 
|---|
| 13 |  K VAQIN,VAQDFN,VAQPTNM,VAQISSN,VAQIDOB,VAQEDOB,VAQPTID,VAQESSN
 | 
|---|
| 14 |  S POP=0
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ; -- Call to Dir to request patient from patient file (2)
 | 
|---|
| 17 |  S DIR("A")="Identify PDX: "
 | 
|---|
| 18 |  S DIR(0)="FAO^1:30^K:(X'=$C(32)&($L(X)<3)) X"
 | 
|---|
| 19 |  S DIR("?")="Enter Patient's Name (Last,First Middle) or SSN or Transaction #"
 | 
|---|
| 20 |  S DIR("??")="^D HLPTRN1^VAQLED09"
 | 
|---|
| 21 |  W !! D ^DIR K DIR G:$D(DIRUT) EXIT
 | 
|---|
| 22 |  S (X,VAQIN)=Y
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ; -- Function call to get patient from transaction file (DIC)
 | 
|---|
| 25 |  S VAQDFN=$$GETTRN^VAQUTL96(X)
 | 
|---|
| 26 |  D:VAQDFN=-1 PTNFND ; -- patient not in transaction file
 | 
|---|
| 27 |  G:POP MLOOP
 | 
|---|
| 28 |  D:VAQDFN>0 HEADER ; --   builds variables for header
 | 
|---|
| 29 |  D EP^VAQLED01 ; -- Call to list processor (status screen)
 | 
|---|
| 30 | MLOOP G MAIN ; -- loop back until no more patient added
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 | PTNFND ; -- Requested PDX not found
 | 
|---|
| 33 |  W !,"Patient not found in PDX transaction file..."
 | 
|---|
| 34 |  S POP=1
 | 
|---|
| 35 |  QUIT
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | HEADER ; -- Extracts elements for header
 | 
|---|
| 38 |  ;W !,"VAQDFN = ",VAQDFN
 | 
|---|
| 39 |  F ND=0,"QRY" S NODE(ND)=$G(^VAT(394.61,+VAQDFN,ND))
 | 
|---|
| 40 |  S VAQPTNM=$P(NODE("QRY"),U,1),VAQISSN=$P(NODE("QRY"),U,2)
 | 
|---|
| 41 |  S VAQESSN=$$DASHSSN^VAQUTL99(VAQISSN)
 | 
|---|
| 42 |  S VAQIDOB=$P(NODE("QRY"),U,3),VAQEDOB=$$DOBFMT^VAQUTL99(VAQIDOB)
 | 
|---|
| 43 |  S VAQPTID=$P(NODE("QRY"),U,4)
 | 
|---|
| 44 |  QUIT
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 | EXIT ; -- Cleanup and exit routine
 | 
|---|
| 47 |  K POP,DFN,X,Y,ND,NODE
 | 
|---|
| 48 |  K BADSSN,FLE,FLD ; -- table entries
 | 
|---|
| 49 |  K DIROUT,DIRUT,DTOUT,DUOUT
 | 
|---|
| 50 |  K VAQIN,VAQDFN,VAQPTNM,VAQISSN,VAQIDOB,VAQEDOB,VAQPTID,VAQOPT,VAQESSN
 | 
|---|
| 51 |  QUIT
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | END ; -- End of code
 | 
|---|
| 54 |  QUIT
 | 
|---|