[613] | 1 | ONCSAPI1 ;Hines OIFO/SG - COLLABORATIVE STAGING (DD TOOLS) ; 12/7/06 9:10am
|
---|
| 2 | ;;2.11;ONCOLOGY;**40,41,47**;Mar 07, 1995;Build 19
|
---|
| 3 | ;
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;***** DISPLAYS THE ERRORS
|
---|
| 7 | ERRORS(MODE,ERRCODE) ;
|
---|
| 8 | S ERRCODE=+$G(ERRCODE)
|
---|
| 9 | ;--- Display the explanations (for the user)
|
---|
| 10 | I MODE="HLP" D:(ERRCODE=-10)
|
---|
| 11 | . D ERROR^ONCSAPIE(-19,"Please try later.")
|
---|
| 12 | E I MODE="INP" D:(ERRCODE'=-2)
|
---|
| 13 | . D ERROR^ONCSAPIE(-20,"Please inform IRM about the problem.")
|
---|
| 14 | E I MODE="CDN" D:(ERRCODE=-10)
|
---|
| 15 | . D ERROR^ONCSAPIE(-21,"Please try later.")
|
---|
| 16 | ;--- Display the error stack (for the IRM)
|
---|
| 17 | D PRTERRS^ONCSAPIE()
|
---|
| 18 | Q
|
---|
| 19 | ;
|
---|
| 20 | ;***** DISPLAYS THE HELP FOR A FIELD
|
---|
| 21 | ;
|
---|
| 22 | ; TABLE Table number (see the ^ONCSAPI routine)
|
---|
| 23 | ;
|
---|
| 24 | ; [IEN] IEN of the record in the file #165.5
|
---|
| 25 | ;
|
---|
| 26 | ; [SITE] Primary site
|
---|
| 27 | ; [HIST] Histology
|
---|
| 28 | ;
|
---|
| 29 | ; Either the IEN or both the SITE and HIST must be provided.
|
---|
| 30 | ;
|
---|
| 31 | HELP(TABLE,IEN,SITE,HIST) ;
|
---|
| 32 | N EXIT,I,MNL,NODE,NOTE,ONCMSG,ONCSAPI,RC,ROW,SHNS,TBLIEN,TMP
|
---|
| 33 | S SHNS=$S($G(X)="":1,1:X="??")
|
---|
| 34 | D CLEAR^ONCSAPIE(1)
|
---|
| 35 | D:$G(IEN)>0
|
---|
| 36 | . S SITE=$TR($$GET1^DIQ(165.5,IEN,20.1,,,"ONCMSG"),".")
|
---|
| 37 | . S HIST=$$HIST^ONCFUNC(IEN)
|
---|
| 38 | I ($G(SITE)="")&($G(HIST)="") D Q
|
---|
| 39 | . S TMP=""
|
---|
| 40 | . S:$D(IEN)#10 TMP=TMP_", IEN="_IEN
|
---|
| 41 | . S:$D(SITE)#10 TMP=TMP_", SITE="_SITE
|
---|
| 42 | . S:$D(HIST)#10 TMP=TMP_", HIST="_HIST
|
---|
| 43 | . S TMP=$P(TMP,", ",2,999)
|
---|
| 44 | . D PRTERRS^ONCSAPIE($$ERROR^ONCSAPIE(-16,TMP,"IEN, SITE, HIST"))
|
---|
| 45 | ;---
|
---|
| 46 | L +^XTMP("ONCSAPI","TABLES","JOB",$J):5 E D Q
|
---|
| 47 | . D ERROR^ONCSAPIE(-15,,"access control node")
|
---|
| 48 | . D ERRORS("HLP")
|
---|
| 49 | ;
|
---|
| 50 | S RC=0 D
|
---|
| 51 | . ;--- Get the table IEN
|
---|
| 52 | . S TBLIEN=$$GETCSTBL^ONCSAPIT(.ONCSAPI,SITE,HIST,TABLE)
|
---|
| 53 | . I TBLIEN<0 S RC=TBLIEN Q
|
---|
| 54 | . ;--- Initialize constants and variables
|
---|
| 55 | . S NODE=$NA(^XTMP("ONCSAPI","TABLES",TBLIEN))
|
---|
| 56 | . S MNL=$S($G(IOSL)>3:IOSL-3,1:20),$Y=0
|
---|
| 57 | . ;--- Display the title and optional subtitle
|
---|
| 58 | . S TMP=$G(@NODE@(0))
|
---|
| 59 | . D WW^ONCSAPIU($P(TMP,U,5))
|
---|
| 60 | . D:$P(TMP,U,6)'="" WW^ONCSAPIU($P(TMP,U,6))
|
---|
| 61 | . ;--- Display top notes
|
---|
| 62 | . I SHNS D I $Y'<MNL S EXIT=$$PAGE^ONCSAPIU() Q:EXIT
|
---|
| 63 | . . S (EXIT,NOTE)=0
|
---|
| 64 | . . F S NOTE=$O(@NODE@("TN",NOTE)) Q:NOTE'>0 D Q:EXIT
|
---|
| 65 | . . . D EN^DDIOL(" ")
|
---|
| 66 | . . . I $Y'<MNL S EXIT=$$PAGE^ONCSAPIU() Q:EXIT
|
---|
| 67 | . . . S I=0
|
---|
| 68 | . . . F S I=$O(@NODE@("TN",NOTE,I)) Q:I'>0 D Q:EXIT
|
---|
| 69 | . . . . D EN^DDIOL(@NODE@("TN",NOTE,I))
|
---|
| 70 | . . . . S:$Y'<MNL EXIT=$$PAGE^ONCSAPIU()
|
---|
| 71 | . ;--- Display the table
|
---|
| 72 | . D EN^DDIOL(" ")
|
---|
| 73 | . S (EXIT,ROW)=0
|
---|
| 74 | . F S ROW=$O(@NODE@(ROW)) Q:ROW'>0 D Q:EXIT
|
---|
| 75 | . . D EN^DDIOL($J($P(@NODE@(ROW,1),U),7))
|
---|
| 76 | . . D:$D(@NODE@(ROW,3,1)) EN^DDIOL(@NODE@(ROW,3,1),,"?9")
|
---|
| 77 | . . I $Y'<MNL S EXIT=$$PAGE^ONCSAPIU() Q:EXIT
|
---|
| 78 | . . S I=1
|
---|
| 79 | . . F S I=$O(@NODE@(ROW,3,I)) Q:I="" D Q:EXIT
|
---|
| 80 | . . . D EN^DDIOL(@NODE@(ROW,3,I),,"!?9")
|
---|
| 81 | . . . S:$Y'<MNL EXIT=$$PAGE^ONCSAPIU()
|
---|
| 82 | . ;--- Display footnotes
|
---|
| 83 | . I SHNS D I $Y'<MNL S EXIT=$$PAGE^ONCSAPIU() Q:EXIT
|
---|
| 84 | . . S (EXIT,NOTE)=0
|
---|
| 85 | . . F S NOTE=$O(@NODE@("FN",NOTE)) Q:NOTE'>0 D Q:EXIT
|
---|
| 86 | . . . D EN^DDIOL(" ")
|
---|
| 87 | . . . I $Y'<MNL S EXIT=$$PAGE^ONCSAPIU() Q:EXIT
|
---|
| 88 | . . . S I=0
|
---|
| 89 | . . . F S I=$O(@NODE@("FN",NOTE,I)) Q:I'>0 D Q:EXIT
|
---|
| 90 | . . . . D EN^DDIOL(@NODE@("FN",NOTE,I))
|
---|
| 91 | . . . . S:$Y'<MNL EXIT=$$PAGE^ONCSAPIU()
|
---|
| 92 | . . D EN^DDIOL(" ")
|
---|
| 93 | ;
|
---|
| 94 | L -^XTMP("ONCSAPI","TABLES","JOB",$J)
|
---|
| 95 | D:RC<0 ERRORS("HLP",RC)
|
---|
| 96 | Q
|
---|
| 97 | ;
|
---|
| 98 | ;***** VALIDATES AND TRANSFORMS THE INPUT (CODES)
|
---|
| 99 | ;
|
---|
| 100 | ; X Input value should be assigned to the X local
|
---|
| 101 | ; variable before calling this procedure. The
|
---|
| 102 | ; variable is KILL'ed if it has an invalid value.
|
---|
| 103 | ;
|
---|
| 104 | ; TABLE Table number (see the ^ONCSAPI routine)
|
---|
| 105 | ;
|
---|
| 106 | ; CODELEN Valid length of the code
|
---|
| 107 | ;
|
---|
| 108 | ; [IEN] IEN of the record in the file #165.5
|
---|
| 109 | ;
|
---|
| 110 | ; [SITE] Primary site
|
---|
| 111 | ; [HIST] Histology
|
---|
| 112 | ;
|
---|
| 113 | ; [SILENT] Silent mode flags (can be combined):
|
---|
| 114 | ; D Do not display code description
|
---|
| 115 | ; E Do not display error messages
|
---|
| 116 | ;
|
---|
| 117 | ; Either the IEN or both the SITE and HIST must be provided.
|
---|
| 118 | ;
|
---|
| 119 | INPUT(TABLE,CODELEN,IEN,SITE,HIST,SILENT) ;
|
---|
| 120 | N CODE,ONCBUF,ONCSAPI,RC,TBLIEN,TMP
|
---|
| 121 | S X=$$TRIM^XLFSTR($G(X))
|
---|
| 122 | I X'?@(CODELEN_"N") K X Q
|
---|
| 123 | S:'($D(SILENT)#10) SILENT=$S($G(DIUTIL)="VERIFY FIELDS":"DE",1:"")
|
---|
| 124 | D CLEAR^ONCSAPIE(1)
|
---|
| 125 | ;---
|
---|
| 126 | D:$G(IEN)>0
|
---|
| 127 | . S SITE=$TR($$GET1^DIQ(165.5,IEN,20.1,,,"ONCMSG"),".")
|
---|
| 128 | . S HIST=$$HIST^ONCFUNC(IEN)
|
---|
| 129 | I ($G(SITE)="")&($G(HIST)="") D K X Q
|
---|
| 130 | . D PRTERRS^ONCSAPIE($$ERROR^ONCSAPIE(-16,,"IEN, SITE, HIST"))
|
---|
| 131 | ;---
|
---|
| 132 | L +^XTMP("ONCSAPI","TABLES","JOB",$J):5 E D K X Q
|
---|
| 133 | . D ERROR^ONCSAPIE(-15,,"access control node")
|
---|
| 134 | . D ERRORS("INP")
|
---|
| 135 | ;
|
---|
| 136 | S RC=0 D
|
---|
| 137 | . ;--- Get the table IEN
|
---|
| 138 | . S TBLIEN=$$GETCSTBL^ONCSAPIT(.ONCSAPI,SITE,HIST,TABLE)
|
---|
| 139 | . I TBLIEN<0 S RC=TBLIEN Q
|
---|
| 140 | . ;--- Check the single code
|
---|
| 141 | . S CODE=+$G(X)
|
---|
| 142 | . Q:$D(^XTMP("ONCSAPI","TABLES",TBLIEN,"C",CODE))
|
---|
| 143 | . ;--- Check the interval
|
---|
| 144 | . S TMP=$O(^XTMP("ONCSAPI","TABLES",TBLIEN,"C",CODE),-1)
|
---|
| 145 | . I TMP'="" D Q:CODE'>$P(TMP,U,2)
|
---|
| 146 | . . S TMP=$G(^XTMP("ONCSAPI","TABLES",TBLIEN,"C",TMP))
|
---|
| 147 | . ;--- Invalid value
|
---|
| 148 | . K X
|
---|
| 149 | ;
|
---|
| 150 | I $D(X)&(RC'<0) D:SILENT'["D"
|
---|
| 151 | . Q:$$CODEDESC^ONCSAPIT(.ONCSAPI,SITE,HIST,TABLE,X,"ONCBUF")<0
|
---|
| 152 | . S TMP=""
|
---|
| 153 | . F S TMP=$O(ONCBUF(TMP)) Q:TMP="" S ONCBUF(TMP,"F")="!?2"
|
---|
| 154 | . D EN^DDIOL(.ONCBUF),EN^DDIOL(" ")
|
---|
| 155 | ;
|
---|
| 156 | L -^XTMP("ONCSAPI","TABLES","JOB",$J)
|
---|
| 157 | I RC<0 D:SILENT'["E" ERRORS("INP",RC) K X
|
---|
| 158 | Q
|
---|