1 | MAGXCVL ;WOIFO/SEB,MLH - Image File Conversion Utilities & Misc. options ; 15 Jul 2004 10:54 AM
|
---|
2 | ;;3.0;IMAGING;**17,25,31**;Mar 31, 2005
|
---|
3 | ;; +---------------------------------------------------------------+
|
---|
4 | ;; | Property of the US Government. |
|
---|
5 | ;; | No permission to copy or redistribute this software is given. |
|
---|
6 | ;; | Use of unreleased versions of this software requires the user |
|
---|
7 | ;; | to execute a written test agreement with the VistA Imaging |
|
---|
8 | ;; | Development Office of the Department of Veterans Affairs, |
|
---|
9 | ;; | telephone (301) 734-0100. |
|
---|
10 | ;; | |
|
---|
11 | ;; | The Food and Drug Administration classifies this software as |
|
---|
12 | ;; | a medical device. As such, it may not be changed in any way. |
|
---|
13 | ;; | Modifications to this software may result in an adulterated |
|
---|
14 | ;; | medical device under 21CFR820, the use of which is considered |
|
---|
15 | ;; | to be a violation of US Federal Statutes. |
|
---|
16 | ;; +---------------------------------------------------------------+
|
---|
17 | ;;
|
---|
18 | Q
|
---|
19 | ;
|
---|
20 | ; Entry point for the File Setup option (MAG IMAGE INDEX FILE SETUP)
|
---|
21 | EN N FNAME,COUNT,MAGDATA,MAGFLD,MAGID,CT,DR,DIE,DA,%ZIS
|
---|
22 | N IX ; --------- scratch subscript var
|
---|
23 | ;
|
---|
24 | S COUNT=0
|
---|
25 | EN1 ; get the name of the conversion file
|
---|
26 | K DIR S DIR(0)="FOU^3:60"
|
---|
27 | S DIR("A")="Please enter the filename of the conversion file"
|
---|
28 | S DIR("?",1)="Enter a filename (including the path) of a text file"
|
---|
29 | S DIR("?")="containing mapping data."
|
---|
30 | D ^DIR
|
---|
31 | I $G(Y)]"",'$D(DUOUT),'$D(DTOUT)
|
---|
32 | E S COUNT=-1 G DONE
|
---|
33 | S %ZIS="",%ZIS("HFSNAME")=Y,%ZIS("HFSMODE")="R",IOP="HFS"
|
---|
34 | S X="ERR^"_$T(+0),@^%ZOSF("TRAP")
|
---|
35 | D ^%ZIS I POP=1 W !,"Invalid filename. Please try again." G EN1
|
---|
36 | U IO(0)
|
---|
37 | CLEAR ; confirm it's OK to clear before proceeding
|
---|
38 | K DIR S DIR(0)="YU"
|
---|
39 | S DIR("A")="Clear mapping file",DIR("B")="NO"
|
---|
40 | D ^DIR
|
---|
41 | I $D(DUOUT)!$D(DTOUT) G CLOSE
|
---|
42 | I Y K ^XTMP("MAG30P25","MAPPING") W " File cleared!"
|
---|
43 | U IO(0) W !
|
---|
44 | F CT=1:1 U IO(0) W:CT#10=0 "." U IO R MAGDATA:DTIME Q:$E(MAGDATA,1,7)="$$EOF$$" D
|
---|
45 | . S MAGDATA=$TR(MAGDATA,$C(9),U),MAGDATA=$TR(MAGDATA,$C(34),"")
|
---|
46 | . I $E(MAGDATA,1,2)="ID"!(MAGDATA="") Q
|
---|
47 | . I $E(MAGDATA,1,7)="Field #" S MAGFLD=$P($E(MAGDATA,8,$L(MAGDATA)),"-") Q
|
---|
48 | . I MAGFLD="" Q
|
---|
49 | . ; To prevent mismatching of IEN keys, do not overwrite the values in the
|
---|
50 | . ; MAG DESCRIPTIVE CATEGORIES File (#2005.81). Instead, we will later
|
---|
51 | . ; load the values from that (merged-into) file into the mapping file.
|
---|
52 | . I MAGFLD=100 Q
|
---|
53 | . S MAGID=$P(MAGDATA,U)
|
---|
54 | . I MAGFLD=6!(MAGFLD=8)!(MAGFLD=10) S MAGID=$P(MAGDATA,U,2)
|
---|
55 | . I MAGID="" Q
|
---|
56 | . S ^XTMP("MAG30P25","MAPPING",MAGFLD,MAGID)=$P(MAGDATA,U,2,999)
|
---|
57 | . I MAGFLD=16 D DIE(MAGFLD,MAGID,MAGDATA)
|
---|
58 | . Q
|
---|
59 | U IO(0) W !,"Mapping text file load complete.",!
|
---|
60 | ;
|
---|
61 | ; Here is where we will load FROM the MAG DESCRIPTIVE CATEGORIES File
|
---|
62 | ; (#2005.81) INTO the mapping file. (We used to do it the other way around.)
|
---|
63 | W !,"Loading values from MAG DESCRIPTIVE CATEGORIES..."
|
---|
64 | S IX=0
|
---|
65 | F S IX=$O(^MAG(2005.81,IX)) Q:'IX S MAGDATA=$G(^(IX,2)) I MAGDATA]"" D
|
---|
66 | . S ^XTMP("MAG30P25","MAPPING",100,IX)=$P($G(^MAG(2005.81,IX,0)),U)_U_MAGDATA
|
---|
67 | . Q
|
---|
68 | W "done.",!
|
---|
69 | ;
|
---|
70 | ; Now, re-apply local edits from the audit subtree.
|
---|
71 | W !,"Re-applying local edits..."
|
---|
72 | S AUDIX=0
|
---|
73 | F S AUDIX=$O(^XTMP("MAG30P25","MAPEDITAUD",AUDIX)) Q:'AUDIX S AUDDTA=$G(^(AUDIX,0)) I AUDDTA]"" D
|
---|
74 | . S ^XTMP("MAG30P25","MAPPING",$P(AUDDTA,U,3),$P(AUDDTA,U,4))=$P(AUDDTA,U,5,999)
|
---|
75 | . Q
|
---|
76 | W "done.",!
|
---|
77 | G CLOSE
|
---|
78 | ;
|
---|
79 | DIE(MAGFLD,MAGID,MAGDATA) ;
|
---|
80 | ; File mapping data for field 16 into file #2005.03 (Parent Data File)
|
---|
81 | ; or mapping data for field 100 into file #2005.81 (MAG Descriptive Categories)
|
---|
82 | ; Called from CLEAR and from END^MAGXCVE
|
---|
83 | N DR ; --- FileMan field string
|
---|
84 | N DIE ; -- FileMan file number
|
---|
85 | N DA ; --- FileMan internal entry number
|
---|
86 | N I ; ---- scratch index
|
---|
87 | ;
|
---|
88 | F I=3:1:8 S $P(MAGDATA,U,I)=$S($P(MAGDATA,U,I)="":"@",1:$P($P(MAGDATA,U,I),"-"))
|
---|
89 | S DR="40////"_$P(MAGDATA,U,3)_";41////"_$P(MAGDATA,U,4)
|
---|
90 | S DR=DR_";42////"_$P(MAGDATA,U,5)_";43////"_$P(MAGDATA,U,6)
|
---|
91 | S DR=DR_";44////"_$P(MAGDATA,U,7)_";45////"_$P(MAGDATA,U,8)
|
---|
92 | S DIE=$S(MAGFLD=16:2005.03,MAGFLD=100:2005.81),DA=MAGID U IO D ^DIE
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | ; Reached when an error (including end-of-file) occurs.
|
---|
96 | ERR ;
|
---|
97 | U IO(0) X "W !,$ZE,!"
|
---|
98 | CLOSE ; normal file close logic
|
---|
99 | D ^%ZISC
|
---|
100 | DONE S COUNT=COUNT+1
|
---|
101 | I COUNT=1 W !,"Done importing conversion values."
|
---|
102 | Q
|
---|