| 1 | SDQ ;ALB/MJK - Query Object Methods ;8/12/96
|
---|
| 2 | ;;5.3;Scheduling;**131**;Aug 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | OPEN(SDQ,SDERR) ; -- SDQ OPEN [API ID: 79]
|
---|
| 5 | D PREP^SDQUT
|
---|
| 6 | ;
|
---|
| 7 | ; -- get query object instance and set up query class info
|
---|
| 8 | IF '$$CREATE(.SDQ,"SD STANDARD ENCOUNTER QUERY",$G(SDERR)) G OPENQ
|
---|
| 9 | ;
|
---|
| 10 | ; -- do query object instance kills and sets
|
---|
| 11 | K @SDQUERY@(SDQ)
|
---|
| 12 | S @SDQUERY@(SDQ)=""
|
---|
| 13 | F X="SCAN" M @SDQUERY@(SDQ,X)=^TMP("SDQUERY CLASS",$J,SDQ,X)
|
---|
| 14 | D STOP^SDQPROP(.SDQ)
|
---|
| 15 | ;
|
---|
| 16 | ; -- do open actions
|
---|
| 17 | N SDOPEN
|
---|
| 18 | S SDOPEN=$G(^TMP("SDQUERY CLASS",$J,SDQ,"OPEN"))
|
---|
| 19 | IF SDOPEN]"" X SDOPEN
|
---|
| 20 | OPENQ Q
|
---|
| 21 | ;
|
---|
| 22 | CLOSE(SDQ,SDERR) ; -- SDQ CLOSE [API ID: 80]
|
---|
| 23 | D PREP^SDQUT
|
---|
| 24 | ;
|
---|
| 25 | ; -- do validation checks
|
---|
| 26 | IF '$$QRY^SDQVAL(.SDQ,$G(SDERR)) G CLOSEQ
|
---|
| 27 | ;
|
---|
| 28 | ; -- do close actions
|
---|
| 29 | N SDCLOSE
|
---|
| 30 | S SDCLOSE=$G(^TMP("SDQUERY CLASS",$J,SDQ,"CLOSE"))
|
---|
| 31 | IF SDCLOSE]"" X SDCLOSE
|
---|
| 32 | ;
|
---|
| 33 | ; -- do query object instance kills
|
---|
| 34 | K @SDQUERY@(SDQ)
|
---|
| 35 | ;
|
---|
| 36 | ; -- do query class kills
|
---|
| 37 | IF '$$DESTROY(.SDQ) G CLOSEQ
|
---|
| 38 | S SDQ=""
|
---|
| 39 | CLOSEQ Q
|
---|
| 40 | ;
|
---|
| 41 | CREATE(SDQ,SDQNAME,SDERR) ; -- query class level method for CREATE
|
---|
| 42 | N SDCLS,SDCLS0,SDOK,SDSTORE
|
---|
| 43 | S SDCLS=+$O(^SD(409.64,"B",SDQNAME,0))
|
---|
| 44 | IF SDCLS D
|
---|
| 45 | . S SDCLS0=$G(^SD(409.64,SDCLS,0))
|
---|
| 46 | . S SDSTORE=$S($P(SDCLS0,U,4):$P(SDCLS0,U,4),1:5000)
|
---|
| 47 | . IF $G(SDQUERY)="" S SDQUERY="SDQDATA"
|
---|
| 48 | . D STORE(.SDQUERY,SDSTORE)
|
---|
| 49 | . IF '$O(@SDQUERY@(0)) D KILL
|
---|
| 50 | . ;
|
---|
| 51 | . ; -- set query id
|
---|
| 52 | . S (SDQ,@SDQUERY)=$G(@SDQUERY)+1
|
---|
| 53 | . ; -- set up tmp class info
|
---|
| 54 | . K ^TMP("SDQUERY CLASS",$J,SDQ)
|
---|
| 55 | . M ^TMP("SDQUERY CLASS",$J,SDQ)=^SD(409.64,SDCLS)
|
---|
| 56 | . S ^TMP("SDQUERY CLASS",$J,SDQ)=SDCLS
|
---|
| 57 | . S ^TMP("SDQUERY CLASS",$J,SDQ,"GL")=$G(^DIC(+$P(SDCLS0,"^",2),0,"GL"))
|
---|
| 58 | . ; -- subscript level of files root ; ex:^SCE = 0 ; ex:^SD(404.42, = 1
|
---|
| 59 | . S ^TMP("SDQUERY CLASS",$J,SDQ,"GL SUBSCRIPTS")=+$P(SDCLS0,"^",3)
|
---|
| 60 | . ;
|
---|
| 61 | . S SDOK=1
|
---|
| 62 | ELSE D
|
---|
| 63 | . ; -- build error msg
|
---|
| 64 | . N SDIN,SDOUT
|
---|
| 65 | . S SDIN("CLASS")=SDQNAME
|
---|
| 66 | . S SDOUT("CLASS")=SDQNAME
|
---|
| 67 | . D BLD^SDQVAL(4096400.001,.SDIN,.SDOUT,$G(SDERR))
|
---|
| 68 | . S SDOK=0
|
---|
| 69 | ;
|
---|
| 70 | Q SDOK
|
---|
| 71 | ;
|
---|
| 72 | STORE(SDQUERY,SDSTORE) ; -- decide whether to use a local or global
|
---|
| 73 | N SDOLD
|
---|
| 74 | IF $S<SDSTORE,SDQUERY'["^TMP" D
|
---|
| 75 | . S SDOLD=SDQUERY
|
---|
| 76 | . S SDQUERY=$NA(^TMP("SDQDATA",$J))
|
---|
| 77 | . K @SDQUERY
|
---|
| 78 | . M @SDQUERY=@SDOLD
|
---|
| 79 | . K @SDOLD
|
---|
| 80 | Q
|
---|
| 81 | ;
|
---|
| 82 | DESTROY(SDQ) ; -- query class level method for DESTROY
|
---|
| 83 | K ^TMP("SDQUERY CLASS",$J,SDQ)
|
---|
| 84 | IF '$O(@SDQUERY@(0)) D KILL K SDQUERY
|
---|
| 85 | Q 1
|
---|
| 86 | ;
|
---|
| 87 | KILL ; -- kill class and ien list globals
|
---|
| 88 | K ^TMP("SDQUERY CLASS",$J)
|
---|
| 89 | K ^TMP("SDQUERY LIST",$J)
|
---|
| 90 | K @SDQUERY
|
---|
| 91 | Q
|
---|
| 92 | ;
|
---|
| 93 | ;
|
---|
| 94 | PAT(SDQ,SDFN,SDACT,SDERR) ; -- SDQ PATIENT [API ID: 81]
|
---|
| 95 | D PREP^SDQUT
|
---|
| 96 | G PATG^SDOEQ
|
---|
| 97 | ;
|
---|
| 98 | GETPAT(SDQ,SDERR) ; -- get patient property [API ID: 1xx]
|
---|
| 99 | ; -- not supported
|
---|
| 100 | D PREP^SDQUT
|
---|
| 101 | N SDFN
|
---|
| 102 | D PAT^SDOEQ(.SDQ,.SDFN,"GET",$G(SDERR))
|
---|
| 103 | Q $G(SDFN)
|
---|
| 104 | ;
|
---|
| 105 | DATE(SDQ,SDBEG,SDEND,SDACT,SDERR) ; -- SDQ DATE RANGE [API ID: 82]
|
---|
| 106 | D PREP^SDQUT
|
---|
| 107 | G DATEG^SDQPROP
|
---|
| 108 | ;
|
---|
| 109 | GETDATE(SDQ,SDERR) ; -- get date range property [API ID: 1xx]
|
---|
| 110 | ; -- not supported
|
---|
| 111 | D PREP^SDQUT
|
---|
| 112 | N SDBEG,SDEND
|
---|
| 113 | D DATE^SDQPROP(.SDQ,.SDBEG,.SDEND,"GET",$G(SDERR))
|
---|
| 114 | Q $G(SDBEG)_"^"_$G(SDEND)
|
---|
| 115 | ;
|
---|
| 116 | FILTER(SDQ,SDFIL,SDACT,SDERR) ; -- SDQ FILTER [API ID: 83]
|
---|
| 117 | D PREP^SDQUT
|
---|
| 118 | G FILTERG^SDQPROP
|
---|
| 119 | ;
|
---|
| 120 | GETFIL(SDQ,SDERR) ; -- get filter property [API ID: 1xx]
|
---|
| 121 | ; -- not supported
|
---|
| 122 | D PREP^SDQUT
|
---|
| 123 | N SDFIL
|
---|
| 124 | D FILTER^SDQPROP(.SDQ,.SDFIL,"GET",$G(SDERR))
|
---|
| 125 | Q $G(SDFIL)
|
---|
| 126 | ;
|
---|
| 127 | VISIT(SDQ,SDVST,SDACT,SDERR) ; -- SDQ VISIT [API ID: 84]
|
---|
| 128 | D PREP^SDQUT
|
---|
| 129 | G VISITG^SDOEQ
|
---|
| 130 | ;
|
---|
| 131 | GETVISIT(SDQ,SDERR) ; -- get visit property [API ID: 1xx]
|
---|
| 132 | ; -- not supported
|
---|
| 133 | D PREP^SDQUT
|
---|
| 134 | N SDVST
|
---|
| 135 | D VISIT^SDOEQ(.SDQ,.SDVST,.SDACT,$G(SDERR))
|
---|
| 136 | Q $G(SDVST)
|
---|
| 137 | ;
|
---|
| 138 | INDEX(SDQ,SDIDX,SDACT,SDERR) ; -- SDQ INDEX NAME [API ID: 85]
|
---|
| 139 | D PREP^SDQUT
|
---|
| 140 | G INDEXG^SDQPROP
|
---|
| 141 | ;
|
---|
| 142 | GETINDEX(SDQ,SDERR) ; -- get index property [API ID: 1xx]
|
---|
| 143 | ; -- not supported
|
---|
| 144 | D PREP^SDQUT
|
---|
| 145 | N SDIDX
|
---|
| 146 | D INDEX^SDQPROP(.SDQ,.SDIDX,"GET",$G(SDERR))
|
---|
| 147 | Q $G(SDIDX)
|
---|
| 148 | ;
|
---|
| 149 | ACTIVE(SDQ,SDSTAT,SDACT,SDERR) ; -- SDQ ACTIVE STATUS [API ID: 88]
|
---|
| 150 | D PREP^SDQUT
|
---|
| 151 | G ACTIVEG^SDQPROP
|
---|
| 152 | ;
|
---|
| 153 | GETACT(SDQ,SDERR) ; -- activate query [API ID: 1xx]
|
---|
| 154 | ; -- not supported
|
---|
| 155 | D PREP^SDQUT
|
---|
| 156 | N SDSTAT
|
---|
| 157 | D ACTIVE^SDQPROP(.SDQ,.SDSTAT,.SDACT,$G(SDERR))
|
---|
| 158 | Q $G(SDSTAT)
|
---|
| 159 | ;
|
---|
| 160 | REFRESH(SDQ,SDERR) ; -- SDQ REFRESH [API ID: 94]
|
---|
| 161 | D PREP^SDQUT
|
---|
| 162 | G REFRESHG^SDQUT
|
---|
| 163 | ;
|
---|
| 164 | SCAN(SDQ,SDIR,SDERR) ; -- SDQ SCAN [API ID: 99]
|
---|
| 165 | D PREP^SDQUT
|
---|
| 166 | G SCANG^SDQNAV
|
---|
| 167 | ;
|
---|
| 168 | SCANCB(SDQ,SDCB,SDACT,SDERR) ; -- SDQ SCAN CALLBACK [API ID: 100]
|
---|
| 169 | D PREP^SDQUT
|
---|
| 170 | G SCANCBG^SDQNAV
|
---|
| 171 | ;
|
---|
| 172 | NEXT(SDQ,SDERR) ; -- SDQ NEXT [API ID: 92]
|
---|
| 173 | D PREP^SDQUT
|
---|
| 174 | G NEXTG^SDQNAV
|
---|
| 175 | ;
|
---|
| 176 | PRIOR(SDQ,SDERR) ; -- SDQ PRIOR [API ID: 93]
|
---|
| 177 | D PREP^SDQUT
|
---|
| 178 | G PRIORG^SDQNAV
|
---|
| 179 | ;
|
---|
| 180 | FIRST(SDQ,SDERR) ; -- SDQ FIRST [API ID: 90]
|
---|
| 181 | D PREP^SDQUT
|
---|
| 182 | G FIRSTG^SDQNAV
|
---|
| 183 | ;
|
---|
| 184 | LAST(SDQ,SDERR) ; -- SDQ LAST [API ID: 91]
|
---|
| 185 | D PREP^SDQUT
|
---|
| 186 | G LASTG^SDQNAV
|
---|
| 187 | ;
|
---|
| 188 | EOF(SDQ,SDERR) ; -- SDQ EOF [API ID: 86]
|
---|
| 189 | D PREP^SDQUT
|
---|
| 190 | Q $$EOF^SDQNAV(.SDQ,$G(SDERR))
|
---|
| 191 | ;
|
---|
| 192 | BOF(SDQ,SDERR) ; -- SDQ BOF [API ID: 87]
|
---|
| 193 | D PREP^SDQUT
|
---|
| 194 | Q $$BOF^SDQNAV(.SDQ,$G(SDERR))
|
---|
| 195 | ;
|
---|
| 196 | COUNT(SDQ,SDERR) ; -- SDQ COUNT [API ID: 89]
|
---|
| 197 | D PREP^SDQUT
|
---|
| 198 | Q $$COUNT^SDQNAV(.SDQ,$G(SDERR))
|
---|
| 199 | ;
|
---|
| 200 | GETENTRY(SDQ,SDERR) ; -- SDQ GET CURRENT ENTRY ID [API ID: 95]
|
---|
| 201 | D PREP^SDQUT
|
---|
| 202 | Q $$GETENTRY^SDQUT(.SDQ,$G(SDERR))
|
---|
| 203 | ;
|
---|