1 | ONCSAPID ;Hines OIFO/SG - COLLABORATIVE STAGING (DEMO) ; 12/7/06 9:33am
|
---|
2 | ;;2.11;ONCOLOGY;**40,47**;Mar 07, 1995;Build 19
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | ;***** DEMO ENTRY POINT
|
---|
7 | ;
|
---|
8 | ; [.ONCSAPI] Reference to the API descriptor (see ^ONCSAPI)
|
---|
9 | ;
|
---|
10 | DEMO(ONCSAPI) ;
|
---|
11 | N DISPLAY,EXIT,I,INPUT,RC,STATUS,STORE
|
---|
12 | W !!?10,"DEMO CLIENT FOR THE COLLABORATIVE STAGING API",!
|
---|
13 | D CLEAR^ONCSAPIE(1)
|
---|
14 | ;--- Check the DLL version
|
---|
15 | S RC=$$CHKVER^ONCSAPIV(.ONCSAPI)
|
---|
16 | D:RC<0 PRTERRS^ONCSAPIE()
|
---|
17 | ;
|
---|
18 | ;---
|
---|
19 | S EXIT=0
|
---|
20 | F D Q:EXIT
|
---|
21 | . D CLEAR^ONCSAPIE()
|
---|
22 | . ;--- Review/Edit input values
|
---|
23 | . S RC=$$INPUT(.INPUT)
|
---|
24 | . I RC<0 S EXIT=1 Q
|
---|
25 | . ;--- Call the CS API
|
---|
26 | . S RC=$$CALC^ONCSAPI3(.ONCSAPI,.INPUT,.STORE,.DISPLAY,.STATUS)
|
---|
27 | . ;--- Display the output values
|
---|
28 | . W !!,"Output values of the Collaborative Staging API",!
|
---|
29 | . I $D(STORE)>1 S I="" D W !
|
---|
30 | . . F S I=$O(STORE(I)) Q:I="" D
|
---|
31 | . . . W !?2,$NA(STORE(I))_"="""_$G(STORE(I))_""""
|
---|
32 | . . . W ?42,$NA(DISPLAY(I))_"="""_$G(DISPLAY(I))_""""
|
---|
33 | . I RC D D ZW^ONCSAPIU("STATUS")
|
---|
34 | . . W !,"$$CALC^ONCSAPI3="""_RC_"""",!
|
---|
35 | . ;--- Display formatted error messages
|
---|
36 | . D:RC<0 PRTERRS^ONCSAPIE()
|
---|
37 | . ;--- Pause the output
|
---|
38 | . S EXIT=$$PAGE^ONCSAPIU() W !
|
---|
39 | ;---
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | ;***** USER INPUT FOR THE DEMO ENTRY POINT
|
---|
43 | ;
|
---|
44 | ; .ONCINP Reference to a local variable for input parameters
|
---|
45 | ;
|
---|
46 | ; Return values:
|
---|
47 | ;
|
---|
48 | ; -2 Timeout
|
---|
49 | ; -1 User entered an up-arrow
|
---|
50 | ; 0 Ok
|
---|
51 | ;
|
---|
52 | INPUT(ONCINP) ;
|
---|
53 | ;;HIST ^8000^4^Histologic Type ICD-O-3
|
---|
54 | ;;SITE ^C000^4^Primary Site
|
---|
55 | ;;BEHAV ^3 ^1^Behavior Code ICD-O-3
|
---|
56 | ;;GRADE ^1 ^1^Grade
|
---|
57 | ;;AGE ^043 ^3^Age at Diagnosis
|
---|
58 | ;;SIZE ^010 ^3^CS Tumor Size^1
|
---|
59 | ;;EXT ^20 ^2^CS Extension^2
|
---|
60 | ;;EXTEVAL ^0 ^1^CS Size/Ext Eval^3
|
---|
61 | ;;NODES ^11 ^2^CS Lymph Nodes^4
|
---|
62 | ;;NODESEVAL^0 ^1^CS Reg Nodes Eval^5
|
---|
63 | ;;LNPOS ^98 ^2^Regional Nodes Positive^6
|
---|
64 | ;;LNEXAM ^00 ^2^Regional Nodes Examined^7
|
---|
65 | ;;METS ^00 ^2^CS Mets at DX^8
|
---|
66 | ;;METSEVAL ^0 ^1^CS Mets Eval^9
|
---|
67 | ;;SSF1 ^001 ^3^CS Site-Specific Factor 1^10
|
---|
68 | ;;SSF2 ^000 ^3^CS Site-Specific Factor 2^11
|
---|
69 | ;;SSF3 ^000 ^3^CS Site-Specific Factor 3^12
|
---|
70 | ;;SSF4 ^000 ^3^CS Site-Specific Factor 4^13
|
---|
71 | ;;SSF5 ^000 ^3^CS Site-Specific Factor 5^14
|
---|
72 | ;;SSF6 ^000 ^3^CS Site-Specific Factor 6^15
|
---|
73 | ;
|
---|
74 | N DIR,DIRUT,DTOUT,DUOUT,FLDLST,ICOL,IFLD,IIF,IROW,ML,NAME,NFL,NR,ONCBUF,RC,TABLE,TMP,VAL,X,Y
|
---|
75 | W !,"Input values for Collaborative Staging API"
|
---|
76 | S RC=0
|
---|
77 | ;--- Determine number of fields and load default values
|
---|
78 | F NFL=1:1 S TMP=$P($T(INPUT+NFL),";;",2) Q:TMP="" D
|
---|
79 | . S FLDESCR(NFL)=TMP,NAME=$TR($P(TMP,U)," ")
|
---|
80 | . S:'$D(ONCINP(NAME)) ONCINP(NAME)=$TR($P(TMP,U,2)," ")
|
---|
81 | S NFL=NFL-1
|
---|
82 | ;
|
---|
83 | ;--- Review and/or edit field values
|
---|
84 | F W ! D Q:RC
|
---|
85 | . ;--- Display current values
|
---|
86 | . S NR=NFL\2
|
---|
87 | . F IROW=1:1:NR W ! D
|
---|
88 | . . F ICOL=1,2 D
|
---|
89 | . . . S IFLD=NR*(ICOL-1)+IROW,X=(ICOL-1)*40
|
---|
90 | . . . S TMP=$P($T(INPUT+IFLD),";;",2),NAME=$TR($P(TMP,U)," ")
|
---|
91 | . . . W ?(X+2),"["_$J(IFLD,2)_"] "_$P(TMP,U,4)
|
---|
92 | . . . W ?(X+35),$G(ONCINP(NAME))
|
---|
93 | . ;
|
---|
94 | . ;--- Ask for field(s) to be edited
|
---|
95 | . K DIR
|
---|
96 | . S DIR(0)="LO^1:"_NFL_":0"
|
---|
97 | . S DIR("A")="Select a field"
|
---|
98 | . S DIR("?")="Enter field number(s), '^' to exit, or hit RETURN to call the CS API."
|
---|
99 | . W ! D ^DIR
|
---|
100 | . I $D(DTOUT) S RC=-2 Q
|
---|
101 | . I $D(DUOUT) S RC=-1 Q
|
---|
102 | . I '$G(Y) S RC=1 Q
|
---|
103 | . S FLDLST=Y
|
---|
104 | . ;
|
---|
105 | . F IIF=1:1 S IFLD=$P(FLDLST,",",IIF) Q:IFLD'>0 D Q:RC<0
|
---|
106 | . . ;--- Edit the field value
|
---|
107 | . . S TMP=$P($T(INPUT+IFLD),";;",2)
|
---|
108 | . . S NAME=$TR($P(TMP,U)," "),ML=+$TR($P(TMP,U,3)," ")
|
---|
109 | . . S TABLE=+$TR($P(TMP,U,5)," ")
|
---|
110 | . . K DIR
|
---|
111 | . . S DIR(0)="FO^1:"_ML
|
---|
112 | . . S:TABLE>0 $P(DIR(0),U,3)="D INPUT^ONCSAPI1("_TABLE_","_ML_",,$G(ONCINP(""SITE"")),$G(ONCINP(""HIST"")))"
|
---|
113 | . . S DIR("A")=$P(TMP,U,4)
|
---|
114 | . . S DIR("B")=$G(ONCINP(NAME))
|
---|
115 | . . S X=$S(ML>1:ML_" characters",1:"1 character")
|
---|
116 | . . S DIR("?")="Enter the field value ("_X_")"
|
---|
117 | . . S:TABLE>0 DIR("??")="^D HELP^ONCSAPI1("_TABLE_",,$G(ONCINP(""SITE"")),$G(ONCINP(""HIST"")))"
|
---|
118 | . . W !
|
---|
119 | . . S TMP=$$TBLTTL^ONCSAPIT(,$G(ONCINP("SITE")),$G(ONCINP("HIST")),TABLE)
|
---|
120 | . . I TMP'<0 D:$P(TMP,U,3)'="" WW^ONCSAPIU($P(TMP,U,3),75)
|
---|
121 | . . D ^DIR
|
---|
122 | . . I $D(DTOUT) S RC=-2 Q
|
---|
123 | . . I $D(DUOUT) S RC=-1 Q
|
---|
124 | . . S ONCINP(NAME)=Y
|
---|
125 | . S:(RC=-1)!(RC=-2) RC=0
|
---|
126 | ;---
|
---|
127 | Q $S(RC<0:RC,1:0)
|
---|