1 | MCARVCHK ;HIRMFO/DAD-MEDICINE VIEW FILE SANITY CHECK ;5/23/96 11:09
|
---|
2 | ;;2.3;Medicine;;09/13/1996
|
---|
3 | ;
|
---|
4 | K %ZIS,IOP S %ZIS="QM" W ! D ^%ZIS G:POP EXIT
|
---|
5 | I $D(IO("Q")) D G EXIT
|
---|
6 | . S ZTRTN="TASK^MCARVCHK"
|
---|
7 | . S ZTDESC="Medicine View file (#690.2) sanity check report"
|
---|
8 | . D ^%ZTLOAD
|
---|
9 | . Q
|
---|
10 | TASK ;
|
---|
11 | K ^TMP("MCARVCHK",$J)
|
---|
12 | S (MCD0,MCERR)=0
|
---|
13 | F S MCD0=$O(^MCAR(690.2,MCD0)) Q:MCD0'>0 D MAIN
|
---|
14 | PRINT ;
|
---|
15 | U IO K MCUNDL
|
---|
16 | S MCEXIT=0,MCPAGE=1,$P(MCUNDL,"-",81)=""
|
---|
17 | S MCTODAY=$$FMTE^XLFDT(DT)
|
---|
18 | D HEADER
|
---|
19 | I $O(^TMP("MCARVCHK",$J,0))'>0 D G EXIT
|
---|
20 | . W !!,"NO PROBLEMS FOUND"
|
---|
21 | . Q
|
---|
22 | S MCERR=0
|
---|
23 | F S MCERR=$O(^TMP("MCARVCHK",$J,MCERR)) Q:MCERR'>0!MCEXIT D
|
---|
24 | . S MCDATA=^TMP("MCARVCHK",$J,MCERR)
|
---|
25 | . S MCNAME=$P(MCDATA,U),MCFILE=$P(MCDATA,U,2),MCTEXT=$P(MCDATA,U,3)
|
---|
26 | . W !!,MCNAME,?70,MCFILE,!?5,MCTEXT
|
---|
27 | . I $Y>(IOSL-4) D PAUSE,HEADER
|
---|
28 | . Q
|
---|
29 | EXIT ;
|
---|
30 | D ^%ZISC
|
---|
31 | S:$D(ZTQUEUED) ZTREQ="@"
|
---|
32 | K %ZIS,DIR,DIROUT,DIRUT,DTOUT,DUOUT,MCD0,MCD1,MCD2,MCDATA,MCERR,MCEXIT
|
---|
33 | K MCFIELD,MCFILE,MCFL,MCNAME,MCPAGE,MCSUBFIL,MCSUBFLD,MCTEXT,MCTODAY
|
---|
34 | K MCUNDL,MCUP,MCZERO,POP,X,Y,ZTDESC,ZTRTN,^TMP("MCARVCHK",$J)
|
---|
35 | Q
|
---|
36 | MAIN ;
|
---|
37 | K ^TMP("MCSUB",$J)
|
---|
38 | S MCZERO=$G(^MCAR(690.2,MCD0,0))
|
---|
39 | S MCNAME=$P(MCZERO,U),MCFILE=+$P(MCZERO,U,2)
|
---|
40 | ;
|
---|
41 | ; *** Check the Primary File ***
|
---|
42 | ;
|
---|
43 | I $$VFILE^DILFD(MCFILE)'>0 D Q
|
---|
44 | . D ERR("Primary file # "_MCFILE_" does not exist")
|
---|
45 | . Q
|
---|
46 | ;
|
---|
47 | ; *** Check the Field mult ***
|
---|
48 | ;
|
---|
49 | I $O(^MCAR(690.2,MCD0,1,0))'>0 D
|
---|
50 | . D ERR("No Fields specified")
|
---|
51 | . Q
|
---|
52 | S MCD1=0
|
---|
53 | F S MCD1=$O(^MCAR(690.2,MCD0,1,MCD1)) Q:MCD1'>0 D
|
---|
54 | . S MCFIELD=$P($G(^MCAR(690.2,MCD0,1,MCD1,0)),U)
|
---|
55 | . I $$VFIELD^DILFD(MCFILE,MCFIELD)'>0 D Q
|
---|
56 | .. D ERR("Field # "_MCFILE_","_MCFIELD_" does not exist")
|
---|
57 | .. Q
|
---|
58 | . S MCSUBFIL=+$$GET1^DID(MCFILE,MCFIELD,"","SPECIFIER")
|
---|
59 | . I MCSUBFIL D
|
---|
60 | .. S MC=($O(^DD(MCSUBFIL,.01))'>0)&($D(^DD(MCSUBFIL,.01,0))#2)
|
---|
61 | .. S MCTEXT="Field # "_MCFILE_","_MCFIELD_" missing Sub-File/Field"
|
---|
62 | .. S MCTEXT=MCTEXT_" # "_MCSUBFIL_","_$S(MC:".01",1:"???")
|
---|
63 | .. S ^TMP("MCSUB",$J,MCSUBFIL)=MCTEXT
|
---|
64 | .. Q
|
---|
65 | . Q
|
---|
66 | ;
|
---|
67 | ; *** Check the Sub-Field mult ***
|
---|
68 | ;
|
---|
69 | S MCD1=0
|
---|
70 | F S MCD1=$O(^MCAR(690.2,MCD0,2,MCD1)) Q:MCD1'>0 D
|
---|
71 | . S MCSUBFIL=+$P($G(^MCAR(690.2,MCD0,2,MCD1,0)),U)
|
---|
72 | . I $G(^DD(MCSUBFIL,0))="" Q
|
---|
73 | . I $O(^MCAR(690.2,MCD0,2,MCD1,1,0))'>0 D
|
---|
74 | .. D ERR("No Sub-Fields specified for Sub-File # "_MCSUBFIL)
|
---|
75 | .. Q
|
---|
76 | . S MCD2=0
|
---|
77 | . F S MCD2=$O(^MCAR(690.2,MCD0,2,MCD1,1,MCD2)) Q:MCD2'>0 D
|
---|
78 | .. S MCSUBFLD=+$P($G(^MCAR(690.2,MCD0,2,MCD1,1,MCD2,0)),U)
|
---|
79 | .. I $$VFIELD^DILFD(MCSUBFIL,MCSUBFLD)'>0 D Q
|
---|
80 | ... D ERR("Sub-Field # "_MCSUBFIL_","_MCSUBFLD_" does not exist")
|
---|
81 | ... Q
|
---|
82 | .. S MCSUBFIL(0)=+$$GET1^DID(MCSUBFIL,MCSUBFLD,"","SPECIFIER")
|
---|
83 | .. I MCSUBFIL(0)>0 D
|
---|
84 | ... S MC=($O(^DD(MCSUBFIL(0),.01))'>0)&($D(^DD(MCSUBFIL(0),.01,0))#2)
|
---|
85 | ... S MCTEXT="Sub-Field # "_MCSUBFIL_","_MCSUBFLD_" missing Sub-File/"
|
---|
86 | ... S MCTEXT=MCTEXT_"Field # "_MCSUBFIL(0)_","_$S(MC:".01",1:"???")
|
---|
87 | ... S ^TMP("MCSUB",$J,MCSUBFIL(0))=MCTEXT
|
---|
88 | ... Q
|
---|
89 | .. Q
|
---|
90 | . Q
|
---|
91 | ;
|
---|
92 | ; *** Check the Sub-File mult ***
|
---|
93 | ;
|
---|
94 | I $O(^TMP("MCSUB",$J,0)),$O(^MCAR(690.2,MCD0,2,0))'>0 D
|
---|
95 | . D ERR("No Sub-Files specified")
|
---|
96 | . Q
|
---|
97 | S MCD1=0
|
---|
98 | F S MCD1=$O(^MCAR(690.2,MCD0,2,MCD1)) Q:MCD1'>0 D
|
---|
99 | . S MCSUBFIL=+$P($G(^MCAR(690.2,MCD0,2,MCD1,0)),U)
|
---|
100 | . I $G(^DD(MCSUBFIL,0))="" D Q
|
---|
101 | .. D ERR("Subfile # "_MCSUBFIL_" does not exist")
|
---|
102 | .. Q
|
---|
103 | . I $D(^TMP("MCSUB",$J,MCSUBFIL)) D
|
---|
104 | .. K ^TMP("MCSUB",$J,MCSUBFIL)
|
---|
105 | .. Q
|
---|
106 | . E D
|
---|
107 | .. S MCUP=+$G(^DD(MCSUBFIL,0,"UP"))
|
---|
108 | .. S MCUP=$S(MCUP:MCUP,1:"???")
|
---|
109 | .. S MCFL=+$O(^DD(MCUP,"SB",MCSUBFIL,0))
|
---|
110 | .. S MCFL=$S(MCFL:MCFL,1:"???")
|
---|
111 | .. S MCTEXT="Sub-File # "_MCSUBFIL_" is missing "
|
---|
112 | .. S MCTEXT=MCTEXT_$S(MCUP'=MCFILE:"Sub-",1:"")
|
---|
113 | .. S MCTEXT=MCTEXT_"File/Field # "_MCUP_","_MCFL
|
---|
114 | .. S ^TMP("MCSUB",$J,MCSUBFIL)=MCTEXT
|
---|
115 | .. Q
|
---|
116 | . Q
|
---|
117 | ;
|
---|
118 | S MCSUBFIL=0
|
---|
119 | F S MCSUBFIL=$O(^TMP("MCSUB",$J,MCSUBFIL)) Q:MCSUBFIL'>0 D
|
---|
120 | . D ERR(^TMP("MCSUB",$J,MCSUBFIL))
|
---|
121 | . Q
|
---|
122 | K ^TMP("MCSUB",$J)
|
---|
123 | Q
|
---|
124 | ERR(X) ;
|
---|
125 | S MCERR=MCERR+1
|
---|
126 | S ^TMP("MCARVCHK",$J,MCERR)=MCNAME_U_MCD0_U_X
|
---|
127 | Q
|
---|
128 | PAUSE ;
|
---|
129 | I $E(IOST,1,2)="C-" D
|
---|
130 | . N DIR S DIR(0)="E" D ^DIR S MCEXIT=$S(Y'>0:1,1:0)
|
---|
131 | . Q
|
---|
132 | E D
|
---|
133 | . S MCEXIT=0
|
---|
134 | . Q
|
---|
135 | Q
|
---|
136 | HEADER ;
|
---|
137 | I MCEXIT Q
|
---|
138 | I ($E(IOST,1,2)="C-")!(MCPAGE>1) W @IOF
|
---|
139 | W !?25,"MEDICINE VIEW FILE SANITY CHECK",?68,MCTODAY
|
---|
140 | W !?68,"PAGE: ",MCPAGE S MCPAGE=MCPAGE+1
|
---|
141 | W !,"PRINT VIEW TEMPLATE NAME",?70,"IEN",!?5,"ERROR MESSAGE"
|
---|
142 | W !,MCUNDL
|
---|
143 | Q
|
---|