1 | VAFCMGA1 ;BIR/LTL-DEMOGRAPHIC MERGE SCREEN ACTIONS cont. ;24 Sep 96
|
---|
2 | ;;5.3;Registration;**149,477**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | ;NOTE: The VAFCMGA* routines contain line tags used to implement
|
---|
5 | ; the actions of a List Manager user interface. All line
|
---|
6 | ; tags assume that the following variables and arrays are
|
---|
7 | ; defined.
|
---|
8 | ;
|
---|
9 | ;Input : VAFCDFN - Pointer to entry in PATIENT file (#2) to merge
|
---|
10 | ; data into
|
---|
11 | ; VAFCARR - Array contain data to merge (full global reference)
|
---|
12 | ; VAFCARR() should be set as follows:
|
---|
13 | ; VAFCARR(File,Field) = Value
|
---|
14 | ; Where File = File number Value is from
|
---|
15 | ; Field = Field number Value is from
|
---|
16 | ; Value = Info to merge
|
---|
17 | ; Notes: Dates must be in FileMan format
|
---|
18 | ; : Special considerations for Value
|
---|
19 | ; "@" - Displays <Data Deleted> and deletes
|
---|
20 | ; local value if merged
|
---|
21 | ; "^text" - Displays text and ignores
|
---|
22 | ; field if merged
|
---|
23 | ; NULL - Displays <No Data Found> and
|
---|
24 | ; ignores field if merged
|
---|
25 | ; Doesn't exist - Displays <UR>
|
---|
26 | ; and ignores field
|
---|
27 | ; if merged
|
---|
28 | ; VAFCFROM - Text denoting where merge data cam from (1-35)
|
---|
29 | ; VAFCEVDT - Date/time merge data was instantiated (FileMan)
|
---|
30 | ; All variables set by List Manager Interface
|
---|
31 | ; Display area and variables required List Manager interface
|
---|
32 | ; Display
|
---|
33 | ; VALMAR(Line,0) = Line of text in display
|
---|
34 | ; Indexes
|
---|
35 | ; VALMAR("IDX",Line,Entry) = ""
|
---|
36 | ; VALMAR("E2F",Entry,N) = File^Field
|
---|
37 | ; N => Allows for multiple fields per entry (starts with 1)
|
---|
38 | ; VALMAR("E2G",Entry) = Group entry is contained in
|
---|
39 | ; VALMAR("GRP",Group) = First line of group in display
|
---|
40 | ; Note: The E2F and E2G indexes are only set if the data
|
---|
41 | ; to merge does not match the local data
|
---|
42 | ;
|
---|
43 | UNDO ;Undo selected merges
|
---|
44 | ;
|
---|
45 | ;Input : See above note on input variables
|
---|
46 | ;Output : VALMAR() array will be rebuilt accordingly
|
---|
47 | ;
|
---|
48 | ;Declare variables
|
---|
49 | N VAFCDOTS
|
---|
50 | N ENTRY,IENS,FDAROOT,MSGROOT,QUOTE
|
---|
51 | S FDAROOT="^TMP(""VAFC-UNDO"","_$J_",""FDA"")"
|
---|
52 | S MSGROOT="^TMP(""VAFC-UNDO"","_$J_",""MSG"")"
|
---|
53 | S QUOTE=$C(34)
|
---|
54 | S IENS=VAFCDFN_","
|
---|
55 | I '$O(@FDAROOT@(0)) S VALMSG="You haven't merged anything yet?!" G UNDOQ
|
---|
56 | ;undo
|
---|
57 | S VALMSG="Merge undone."
|
---|
58 | N DGNOFDEL S DGNOFDEL=1 ;**477 stop NOK Name x-ref from firing.
|
---|
59 | ;NEW EASZIPLK S EASZIPLK=1 ;**477 zipcode lookup for GMT
|
---|
60 | D FILE^DIE("E",FDAROOT,MSGROOT)
|
---|
61 | ;Rebuild required portion of display
|
---|
62 | S VAFCDOTS=1
|
---|
63 | F ENTRY=1:1:4 D RBLDGRP^VAFCMGB(ENTRY)
|
---|
64 | ;No more differences
|
---|
65 | S:('$D(@VALMAR@("E2F"))) VALMSG="** No differences found **"
|
---|
66 | ;Done - refresh List Manager display
|
---|
67 | UNDOQ K @FDAROOT,@MSGROOT S VALMBCK="R"
|
---|
68 | Q
|
---|
69 | ;
|
---|
70 | PDAT ;remote pdat ;**477
|
---|
71 | NEW DFN,ICN,VAFCDEL,VAFCDIR,VAFCFILE
|
---|
72 | S DFN=VAFCDFN
|
---|
73 | S ICN=+$$GETICN^MPIF001(DFN)
|
---|
74 | S VALMBCK="" ;clear bottom portion of screen and prompt for action
|
---|
75 | S VAFCDIR=$$GET^XPAR("SYS","VAFC HFS SCRATCH") ;hfs directory
|
---|
76 | S VAFCFILE="VAFC"_DUZ_".DAT" ;file name for local pdat
|
---|
77 | S IOM=132,IOSL=99999,IOST="P-DUMMY",IOF=""""""
|
---|
78 | D OPEN^%ZISH("VAFC",VAFCDIR,VAFCFILE,"W") Q:POP ;open up file
|
---|
79 | U IO
|
---|
80 | I ICN'="" D START^VAFCPDAT ;local pdat to file
|
---|
81 | D CLOSE^%ZISH("VAFC") ;close up file
|
---|
82 | K ^TMP("RGPDAT",$J) ;global array to hold pdat for listman
|
---|
83 | S X=$$FTG^%ZISH(VAFCDIR,VAFCFILE,$NAME(^TMP("RGPDAT",$J,1)),3) ;file to global
|
---|
84 | S VAFCDEL(VAFCFILE)="" ;list of file(s) to delete
|
---|
85 | S X=$$DEL^%ZISH(VAFCDIR,$NA(VAFCDEL)) ;delete file
|
---|
86 | I $D(^TMP("RGPDAT",$J)) D EN^RGEX04 ;list manager for remote pdat
|
---|
87 | S VALMBCK="R" ;refresh screen
|
---|
88 | Q
|
---|
89 | ;
|
---|
90 | RAUD ;remote audit ;**477
|
---|
91 | NEW DFN,ICN,VAFCBDT,VAFCEDT,VAFCDEL,VAFCDIR,VAFCFILE
|
---|
92 | S DFN=VAFCDFN
|
---|
93 | S ICN=+$$GETICN^MPIF001(DFN)
|
---|
94 | S VALMBCK="" ;clear bottom portion of screen and prompt for action
|
---|
95 | D ASK2^VAFCAUD I '$G(VAFCBDT)!'$G(VAFCEDT) Q ;date range of local and remote audits
|
---|
96 | S VAFCDIR=$$GET^XPAR("SYS","VAFC HFS SCRATCH") ;hfs directory
|
---|
97 | S VAFCFILE="VAFC"_DUZ_".DAT" ;file name for local audit
|
---|
98 | S IOM=132,IOSL=99999,IOST="P-DUMMY",IOF=""""""
|
---|
99 | D OPEN^%ZISH("VAFC",VAFCDIR,VAFCFILE,"W") Q:POP ;open up file
|
---|
100 | U IO
|
---|
101 | I '$O(^DIA(2,"B",DFN,0)) W !,"This patient has no audit data available."
|
---|
102 | I $O(^DIA(2,"B",DFN,0)) S QFLG=1,RPCFLG=1 D START^VAFCAUD(DFN,VAFCBDT,VAFCEDT,RPCFLG) ;local audit to file
|
---|
103 | D CLOSE^%ZISH("VAFC") ;close up file
|
---|
104 | K ^TMP("VAFCRAUD",$J) ;global array to hold audit for listman
|
---|
105 | S X=$$FTG^%ZISH(VAFCDIR,VAFCFILE,$NAME(^TMP("VAFCRAUD",$J,1)),3) ;file to global
|
---|
106 | S VAFCDEL(VAFCFILE)="" ;list of file(s) to delete
|
---|
107 | S X=$$DEL^%ZISH(VAFCDIR,$NA(VAFCDEL)) ;delete file
|
---|
108 | I $D(^TMP("VAFCRAUD",$J)) D EN^VAFCLAU ;list manager for remote audit
|
---|
109 | S VALMBCK="R" ;refresh screen
|
---|
110 | Q
|
---|