| 1 | PXRMETH ; SLC/PJH - Reminder Extract History ;10/11/2007
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;Main entry point for PXRM EXTRACT HISTORY
 | 
|---|
| 5 | START(EDIEN) ;
 | 
|---|
| 6 |  ;EDIEN is the extract definition IEN.
 | 
|---|
| 7 |  N VALMBCK,VALMCNT,VALMSG,X,XMZ,XQORM,XQORNOD
 | 
|---|
| 8 |  ;Details of last run
 | 
|---|
| 9 |  N DATA,NPERIOD,NSDATE,NTAS,PXRMVIEW
 | 
|---|
| 10 |  S DATA=$G(^PXRM(810.2,EDIEN,0))
 | 
|---|
| 11 |  S NPERIOD=$P(DATA,U,6),NSDATE=$P(DATA,U,7)
 | 
|---|
| 12 |  ;Default view is in date created order
 | 
|---|
| 13 |  S PXRMVIEW="D"
 | 
|---|
| 14 |  S X="IORESET"
 | 
|---|
| 15 |  D ENDR^%ZISS
 | 
|---|
| 16 |  S VALMCNT=0
 | 
|---|
| 17 |  D EN^VALM("PXRM EXTRACT HISTORY")
 | 
|---|
| 18 |  Q
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | DELETE ;Delete an extract, called by protocol PXRM EXTRACT SUMMARY DELETE.
 | 
|---|
| 21 |  N CLASS,IEN,IENLIST,IND
 | 
|---|
| 22 |  S IENLIST=$$LMSEL
 | 
|---|
| 23 |  F IND=1:1:$L(IENLIST,U) D
 | 
|---|
| 24 |  .S IEN=$P(IENLIST,U,IND)
 | 
|---|
| 25 |  .D DELETE^PXRMETXU(IEN)
 | 
|---|
| 26 |  ;Rebuild workfile
 | 
|---|
| 27 |  D BLDLIST^PXRMETH1(EDIEN)
 | 
|---|
| 28 |  ;Refresh
 | 
|---|
| 29 |  S VALMBCK="R"
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 | ENTRY ;Entry code
 | 
|---|
| 33 |  D BLDLIST^PXRMETH1(EDIEN),XQORM
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 | EXIT ;Exit code
 | 
|---|
| 37 |  K ^TMP("PXRMETH",$J)
 | 
|---|
| 38 |  K ^TMP("PXRMETHH",$J)
 | 
|---|
| 39 |  D CLEAN^VALM10
 | 
|---|
| 40 |  D FULL^VALM1
 | 
|---|
| 41 |  S VALMBCK="Q"
 | 
|---|
| 42 |  Q
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 | EXTRACT(EDIEN) ;Run Extract/Transmission
 | 
|---|
| 45 |  ;Reset screen mode
 | 
|---|
| 46 |  W IORESET
 | 
|---|
| 47 |  ;Refresh on exit
 | 
|---|
| 48 |  S VALMBCK="R"
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  ;Get details from parameter file
 | 
|---|
| 51 |  N ANS,DATA,DUOUT,DTOUT,EDATE,EXSUMPUG,FREQ,MODE
 | 
|---|
| 52 |  N NAME,NAT,NEXT,PLISTPUG,RTN,REPL,STATUS,SNEXT,TEXT,XMIT
 | 
|---|
| 53 |  S DATA=$G(^PXRM(810.2,EDIEN,0))
 | 
|---|
| 54 |  S NAT=$P($G(^PXRM(810.2,EDIEN,100)),U)
 | 
|---|
| 55 |  ;Determine Extract Name and Frequency
 | 
|---|
| 56 |  S NAME=$P(DATA,U),FREQ=$P(DATA,U,3),NEXT=$P(DATA,U,6),RTN="PXRMETX"
 | 
|---|
| 57 |  ;Save next scheduled extract
 | 
|---|
| 58 |  S SNEXT=NEXT
 | 
|---|
| 59 |  ;Select extract period
 | 
|---|
| 60 | EXSEL D SELECT(FREQ,.NEXT) Q:$D(DUOUT)!$D(DTOUT)
 | 
|---|
| 61 |  ;Warn if period is still open
 | 
|---|
| 62 |  D WARN(NEXT,.STATUS)
 | 
|---|
| 63 |  ;Option to continue
 | 
|---|
| 64 |  S TEXT="Are you sure you want to run a "_NAME_" extract for "_$TR(NEXT,"/"," ")
 | 
|---|
| 65 | SURE ;
 | 
|---|
| 66 |  S ANS=$$ASKYN^PXRMEUT("N",TEXT,RTN,1) Q:$D(DUOUT)!$D(DTOUT)  Q:'ANS
 | 
|---|
| 67 |  ;Purge options
 | 
|---|
| 68 | PLIST ;
 | 
|---|
| 69 |  S PLISTPUG="N" D ASK^PXRMXD(.PLISTPUG,"Purge Patient List after 5 years?: ",5)
 | 
|---|
| 70 |  G:$D(DUOUT) SURE Q:$D(DTOUT)
 | 
|---|
| 71 |  S EXSUMPUG="N" D ASK^PXRMXD(.EXSUMPUG,"Purge Extract Summary after 5 years?: ",5)
 | 
|---|
| 72 |  G:$D(DUOUT) PLIST Q:$D(DTOUT)
 | 
|---|
| 73 |  ;Option to transmit
 | 
|---|
| 74 |  S TEXT="Transmit extract results to AAC"
 | 
|---|
| 75 |  I NAT="N" S XMIT=$$ASKYN^PXRMEUT("N",TEXT,RTN,3) Q:$D(DUOUT)!$D(DTOUT)
 | 
|---|
| 76 |  E  S XMIT=0
 | 
|---|
| 77 |  ;Option to replace scheduled run
 | 
|---|
| 78 |  S REPL=0
 | 
|---|
| 79 |  I XMIT,SNEXT=NEXT,STATUS="COMPLETE" D  Q:$D(DUOUT)!$D(DTOUT)
 | 
|---|
| 80 |  .S TEXT="Does this extract replace the scheduled extract"
 | 
|---|
| 81 |  .S REPL=$$ASKYN^PXRMEUT("N",TEXT,RTN,4) Q:$D(DUOUT)!$D(DTOUT)
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 |  ;Note that the manual extract does not update 810.2
 | 
|---|
| 84 |  ;exept if the selected period is the same as the scheduled
 | 
|---|
| 85 |  ;period AND this period is complete
 | 
|---|
| 86 |  ;
 | 
|---|
| 87 |  ;Default is to extract and transmit and not update 810.2
 | 
|---|
| 88 |  S MODE=2 I 'XMIT S MODE=3
 | 
|---|
| 89 |  ;Update 810.2 if this extract is for current completed period
 | 
|---|
| 90 |  I REPL S MODE=0 I 'XMIT S MODE=1
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 |  ;Extract/transmission run
 | 
|---|
| 93 |  N ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
 | 
|---|
| 94 |  S ZTDESC="Reminder Extract "_NAME
 | 
|---|
| 95 |  S ZTRTN="RUN^PXRMETX(EDIEN,NEXT,MODE,EXSUMPUG)"
 | 
|---|
| 96 |  S ZTSAVE("EDIEN")=""
 | 
|---|
| 97 |  S ZTSAVE("MODE")=""
 | 
|---|
| 98 |  S ZTSAVE("NEXT")=""
 | 
|---|
| 99 |  S ZTSAVE("PLISTPUG")=""
 | 
|---|
| 100 |  S ZTSAVE("EXSUMPUG")=""
 | 
|---|
| 101 |  S ZTIO=""
 | 
|---|
| 102 |  ;
 | 
|---|
| 103 |  ;Select and verify start date/time for task
 | 
|---|
| 104 |  N DIR,DTOUT,DUOUT,MINDT,SDTIME,STIME,X,Y
 | 
|---|
| 105 |  S MINDT=$$NOW^XLFDT
 | 
|---|
| 106 |  W !,"Queue a "_ZTDESC_" for "_NEXT
 | 
|---|
| 107 |  S DIR("A",1)="Enter the date and time you want the job to start."
 | 
|---|
| 108 |  S DIR("A",2)="It must be after "_$$FMTE^XLFDT(MINDT,"5Z")
 | 
|---|
| 109 |  S DIR("A")="Start the task at: "
 | 
|---|
| 110 |  S DIR(0)="DAU"_U_MINDT_"::RSX"
 | 
|---|
| 111 |  D ^DIR
 | 
|---|
| 112 |  I $D(DTOUT)!$D(DUOUT) Q
 | 
|---|
| 113 |  S SDTIME=Y
 | 
|---|
| 114 |  ;
 | 
|---|
| 115 |  ;Put the task into the queue.
 | 
|---|
| 116 |  S ZTDTH=SDTIME
 | 
|---|
| 117 |  D ^%ZTLOAD
 | 
|---|
| 118 |  W !,"Task number ",ZTSK," queued." H 2
 | 
|---|
| 119 |  S VALMBCK="Q"
 | 
|---|
| 120 |  Q
 | 
|---|
| 121 |  ;
 | 
|---|
| 122 | HDR ; Header code
 | 
|---|
| 123 |  N VIEW
 | 
|---|
| 124 |  S VIEW=$S(PXRMVIEW="D":"Creation Date Order",1:"Extract Period Order")
 | 
|---|
| 125 |  S VALMHDR(2)="          Extract Name: "_$P($G(^PXRM(810.2,EDIEN,0)),U)
 | 
|---|
| 126 |  S VALMHDR(3)="   Next Extract Period: "_NPERIOD
 | 
|---|
| 127 |  S VALMHDR(4)="      Scheduled to Run: "_$$FMTE^XLFDT(NSDATE,"5Z")
 | 
|---|
| 128 |  S VALMHDR(4)=$$LJ^XLFSTR(VALMHDR(4),45)_"    View: "_VIEW
 | 
|---|
| 129 |  S VALMSG="+ Next Screen   - Prev Screen   ?? More Actions"
 | 
|---|
| 130 |  Q
 | 
|---|
| 131 |  ;
 | 
|---|
| 132 | HLP ;Help code
 | 
|---|
| 133 |  N ORU,ORUPRMT,SUB,XQORM
 | 
|---|
| 134 |  S SUB="PXRMETHH"
 | 
|---|
| 135 |  D EN^VALM("PXRM EXTRACT HELP")
 | 
|---|
| 136 |  Q
 | 
|---|
| 137 |  ;
 | 
|---|
| 138 | INIT ;Init
 | 
|---|
| 139 |  S VALMCNT=0
 | 
|---|
| 140 |  Q
 | 
|---|
| 141 |  ;
 | 
|---|
| 142 | LMSEL() ;Return selection list
 | 
|---|
| 143 |  N IENLIST,IND,VALMY,XIEN
 | 
|---|
| 144 |  D EN^VALM2(XQORNOD(0))
 | 
|---|
| 145 |  ;If there is no list quit.
 | 
|---|
| 146 |  I '$D(VALMY) Q ""
 | 
|---|
| 147 |  S PXRMDONE=0,IENLIST=""
 | 
|---|
| 148 |  S IND=""
 | 
|---|
| 149 |  F  S IND=$O(VALMY(IND)) Q:(+IND=0)!(PXRMDONE)  D
 | 
|---|
| 150 |  .;Get the ien.
 | 
|---|
| 151 |  .S XIEN=^TMP("PXRMETH",$J,"SEL",IND)
 | 
|---|
| 152 |  .S IENLIST=$S(IENLIST'="":IENLIST_U_XIEN,1:XIEN)
 | 
|---|
| 153 |  Q IENLIST
 | 
|---|
| 154 |  ;
 | 
|---|
| 155 | PEXIT ;PXRM EXCH MENU protocol exit code
 | 
|---|
| 156 |  S VALMSG="+ Next Screen   - Prev Screen   ?? More Actions"
 | 
|---|
| 157 |  D XQORM
 | 
|---|
| 158 |  Q
 | 
|---|
| 159 |  ;
 | 
|---|
| 160 | SELECT(FREQ,SEL) ;Select extract period
 | 
|---|
| 161 |  N BDATE,EDATE,DA,DIE,DIK,DIR,DR,FDATE,VALID,X
 | 
|---|
| 162 |  ;Get the new name.
 | 
|---|
| 163 |  F  D  Q:$D(DTOUT)!$D(DUOUT)  Q:SEL]""
 | 
|---|
| 164 |  .S DIR("A")="Select EXTRACT PERIOD "
 | 
|---|
| 165 |  .I FREQ="M" D
 | 
|---|
| 166 |  ..S DIR("A")=DIR("A")_"(Mnn/yyyy)"
 | 
|---|
| 167 |  ..S DIR(0)="F"_U_"7:8"_U_"K:'$$VALID^PXRMETH(FREQ,X) X"
 | 
|---|
| 168 |  .I FREQ="Q" D
 | 
|---|
| 169 |  ..S DIR("A")=DIR("A")_"(Qnn/yyyy)"
 | 
|---|
| 170 |  ..S DIR(0)="F"_U_"7:7"_U_"K:'$$VALID^PXRMETH(FREQ,X) X"
 | 
|---|
| 171 |  .I FREQ="Y" D
 | 
|---|
| 172 |  ..S DIR("A")=DIR("A")_"(yyyy)"
 | 
|---|
| 173 |  ..S DIR(0)="N"_U_"2000:2050"_U_"K:(X'?4N) X"
 | 
|---|
| 174 |  .;Default is next period
 | 
|---|
| 175 |  .S DIR("B")=NEXT
 | 
|---|
| 176 |  .W ! D ^DIR Q:$D(DTOUT)!$D(DUOUT)
 | 
|---|
| 177 |  .;Calculate beginning and end dates for period
 | 
|---|
| 178 |  .S Y=$$UP^XLFSTR(Y) D CALC^PXRMEUT(Y,.BDATE,.EDATE)
 | 
|---|
| 179 |  .;Abort if period has not started
 | 
|---|
| 180 |  .I $$FMDIFF^XLFDT(BDATE,$$NOW^XLFDT)>0 D   Q
 | 
|---|
| 181 |  ..S FDATE=$$FMTE^XLFDT(BDATE,5)
 | 
|---|
| 182 |  ..W !,"ERROR -This period does not start until "_FDATE,*7
 | 
|---|
| 183 |  .S SEL=Y
 | 
|---|
| 184 |  Q
 | 
|---|
| 185 |  ;
 | 
|---|
| 186 | TLIST ;Extract summary display
 | 
|---|
| 187 |  N IEN,IENLIST,IND
 | 
|---|
| 188 |  S IENLIST=$$LMSEL
 | 
|---|
| 189 |  F IND=1:1:$L(IENLIST,U) D
 | 
|---|
| 190 |  .S IEN=$P(IENLIST,U,IND)
 | 
|---|
| 191 |  .D START^PXRMETT(IEN)
 | 
|---|
| 192 |  .S VALMBCK="R"
 | 
|---|
| 193 |  S VALMBCK="R"
 | 
|---|
| 194 |  Q
 | 
|---|
| 195 |  ;
 | 
|---|
| 196 | TRANS ;Run Transmission
 | 
|---|
| 197 |  N IEN,IENLIST,IND
 | 
|---|
| 198 |  S IENLIST=$$LMSEL
 | 
|---|
| 199 |  F IND=1:1:$L(IENLIST,U) D
 | 
|---|
| 200 |  .S IEN=$P(IENLIST,U,IND)
 | 
|---|
| 201 |  .I $P($G(^PXRMXT(810.3,IEN,100)),U)'="N" D  Q
 | 
|---|
| 202 |  ..W !,"Local extracts cannot be transmitted to AAC." H 2
 | 
|---|
| 203 |  .;Transmit extract summary
 | 
|---|
| 204 |  .N ANS,DUOUT,DTOUT,RTN,TEXT
 | 
|---|
| 205 |  .S TEXT="Transmit this extract to AAC",ANS="",RTN="PXRMETH"
 | 
|---|
| 206 |  .S ANS=$$ASKYN^PXRMEUT("N",TEXT,RTN,3) Q:$D(DUOUT)!$D(DTOUT)
 | 
|---|
| 207 |  .I ANS D TRANS^PXRMETX(IEN)
 | 
|---|
| 208 |  ;
 | 
|---|
| 209 |  ;Rebuild workfile
 | 
|---|
| 210 |  D BLDLIST^PXRMETH1(EDIEN)
 | 
|---|
| 211 |  ;Refresh
 | 
|---|
| 212 |  S VALMBCK="R"
 | 
|---|
| 213 |  Q
 | 
|---|
| 214 |  ;
 | 
|---|
| 215 | TRHIST ;Transmission History
 | 
|---|
| 216 |  N IEN,IENLIST,IND
 | 
|---|
| 217 |  S IENLIST=$$LMSEL
 | 
|---|
| 218 |  F IND=1:1:$L(IENLIST,U) D
 | 
|---|
| 219 |  .S IEN=$P(IENLIST,U,IND)
 | 
|---|
| 220 |  .D START^PXRMETHL(IEN)
 | 
|---|
| 221 |  S VALMBCK="R"
 | 
|---|
| 222 |  Q
 | 
|---|
| 223 |  ;
 | 
|---|
| 224 | VALID(FREQ,INP) ;Validate Period input
 | 
|---|
| 225 |  W !
 | 
|---|
| 226 |  N PERIOD,YEAR
 | 
|---|
| 227 |  ;Convert to upper case
 | 
|---|
| 228 |  S INP=$$UP^XLFSTR(INP)
 | 
|---|
| 229 |  ;General format
 | 
|---|
| 230 |  I $E(INP)'=FREQ D EN^DDIOL("Format should be "_FREQ_"nn/yyyy") Q 0
 | 
|---|
| 231 |  S PERIOD=$P(INP,"/"),YEAR=$P(INP,"/",2)
 | 
|---|
| 232 |  S PERIOD=$P(PERIOD,FREQ,2)
 | 
|---|
| 233 |  ;All runs
 | 
|---|
| 234 |  I (YEAR<2000)!(YEAR>2050) D EN^DDIOL("Year should be in range 2000-2050") Q 0
 | 
|---|
| 235 |  ;Quarterly run
 | 
|---|
| 236 |  I FREQ="Q",(PERIOD>4)!(PERIOD<1) D EN^DDIOL("Quarter should be in range 1-4") Q 0
 | 
|---|
| 237 |  ;Monthly run
 | 
|---|
| 238 |  I FREQ="M",(PERIOD>12)!(PERIOD<1) D EN^DDIOL("Month should be in range 1-12") Q 0
 | 
|---|
| 239 |  ;Otherwise
 | 
|---|
| 240 |  Q 1
 | 
|---|
| 241 |  ;
 | 
|---|
| 242 | VIEW ;Select view
 | 
|---|
| 243 |  W IORESET
 | 
|---|
| 244 |  S VALMBCK="R"
 | 
|---|
| 245 |  N X,Y,CODE,DIR
 | 
|---|
| 246 |  K DIROUT,DIRUT,DTOUT,DUOUT
 | 
|---|
| 247 |  S DIR(0)="S"_U_"D:Sort by Creation Date;"
 | 
|---|
| 248 |  S DIR(0)=DIR(0)_"P:Sort by Extract Period;"
 | 
|---|
| 249 |  S DIR("A")="TYPE OF VIEW"
 | 
|---|
| 250 |  S DIR("B")=$S(PXRMVIEW="P":"D",1:"P")
 | 
|---|
| 251 |  S DIR("?")="Select from the codes displayed. For detailed help type ??"
 | 
|---|
| 252 |  ;BOOKMARK - HELP NEEDS MOVING
 | 
|---|
| 253 |  S DIR("??")=U_"D HELP^PXRMSEL2(3)"
 | 
|---|
| 254 |  D ^DIR K DIR
 | 
|---|
| 255 |  I $D(DIROUT) S DTOUT=1
 | 
|---|
| 256 |  I $D(DTOUT)!($D(DUOUT)) Q
 | 
|---|
| 257 |  ;Change display type
 | 
|---|
| 258 |  S PXRMVIEW=Y
 | 
|---|
| 259 |  ;
 | 
|---|
| 260 |  ;Rebuild Workfile
 | 
|---|
| 261 |  D BLDLIST^PXRMETH1(EDIEN),HDR
 | 
|---|
| 262 |  Q
 | 
|---|
| 263 |  ;
 | 
|---|
| 264 | WARN(NEXT,STATUS) ;Warn if period is not completed
 | 
|---|
| 265 |  N BDATE,EDATE,FDATE
 | 
|---|
| 266 |  ;Calculate beginning and end dates for period
 | 
|---|
| 267 |  D CALC^PXRMEUT(NEXT,.BDATE,.EDATE)
 | 
|---|
| 268 |  ;No warning if period end date is a prior date
 | 
|---|
| 269 |  I $$FMDIFF^XLFDT($$NOW^XLFDT,EDATE)>0 S STATUS="COMPLETE" Q
 | 
|---|
| 270 |  ;Else Format date
 | 
|---|
| 271 |  S FDATE=$$FMTE^XLFDT(EDATE,5),STATUS="INCOMPLETE"
 | 
|---|
| 272 |  ;And Warn that period end date is a future date
 | 
|---|
| 273 |  W !!,"WARNING -This period is not complete until "_FDATE
 | 
|---|
| 274 |  Q
 | 
|---|
| 275 | XQORM S XQORM("#")=$O(^ORD(101,"B","PXRM EXTRACT HISTORY SELECT ENTRY",0))_U_"1:"_VALMCNT
 | 
|---|
| 276 |  S XQORM("A")="Select Item: "
 | 
|---|
| 277 |  Q
 | 
|---|
| 278 |  ;
 | 
|---|
| 279 | XSEL ;PXRM EXTRACT HISTORY SELECT ENTRY validation
 | 
|---|
| 280 |  N SEL,PXRMSIEN
 | 
|---|
| 281 |  S SEL=$P(XQORNOD(0),"=",2)
 | 
|---|
| 282 |  ;Remove trailing ,
 | 
|---|
| 283 |  I $E(SEL,$L(SEL))="," S SEL=$E(SEL,1,$L(SEL)-1)
 | 
|---|
| 284 |  ;Invalid selection
 | 
|---|
| 285 |  I SEL["," D  Q
 | 
|---|
| 286 |  .W $C(7),!,"Only one item number allowed." H 2
 | 
|---|
| 287 |  .S VALMBCK="R"
 | 
|---|
| 288 |  I ('SEL)!(SEL>VALMCNT)!('$D(@VALMAR@("SEL",SEL))) D  Q
 | 
|---|
| 289 |  .W $C(7),!,SEL_" is not a valid item number." H 2
 | 
|---|
| 290 |  .S VALMBCK="R"
 | 
|---|
| 291 |  ;
 | 
|---|
| 292 |  ;Get the list ien.
 | 
|---|
| 293 |  ;S PXRMSIEN=^TMP("PXRMETH",$J,"IDX",SEL,SEL)
 | 
|---|
| 294 |  S PXRMSIEN=^TMP("PXRMETH",$J,"SEL",SEL)
 | 
|---|
| 295 |  ;
 | 
|---|
| 296 |  ;Full screen mode
 | 
|---|
| 297 |  D FULL^VALM1
 | 
|---|
| 298 |  ;
 | 
|---|
| 299 |  ;Options
 | 
|---|
| 300 |  N X,Y,DIR,OPTION K DIROUT,DIRUT,DTOUT,DUOUT
 | 
|---|
| 301 |  S DIR(0)="SBM"_U_"DE:Delete Extract;"
 | 
|---|
| 302 |  S DIR(0)=DIR(0)_"ES:Extract Summary;"
 | 
|---|
| 303 |  S DIR(0)=DIR(0)_"MT:Manual Transmission;"
 | 
|---|
| 304 |  S DIR(0)=DIR(0)_"TH:Transmission History;"
 | 
|---|
| 305 |  S DIR("A")="Select Action"
 | 
|---|
| 306 |  S DIR("B")="ES"
 | 
|---|
| 307 |  S DIR("?")="Select from the codes displayed. For detailed help type ??"
 | 
|---|
| 308 |  S DIR("??")=U_"D HELP^PXRMETH1(1)"
 | 
|---|
| 309 |  D ^DIR K DIR
 | 
|---|
| 310 |  I $D(DIROUT) S DTOUT=1
 | 
|---|
| 311 |  I $D(DTOUT)!($D(DUOUT)) S VALMBCK="R" Q
 | 
|---|
| 312 |  S OPTION=Y
 | 
|---|
| 313 |  ;
 | 
|---|
| 314 |  ;Delete an extract
 | 
|---|
| 315 |  I OPTION="DE" D
 | 
|---|
| 316 |  .D DELETE^PXRMETXU(PXRMSIEN)
 | 
|---|
| 317 |  .;Rebuild workfile
 | 
|---|
| 318 |  .D BLDLIST^PXRMETH1(PXRMSIEN)
 | 
|---|
| 319 |  .;Refresh
 | 
|---|
| 320 |  .S VALMBCK="R"
 | 
|---|
| 321 |  ;
 | 
|---|
| 322 |  ;Display Extract Summary
 | 
|---|
| 323 |  I OPTION="ES" D START^PXRMETT(PXRMSIEN)
 | 
|---|
| 324 |  ;
 | 
|---|
| 325 |  ;Transmission option
 | 
|---|
| 326 |  I OPTION="MT" D
 | 
|---|
| 327 |  .N ANS,DUOUT,DTOUT,RTN,TEXT
 | 
|---|
| 328 |  .I $P($G(^PXRMXT(810.3,PXRMSIEN,100)),U)'="N" D  Q
 | 
|---|
| 329 |  ..W !,"Local extracts cannot be transmitted to AAC" H 2 Q
 | 
|---|
| 330 |  .S TEXT="Transmit this extract to AAC",ANS="",RTN="PXRMETH"
 | 
|---|
| 331 |  .S ANS=$$ASKYN^PXRMEUT("N",TEXT,RTN,3) Q:$D(DUOUT)!$D(DTOUT)
 | 
|---|
| 332 |  .I ANS D TRANS^PXRMETX(PXRMSIEN)
 | 
|---|
| 333 |  ;
 | 
|---|
| 334 |  ;Transmission History
 | 
|---|
| 335 |  I OPTION="TH" D START^PXRMETHL(PXRMSIEN)
 | 
|---|
| 336 |  ;
 | 
|---|
| 337 |  S VALMBCK="R"
 | 
|---|
| 338 |  Q
 | 
|---|
| 339 |  ;
 | 
|---|