| 1 | SCCVE ;ALB/RMO,TMP - Encounter Conversion Driver; [ 04/05/95  8:19 AM ]
 | 
|---|
| 2 |  ;;5.3;Scheduling;**211**;Aug 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | QUE(SCLOG,SCREQ) ;Schedule encounter conversion via task manager
 | 
|---|
| 5 |  ; Input  -- SCLOG    CST log IEN
 | 
|---|
| 6 |  ;           SCREQ    CST request IEN
 | 
|---|
| 7 |  ; Output -- None
 | 
|---|
| 8 |  N I,SCERRMSG,SCREQ0,SCREQD,Y,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE,ZTSK
 | 
|---|
| 9 |  S SCREQ0=$G(^SD(404.98,SCLOG,"R",SCREQ,0))
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  ; -- quit if convert or reconvert & conversion disabled
 | 
|---|
| 12 |  IF $P(SCREQ0,U,3)=1!($P(SCREQ0,U,3)=2),'$$OK^SCCVU(1) G QUEQ
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  I SCREQ0="" D  G QUEQ
 | 
|---|
| 15 |  . N SCERRIP
 | 
|---|
| 16 |  . S SCERRIP(1)=SCLOG
 | 
|---|
| 17 |  . S SCERRIP(2)=SCREQ
 | 
|---|
| 18 |  . S SCERRIP(3)="Conversion"
 | 
|---|
| 19 |  . D GETERR^SCCVLOG1(4049004.001,"",.SCERRIP,SCLOG,0,.SCERRMSG)
 | 
|---|
| 20 |  S SCREQD=$$LOW^XLFSTR($$EXPAND^SCCVDSP2(404.9825,.02,$P(SCREQ0,U,2)))
 | 
|---|
| 21 |  S ZTDESC="CST Log #"_SCLOG_" - "_SCREQD_" ("_$$LOW^XLFSTR($$EXPAND^SCCVDSP2(404.9825,.03,$P(SCREQ0,U,3)))_")"
 | 
|---|
| 22 |  S ZTRTN="EN^SCCVE"
 | 
|---|
| 23 |  F I="SCLOG","SCREQ" S ZTSAVE(I)=""
 | 
|---|
| 24 |  S ZTIO="SCCV RESOURCE"
 | 
|---|
| 25 |  S ZTDTH=$S($P(SCREQ0,U,4):$P(SCREQ0,U,4),1:$$NOW^XLFDT)
 | 
|---|
| 26 |  D ^%ZTLOAD
 | 
|---|
| 27 |  I $D(ZTSK) D
 | 
|---|
| 28 |  . W "  (Task: #",ZTSK,")"
 | 
|---|
| 29 |  . D UPD^SCCVLOG("CST",SCLOG,"","","",ZTSK,$G(^%ZOSF("VOL")),6)
 | 
|---|
| 30 | QUEQ Q
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 | EN ;Entry point to run encounter estimate/conversion
 | 
|---|
| 33 |  ; Input  -- SCLOG    CST log IEN
 | 
|---|
| 34 |  ;           SCREQ    CST request IEN
 | 
|---|
| 35 |  ; Output -- None
 | 
|---|
| 36 |  N SCACT,SCCVEVT,SCEND,SCERRMSG,SCRSTDT,SCRSTPT,SCSTDT,SCSTOPF,SCBULL,SCTOT,SCRSTDFN,SCCVERRH,SCCVERRT,SCCVDIS,SCCVACRP,SCCV900,ZZLOG,SCCVMAXE
 | 
|---|
| 37 |  I '$G(SCLOG)!('$G(SCREQ))!('$G(DUZ)) D  G ENQ ;req vars missing
 | 
|---|
| 38 |  . N SCERRIP
 | 
|---|
| 39 |  . S SCERRIP(1)=$S('$G(SCLOG):"SCLOG",'$G(SCREQ):"SCREQ",1:"DUZ")
 | 
|---|
| 40 |  . S SCERRIP(2)="EN^SCCVE"
 | 
|---|
| 41 |  . D GETERR^SCCVLOG1(4040001.001,"",.SCERRIP,$G(SCLOG),0,.SCERRMSG)
 | 
|---|
| 42 |  . I $G(SCLOG),$G(SCREQ) D STOP^SCCVLOG(SCLOG,SCREQ,1)
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 |  ; -- set overall variables
 | 
|---|
| 45 |  S SCCVACRP=$$ENDDATE^SCCVU()
 | 
|---|
| 46 |  S SCCV900=+$O(^DIC(40.7,"C",900,0))
 | 
|---|
| 47 |  S SCCVMAXE=$S($P($G(^SD(404.91,1,"CNV")),U,7):$P(^("CNV"),U,7),1:1000)-1
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 |  D SET(SCLOG,SCREQ,.SCACT,.SCCVEVT,.SCSTDT,.SCENDT,.SCRSTPT,.SCRSTDT,.SCBULL,.SCRSTDFN)
 | 
|---|
| 50 |  ;
 | 
|---|
| 51 |  ; -- quit if convert or reconvert & conversion disabled
 | 
|---|
| 52 |  IF SCCVEVT=1!(SCCVEVT=2),'$$OK^SCCVU(0) G ENQ
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  ;Log event
 | 
|---|
| 55 |  D UPD^SCCVLOG("CST",SCLOG,"","","","","",SCACT)
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 |  I $G(SCCVEVT)=1,$$CHKACT^SCCVLOG(SCLOG,SCCVEVT,5,"CST") D  G ENQ ;converted
 | 
|---|
| 58 |  . D GETERR^SCCVLOG1(4049001.008,"","",SCLOG,0,.SCERRMSG)
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  I "^2^4^"'[(U_SCACT_U) D  G ENQ ;start or re-start
 | 
|---|
| 61 |  . D GETERR^SCCVLOG1(4049006.001,"","",SCLOG,0,.SCERRMSG)
 | 
|---|
| 62 |  . D STOP^SCCVLOG(SCLOG,SCREQ,1)
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 |  I '$G(SCSTDT)!('$G(SCENDT)) D  G ENQ ;start date or end date undefined
 | 
|---|
| 65 |  . D GETERR^SCCVLOG1(4049001.003,"","",SCLOG,0,.SCERRMSG)
 | 
|---|
| 66 |  . D STOP^SCCVLOG(SCLOG,SCREQ,1)
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 |  I $G(SCCVEVT)="" D  G ENQ ;event undefined
 | 
|---|
| 69 |  . D GETERR^SCCVLOG1(4049001.009,"","",SCLOG,0,.SCERRMSG)
 | 
|---|
| 70 |  . D STOP^SCCVLOG(SCLOG,SCREQ,1)
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 |  I $$VERDT^SCCVU2(SCSTDT,SCENDT,SCLOG) D  G ENQ ;invalid date range
 | 
|---|
| 73 |  . D STOP^SCCVLOG(SCLOG,SCREQ,1)
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 |  S (SCCVERRH,SCCVERRT)=+$P($G(^SD(404.98,SCLOG,1)),U,5)
 | 
|---|
| 76 |  I SCCVEVT S SCTOT(1.02)=$P($G(^SD(404.98,SCLOG,1)),U,2),SCTOT(2.06)=$P($G(^(2)),U,6)
 | 
|---|
| 77 |  I 'SCCVEVT K ^XTMP("SCCV-VIS-"_SCLOG),^XTMP("SCCV-BOTH-"_SCLOG)
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 |  ;Convert appointments
 | 
|---|
| 80 |  I $G(SCRSTPT)<2 D EN^SCCVEAP(SCCVEVT,SCSTDT,SCENDT,SCLOG,SCREQ,+$G(SCRSTDFN),.SCSTOPF) G ENQ:$G(SCSTOPF) I $G(SCRSTPT) S (SCRSTDT,SCRSTDFN)=""
 | 
|---|
| 81 |  ;
 | 
|---|
| 82 |  ;Convert disposition
 | 
|---|
| 83 |  I $S('$G(SCRSTPT):1,1:SCRSTPT'=2) D EN^SCCVEDI(SCCVEVT,$S($G(SCRSTDT):SCRSTDT,1:SCSTDT),SCENDT,SCLOG,SCREQ,.SCSTOPF) G ENQ:$G(SCSTOPF) I $G(SCRSTPT) S (SCRSTDT,SCRSTDFN)=""
 | 
|---|
| 84 |  ;
 | 
|---|
| 85 |  ;Convert add/edits
 | 
|---|
| 86 |  D EN^SCCVEAE(SCCVEVT,$S($G(SCRSTDT):SCRSTDT,1:SCSTDT),SCENDT,SCLOG,SCREQ,.SCSTOPF) G ENQ:$G(SCSTOPF)
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 |  ;Log completion
 | 
|---|
| 89 |  D UPD^SCCVLOG("CST",SCLOG,"","","","@","@",5)
 | 
|---|
| 90 |  ;
 | 
|---|
| 91 | ENQ Q
 | 
|---|
| 92 |  ;
 | 
|---|
| 93 | SET(SCLOG,SCREQ,SCACT,SCCVEVT,SCSTDT,SCENDT,SCRSTPT,SCRSTDT,SCBULL,SCRSTDFN) ;
 | 
|---|
| 94 |  ; Set variables
 | 
|---|
| 95 |  ; Input  -- SCLOG    CST log IEN
 | 
|---|
| 96 |  ;           SCREQ    CST request IEN
 | 
|---|
| 97 |  ; Output -- SCACT    Action
 | 
|---|
| 98 |  ;           SCCVEVT  Conversion event
 | 
|---|
| 99 |  ;           SCSTDT   Start date
 | 
|---|
| 100 |  ;           SCENDT   End date
 | 
|---|
| 101 |  ;           SCRSTPT  Conversion re-start point (1=appt, 2=a/e, 3=disp)
 | 
|---|
| 102 |  ;           SCRSTDT  Re-start date
 | 
|---|
| 103 |  ;           SCBULL   Send bulletin flag
 | 
|---|
| 104 |  ;           SCRSTDFN  Re-start dfn
 | 
|---|
| 105 |  N SCLOG0,SCLOG1,SCOE,SCOE0,SCREQACT
 | 
|---|
| 106 |  S SCLOG0=$G(^SD(404.98,SCLOG,0)),SCLOG1=$G(^(1))
 | 
|---|
| 107 |  S SCREQACT=$P($G(^SD(404.98,SCLOG,"R",SCREQ,0)),U,2)
 | 
|---|
| 108 |  S SCACT=$S(SCREQACT=1:2,SCREQACT=3:4,1:"") ;action based on request
 | 
|---|
| 109 |  S SCCVEVT=$P(SCLOG0,U,5)
 | 
|---|
| 110 |  S SCSTDT=$P(SCLOG0,U,3)
 | 
|---|
| 111 |  S SCENDT=$P(SCLOG0,U,4)
 | 
|---|
| 112 |  S SCBULL=$P(SCLOG0,U,6)
 | 
|---|
| 113 |  ;
 | 
|---|
| 114 |  I +SCLOG1,SCCVEVT,SCACT=4 D  ;Only for re-start of conversion
 | 
|---|
| 115 |  . S SCOE=+SCLOG1 ;last entry
 | 
|---|
| 116 |  . I $P($G(^SCE(SCOE,0)),U,6) S SCOE=+$P(^(0),U,6) ;re-start at parent
 | 
|---|
| 117 |  . S SCOE0=$G(^SCE(SCOE,0))
 | 
|---|
| 118 |  . S SCRSTPT=+$P(SCOE0,U,8),SCRSTDT=$P(+SCOE0,"."),SCRSTDFN=$P(SCOE0,U,2) ;set re-start point
 | 
|---|
| 119 |  ;
 | 
|---|
| 120 |  I 'SCCVEVT D  ;Estimate must start counting over from beginning
 | 
|---|
| 121 |  .N Z,SC2,SCDATA,SCF
 | 
|---|
| 122 |  .S SC2=$G(^SD(404.98,SCLOG,2))
 | 
|---|
| 123 |  .F Z=1:1:11 I $P(SC2,U,Z) S SCF="2."_$S(Z<10:"0",1:"")_Z,SCDATA(+SCF)=0
 | 
|---|
| 124 |  .I $D(SCDATA) D UPD^SCCVDBU(404.98,SCLOG,.SCDATA) ;Re-set totals to 0
 | 
|---|
| 125 |  ;
 | 
|---|
| 126 |  I SCCVEVT=2,SCACT'=4 D  ;'Start' of re-convert deletes errors and resets counts to 0
 | 
|---|
| 127 |  . N SCDATA
 | 
|---|
| 128 |  . S SCDATA(1.05)=0,SCDATA(50)="@",SCDATA(2.06)=0,SCDATA(1.02)=0
 | 
|---|
| 129 |  . D UPD^SCCVDBU(404.98,SCLOG,.SCDATA)
 | 
|---|
| 130 |  Q
 | 
|---|
| 131 |  ;
 | 
|---|
| 132 | STOP(SCLOG,SCREQ) ;User request to stop conversion
 | 
|---|
| 133 |  ; Input  -- SCLOG    CST log IEN
 | 
|---|
| 134 |  ;           SCREQ    CST request IEN
 | 
|---|
| 135 |  ; Output -- None
 | 
|---|
| 136 |  N SCSTOPF
 | 
|---|
| 137 |  D STOP^SCCVLOG(SCLOG,SCREQ,.SCSTOPF)
 | 
|---|
| 138 |  Q
 | 
|---|
| 139 |  ;
 | 
|---|