| [613] | 1 | SCRPI01 ;ALB/SCK - IEMM REPORT OF INCOMPLETE ENCOUNTERS ; 2/2/97
 | 
|---|
 | 2 |  ;;5.3;Scheduling;**66,338**;AUG 13, 1993
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | EN ;  Main entry point for report of incomplete encounters report
 | 
|---|
 | 5 |  ;  Variables
 | 
|---|
 | 6 |  ;      SDTXT        - String array for initial message display
 | 
|---|
 | 7 |  ;      SDDT         - date Range, Begin^End
 | 
|---|
 | 8 |  ;      SDSEL1,2     - Selection methods Line Tag
 | 
|---|
 | 9 |  ;      SDOK         - Flag, 1 - Ok to continu, 0 - Quit
 | 
|---|
 | 10 |  ;
 | 
|---|
 | 11 |  N VAUTD,VAUTC,VAUDS,VAUTSTR,VAUTNI,SDTXT,SDDT,ZTSAVE,VAUTN,VAUER,SDSEL1,SDSEL2,SDOK,NDX,VAUTVB
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  W !,$C(7)
 | 
|---|
 | 14 |  F NDX=1:1 S SDTXT=$P($T(MSG+NDX),";;",2) Q:SDTXT="$$END"  D
 | 
|---|
 | 15 |  . W !,SDTXT
 | 
|---|
 | 16 |  W !!
 | 
|---|
 | 17 |  S DIR(0)="E" D ^DIR K DIR Q:'$G(Y)
 | 
|---|
 | 18 |  ; 
 | 
|---|
 | 19 |  I $$DIV^SCRPIUT1<0 G ENQ
 | 
|---|
 | 20 |  D MSG2
 | 
|---|
 | 21 |  S SDSEL1=$$SELCT("","First") G:SDSEL1']"" ENQ
 | 
|---|
 | 22 |  S SDSEL2=$$SELCT(SDSEL1,"Next") G:SDSEL2']"" ENQ
 | 
|---|
 | 23 |  I '$$ASKDT^SCENI01(.SDDT) G ENQ
 | 
|---|
 | 24 |  ;
 | 
|---|
 | 25 |  D @SDSEL1 Q:$G(SDOK)<0
 | 
|---|
 | 26 |  D @SDSEL2 Q:$G(SDOK)<0
 | 
|---|
 | 27 |  ;
 | 
|---|
 | 28 |  F X="SDDT","VAUTC","VAUTD","VAUDS","VAUDS(","VAUTC(","VAUTD(","SDSEL1","SDSEL2","VAUTN","VAUTN(","VAUER","VAUER(" D
 | 
|---|
 | 29 |  . S ZTSAVE(X)=""
 | 
|---|
 | 30 |  S IOP="Q"
 | 
|---|
 | 31 |  W !!,"This report requires 132 columns and could take some time.",!,"Remember to QUEUE the report.",!
 | 
|---|
 | 32 |  D EN^XUTMDEVQ("RPT^SCRPI01","IEMM Error Listing",.ZTSAVE)
 | 
|---|
 | 33 |  D HOME^%ZIS
 | 
|---|
 | 34 | ENQ Q
 | 
|---|
 | 35 |  ;
 | 
|---|
 | 36 | RPT ; Build report, then call print
 | 
|---|
 | 37 |  K ^TMP("SCRPI ERR",$J)
 | 
|---|
 | 38 |  D BLD
 | 
|---|
 | 39 |  D PRINT^SCRPI01A
 | 
|---|
 | 40 |  Q
 | 
|---|
 | 41 |  ;
 | 
|---|
 | 42 | EXIT ;
 | 
|---|
 | 43 |  K ^TMP("SCRPI ERR",$J)
 | 
|---|
 | 44 |  Q
 | 
|---|
 | 45 |  ;
 | 
|---|
 | 46 | SELCT(S1,SCT) ;  Set selection criteria
 | 
|---|
 | 47 |  ;   Input
 | 
|---|
 | 48 |  ;       S1    - Previous selection method
 | 
|---|
 | 49 |  ;       SCT   - first or second selection method
 | 
|---|
 | 50 |  ;
 | 
|---|
 | 51 |  ;   Returns
 | 
|---|
 | 52 |  ;       CLN - Clinic
 | 
|---|
 | 53 |  ;       ERR - Error Code
 | 
|---|
 | 54 |  ;       PAT - Patient
 | 
|---|
 | 55 |  ;       DSS - Stop Code
 | 
|---|
 | 56 |  ;
 | 
|---|
 | 57 |  ;   Variables
 | 
|---|
 | 58 |  ;       SCTEXT - Set up display list
 | 
|---|
 | 59 |  ;
 | 
|---|
 | 60 |  N X,CNT,SCTEXT
 | 
|---|
 | 61 |  S X="SM^"
 | 
|---|
 | 62 |  F CNT=1:1 S SCTEXT=$P($T(OPTIONS+CNT),";;",2) Q:SCTEXT="$$END"  D
 | 
|---|
 | 63 |  . Q:S1[$P(SCTEXT,":")
 | 
|---|
 | 64 |  . S X=X_SCTEXT
 | 
|---|
 | 65 |  ;
 | 
|---|
 | 66 |  S DIR(0)=X,DIR("A")="Set "_SCT_" Selection Criteria"
 | 
|---|
 | 67 |  S DIR("?")="Pick a selection criteria from those listed below."
 | 
|---|
 | 68 |  S DIR("??")="^D HLP^SCRPI01"
 | 
|---|
 | 69 |  D ^DIR K DIR
 | 
|---|
 | 70 |  Q $S(Y["C":"CLN",Y["P":"PAT",Y["E":"ERR",Y["D":"DSS",1:"")
 | 
|---|
 | 71 |  ;
 | 
|---|
 | 72 | CLN ; Clinic selection o/m/a
 | 
|---|
 | 73 |  W !!,"Clinic Selection"
 | 
|---|
 | 74 |  S VAUTNI=2
 | 
|---|
 | 75 |  D CLINIC^VAUTOMA
 | 
|---|
 | 76 |  W !
 | 
|---|
 | 77 |  S SDOK=Y
 | 
|---|
 | 78 |  Q
 | 
|---|
 | 79 |  ;
 | 
|---|
 | 80 | PAT ; Patient selection o/m/a
 | 
|---|
 | 81 |  W !!,"Patient Selection"
 | 
|---|
 | 82 |  S VAUTNI=2
 | 
|---|
 | 83 |  D PATIENT^VAUTOMA
 | 
|---|
 | 84 |  W !
 | 
|---|
 | 85 |  S SDOK=Y
 | 
|---|
 | 86 |  Q
 | 
|---|
 | 87 |  ;
 | 
|---|
 | 88 | ERR ; Error selection o/m/a
 | 
|---|
 | 89 |  W !!,"Transmission Error Selection"
 | 
|---|
 | 90 |  S DIC="^SD(409.76,",VAUTSTR="Error",VAUTVB="VAUER",VAUTNI=2
 | 
|---|
 | 91 |  D FIRST^VAUTOMA
 | 
|---|
 | 92 |  W !
 | 
|---|
 | 93 |  S SDOK=Y
 | 
|---|
 | 94 |  Q
 | 
|---|
 | 95 |  ;
 | 
|---|
 | 96 | DSS ; Clinic Stop code selection o/m/a
 | 
|---|
 | 97 |  W !!,"Clinic Stop Code Selection"
 | 
|---|
 | 98 |  S DIC="^DIC(40.7,",VAUTSTR="Stop Code",VAUTVB="VAUDS",VAUTNI=2
 | 
|---|
 | 99 |  D FIRST^VAUTOMA
 | 
|---|
 | 100 |  W !
 | 
|---|
 | 101 |  S SDOK=1
 | 
|---|
 | 102 |  Q
 | 
|---|
 | 103 |  ;
 | 
|---|
 | 104 | BLD ; Search for incomplete encounters and build TMP global
 | 
|---|
 | 105 |  ;    Variables
 | 
|---|
 | 106 |  ;        SDEND  - End date of date range
 | 
|---|
 | 107 |  ;        SDOE   - Encounter IEN
 | 
|---|
 | 108 |  ;        SDOEDT - Encounter date
 | 
|---|
 | 109 |  ;        SDCNT  - Entry count
 | 
|---|
 | 110 |  ;
 | 
|---|
 | 111 |  N SDEND,SDOE,SDOEDT,SDCNT
 | 
|---|
 | 112 |  ;
 | 
|---|
 | 113 |  S SDOEDT=$P(SDDT,U)-.1,SDEND=$P(SDDT,U,2)+.9,SDCNT=0
 | 
|---|
 | 114 |  F  S SDOEDT=$O(^SD(409.75,"AEDT",SDOEDT)) Q:'SDOEDT!(SDOEDT>SDEND)  D
 | 
|---|
 | 115 |  . S SDXMT=0 F  S SDXMT=$O(^SD(409.75,"AEDT",SDOEDT,SDXMT)) Q:'SDXMT  D
 | 
|---|
 | 116 |  .. S SDXER=0 F  S SDXER=$O(^SD(409.75,"AEDT",SDOEDT,SDXMT,SDXER)) Q:'SDXER  D BLD1(SDXER,SDXMT)
 | 
|---|
 | 117 |  Q
 | 
|---|
 | 118 |  ;
 | 
|---|
 | 119 | BLD1(SDE,SDX) ;  If error passes checks, add to sorted TMP global
 | 
|---|
 | 120 |  ;   Input
 | 
|---|
 | 121 |  ;       SDE  - Pointer to #409.75
 | 
|---|
 | 122 |  ;       SDX  - Pointer to #409.73
 | 
|---|
 | 123 |  ;
 | 
|---|
 | 124 |  ;   Variables
 | 
|---|
 | 125 |  ;       SCEN   - Temporary array for encounter information
 | 
|---|
 | 126 |  ;       SDDEL  - Deleted Encounter Marker "*"
 | 
|---|
 | 127 |  ;       SDRSLT - -1:error, 1:Deleted Encounter, 0:Not deleted
 | 
|---|
 | 128 |  ;       SDIV   - Division IEN
 | 
|---|
 | 129 |  ;       SDCDE  - Stop code
 | 
|---|
 | 130 |  ;
 | 
|---|
 | 131 |  ;   Output
 | 
|---|
 | 132 |  ;       ^TMP("SCRPI ERR",$J,Division Name,Clinic Name,Patient Name,Encounter Date,Error code IEN,0)=DFN^#409.73 Pointer^Deleted Flag
 | 
|---|
 | 133 |  ;
 | 
|---|
 | 134 |  N SCEN,SDDEL,SDRSLT,SDIV,SDCDE
 | 
|---|
 | 135 |  ;
 | 
|---|
 | 136 |  I '$D(ZTQUEUED) S SDCNT=SDCNT+1 W:(SDCNT#10)=0 "."
 | 
|---|
 | 137 |  ;
 | 
|---|
 | 138 |  S SDRSLT=$$OPENC^SCUTIE1(SDXMT,"SCEN")
 | 
|---|
 | 139 |  Q:SDRSLT<0
 | 
|---|
 | 140 |  S:SDRSLT SDDEL="*"
 | 
|---|
 | 141 |  ;
 | 
|---|
 | 142 |  I SDRSLT D
 | 
|---|
 | 143 |  . S SDIV=$P(^SD(409.74,SCEN("DELIEN"),1),U,11)
 | 
|---|
 | 144 |  . S SDCDE=$P(^SD(409.74,SCEN("DELIEN"),1),U,3)
 | 
|---|
 | 145 |  E  D
 | 
|---|
 | 146 |  . S SDIV=$P(^SCE(SCEN("SDOIEN"),0),U,11)
 | 
|---|
 | 147 |  . S SDCDE=$P(^SCE(SCEN("SDOIEN"),0),U,3)
 | 
|---|
 | 148 |  ;
 | 
|---|
 | 149 |  I $S(VAUTD:0,$D(VAUTD(SDIV)):0,1:1) Q
 | 
|---|
 | 150 |  ;
 | 
|---|
 | 151 |  I SDSEL1="CLN",$S(VAUTC:0,$D(VAUTC(SCEN("CLINIC"))):0,1:1) Q
 | 
|---|
 | 152 |  I SDSEL1="PAT",$S(VAUTN:0,$D(VAUTN(SCEN("DFN"))):0,1:1) Q
 | 
|---|
 | 153 |  I SDSEL1="ERR" Q:'$D(^SD(409.75,SDE,0))  I $S(VAUER:0,$D(VAUER($P(^SD(409.75,SDE,0),U,2))):0,1:1) Q  ; SD*5.3*338
 | 
|---|
 | 154 |  I SDSEL1="DSS",$S(VAUDS:0,$D(VAUDS(SDCDE)):0,1:1) Q
 | 
|---|
 | 155 |  ;
 | 
|---|
 | 156 |  I SDSEL2="CLN",$S(VAUTC:0,$D(VAUTC(SCEN("CLINIC"))):0,1:1) Q
 | 
|---|
 | 157 |  I SDSEL2="PAT",$S(VAUTN:0,$D(VAUTN(SCEN("DFN"))):0,1:1) Q
 | 
|---|
 | 158 |  I SDSEL2="ERR" Q:'$D(^SD(409.75,SDE,0))  I $S(VAUER:0,$D(VAUER($P(^SD(409.75,SDE,0),U,2))):0,1:1) Q  ; SD*5.3*338
 | 
|---|
 | 159 |  I SDSEL2="DSS",$S(VAUDS:0,$D(VAUDS(SDCDE)):0,1:1) Q
 | 
|---|
 | 160 |  ;
 | 
|---|
 | 161 |  S ^TMP("SCRPI ERR",$J,$P(^DG(40.8,SDIV,0),U),$P(^SC(SCEN("CLINIC"),0),U),$P(^DPT(SCEN("DFN"),0),U),SCEN("ENCOUNTER"),SDE,0)=SCEN("DFN")_U_SDX_U_$G(SDDEL)
 | 
|---|
 | 162 |  Q
 | 
|---|
 | 163 |  ;
 | 
|---|
 | 164 | SELMTHD(SEL) ;  Returns 'external' version of selection method
 | 
|---|
 | 165 |  Q $S(SEL="CLN":"Clinic",SEL="PAT":"Patient",SEL="ERR":"Error Code",SEL="DSS":"Clinic Stop Code")
 | 
|---|
 | 166 |  ;
 | 
|---|
 | 167 | HLP ;  '??' help for the selection criteria.
 | 
|---|
 | 168 |  ;
 | 
|---|
 | 169 |  W !?2,"You may select any two of the following selection criteria, one at a time, for"
 | 
|---|
 | 170 |  W !?2,"your report.  You will be asked for one/many/all selections for each criteria"
 | 
|---|
 | 171 |  W !?2,"selected."
 | 
|---|
 | 172 |  W !
 | 
|---|
 | 173 |  W !?2,"Selection criteria are not sort criteria.  The sort criteria are  Division,"
 | 
|---|
 | 174 |  W !?2,"Clinic, Patient, and Encounter.  Selection criteria limit what will be"
 | 
|---|
 | 175 |  W !?2,"printed in the report."
 | 
|---|
 | 176 |  Q
 | 
|---|
 | 177 |  ;
 | 
|---|
 | 178 | MSG2 ;
 | 
|---|
 | 179 |  W !!!
 | 
|---|
 | 180 |  W "The following are selection criteria which are used to specify a group of or"
 | 
|---|
 | 181 |  W !,"particular clinic, patient, error code or clinic stop code to be printed."
 | 
|---|
 | 182 |  W !,"You are asked to pick two, one at a time.  Type '??' for more details."
 | 
|---|
 | 183 |  Q
 | 
|---|
 | 184 |  ;
 | 
|---|
 | 185 | MSG ;
 | 
|---|
 | 186 |  ;;  This report requires 132 columns to print and will default to 
 | 
|---|
 | 187 |  ;;  QUEUING required.  If you print this report to your terminal,
 | 
|---|
 | 188 |  ;;  answer 'NO' to the 'Do you still want your output queued' prompt.
 | 
|---|
 | 189 |  ;;$$END
 | 
|---|
 | 190 |  ;
 | 
|---|
 | 191 | OPTIONS ;  Selection methods
 | 
|---|
 | 192 |  ;;C:Clinic;
 | 
|---|
 | 193 |  ;;P:Patient;
 | 
|---|
 | 194 |  ;;E:Error Code;
 | 
|---|
 | 195 |  ;;D:Clinic Stop Code;
 | 
|---|
 | 196 |  ;;$$END
 | 
|---|
 | 197 |  ;
 | 
|---|