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