| 1 | SCENIA1 ;ALB/SCK - INCOMPLETE ENCOUNTER ERROR DISPLAY PROTOCOLS ; 09 Oct 98  3:03 PM
 | 
|---|
| 2 |  ;;5.3;Scheduling;**66,154,323,378**;AUG 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | VE ; View Expanded Error
 | 
|---|
| 5 |  N SDHDR1,SDHDR2
 | 
|---|
| 6 |  S SDHDR1=VALMHDR(1)
 | 
|---|
| 7 |  S SDHDR2=VALMHDR(2)
 | 
|---|
| 8 |  S VALMBCK=""
 | 
|---|
| 9 |  D EN^SCENIB0
 | 
|---|
| 10 |  S VALMBCK="R"
 | 
|---|
| 11 |  Q
 | 
|---|
| 12 |  ;
 | 
|---|
| 13 | CE ;  Entry point for getting corrective action for error and executing it.
 | 
|---|
| 14 |  ;    Variables
 | 
|---|
| 15 |  ;      SCXER  - Ptr to 409.76
 | 
|---|
| 16 |  ;      SCEN   - Ptr to 409.75
 | 
|---|
| 17 |  ;      SDXMT   - Ptr to 409.73
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  N SCXER,SCEN
 | 
|---|
| 20 |  ;;;; MOD
 | 
|---|
| 21 |  K ^TMP("SCENI COR",$J)
 | 
|---|
| 22 |  ;
 | 
|---|
| 23 |  D SELERM("O")
 | 
|---|
| 24 |  Q:'$D(SCXER)
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 |  ;;;;; MOD
 | 
|---|
| 27 |  ;F I=1:1 S SCTEXT=$P($T(HDR+I),";;",2) Q:SCTEXT["$$END"  D
 | 
|---|
| 28 |  ;. W !?2,SCTEXT
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 |  S SCEN=0
 | 
|---|
| 31 |  S SDXMT=$G(^TMP("SCENI XMT",$J,0)) Q:'SDXMT
 | 
|---|
| 32 |  F  S SCEN=$O(SCXER(SCEN)) Q:'SCEN  D
 | 
|---|
| 33 |  . Q:'$D(^SD(409.75,SCEN,0))
 | 
|---|
| 34 |  . S SCCOR=$G(^SD(409.76,$P(^SD(409.75,SCEN,0),U,2),"COR"))
 | 
|---|
| 35 |  . I SCCOR="" D ERMSG(1) Q
 | 
|---|
| 36 |  .;;;;;; MOD
 | 
|---|
| 37 |  . Q:$D(^TMP("SCENI COR",$J,$P(SCCOR,"(")))
 | 
|---|
| 38 |  . W !!,$G(^SD(409.76,$P(^SD(409.75,SCEN,0),U,2),1))
 | 
|---|
| 39 |  . X SCCOR
 | 
|---|
| 40 |  . I 'RTN D ERMSG(2) ;;;Q
 | 
|---|
| 41 |  .;;;;; MOD
 | 
|---|
| 42 |  . S ^TMP("SCENI COR",$J,$P(SCCOR,"("))=""
 | 
|---|
| 43 |  ; 
 | 
|---|
| 44 |  ; ** After correcting selected errors, fire off the validator and reflag
 | 
|---|
| 45 |  ;    transmission entry
 | 
|---|
| 46 |  W !,"Performing Ambulatory Care Validation Checks..."
 | 
|---|
| 47 |  S RTN=$$VALIDATE^SCMSVUT2(SDXMT)
 | 
|---|
| 48 |  I RTN<0 D ERMSG(5) G CEQ
 | 
|---|
| 49 |  S RTN=$$SETRFLG(SDXMT)
 | 
|---|
| 50 |  I RTN<0 D ERMSG(3) G CEQ
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 |  ;;;;; MOD
 | 
|---|
| 53 |  K ^TMP("SCENI COR",$J)
 | 
|---|
| 54 | CEQ Q
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | EDI() ; Entry point for ENCOUNTER INFORMATION corrective action
 | 
|---|
| 57 |  S SDOK=0
 | 
|---|
| 58 |  D EI^SCENIA2
 | 
|---|
| 59 |  Q SDOK
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | DEM1() ; Entry point for correction logic
 | 
|---|
| 62 |  S SDOK=0
 | 
|---|
| 63 |  D DEM
 | 
|---|
| 64 |  Q SDOK
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 | DEM ; Entry point for the SCENI PATIENT DEMOGRAPHICS protocol
 | 
|---|
| 67 |  N DFN,SDXMT,RTN
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 |  S DFN=$G(^TMP("SCENI DFN",$J,0)) Q:'DFN
 | 
|---|
| 70 |  S SDXMT=$G(^TMP("SCENI XMT",$J,0)) Q:'SDXMT
 | 
|---|
| 71 |  D FULL^VALM1
 | 
|---|
| 72 |  ;SD*5.3*323 add sensitive record warning if applicable
 | 
|---|
| 73 |  ;reference to DGRPU1 allowed in Integration Agreement 413
 | 
|---|
| 74 |  N DIC S DIC=2,DIC(0)="EM",X="`"_DFN D ^DIC I Y=-1 S SDOK=1 Q
 | 
|---|
| 75 |  D QUES^DGRPU1(DFN,"ADD3")
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 |  I '$D(SDOK) D
 | 
|---|
| 78 |  . W !,"Performing Ambulatory Care Validation Checks..."
 | 
|---|
| 79 |  . S RTN=$$VALIDATE^SCMSVUT2(SDXMT)
 | 
|---|
| 80 |  . ;;; MOD
 | 
|---|
| 81 |  . I RTN<0 D ERMSG(5) Q  ;G DEMQ
 | 
|---|
| 82 |  . S RTN=$$SETRFLG(SDXMT)
 | 
|---|
| 83 |  . I RTN<0 D ERMSG(3) Q  ;G DEMQ
 | 
|---|
| 84 |  I $D(SDOK) S SDOK=1
 | 
|---|
| 85 | DEMQ Q
 | 
|---|
| 86 |  ;
 | 
|---|
| 87 | INTV() ;  Entry point for correction logic for checkout errors
 | 
|---|
| 88 |  S SDOK=0
 | 
|---|
| 89 |  D CO
 | 
|---|
| 90 |  Q SDOK
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 | CO ;  Entry point for SCENI CHECKOUT INTERVIEW
 | 
|---|
| 93 |  N SDXMT,SCENFLG,SDOE,SDDT,SDOEND
 | 
|---|
| 94 |  K SCINF
 | 
|---|
| 95 |  ;SD*5.3*323 add sensitive record warning if applicable next 5 lines
 | 
|---|
| 96 |  N DFN
 | 
|---|
| 97 |  S DFN=$G(^TMP("SCENI DFN",$J,0)) Q:'DFN
 | 
|---|
| 98 |  S SDXMT=$G(^TMP("SCENI XMT",$J,0)) Q:'SDXMT
 | 
|---|
| 99 |  D FULL^VALM1
 | 
|---|
| 100 |  N DIC S DIC=2,DIC(0)="EM",X="`"_DFN D ^DIC I Y=-1 S SDOK=1 Q
 | 
|---|
| 101 |  S SCSTAT=$$OPENC^SCUTIE1(SDXMT,"SCINF")
 | 
|---|
| 102 |  I SCSTAT D  G COQ
 | 
|---|
| 103 |  . D FULL^VALM1
 | 
|---|
| 104 |  . W !!,$CHAR(7),"This is a deleted encounter.  Checkout information cannot be changed!"
 | 
|---|
| 105 |  . D PAUSE^VALM1
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 |  S SDOE=$P(^SD(409.73,SDXMT,0),U,2)
 | 
|---|
| 108 |  S SDOEND=$G(^SCE(+SDOE,0))
 | 
|---|
| 109 |  S SDCOHDL="",SCENFLG=1,VALMBCK=""
 | 
|---|
| 110 |  ;
 | 
|---|
| 111 |  I $P(SDOEND,U,8)=2,$P(SDOEND,U,6)="" D ADDEDIT(SDOEND) I 1
 | 
|---|
| 112 |  E  D EN^SDCO6
 | 
|---|
| 113 |  ;
 | 
|---|
| 114 |  S VALMBCK="R"
 | 
|---|
| 115 |  ;
 | 
|---|
| 116 |  I '$D(SDOK) D
 | 
|---|
| 117 |  . W !,"Performing Ambulatory Care Validation Checks..."
 | 
|---|
| 118 |  . S RTN=$$VALIDATE^SCMSVUT2(SDXMT)
 | 
|---|
| 119 |  . ;;; MOD
 | 
|---|
| 120 |  . I RTN<0 D ERMSG(5) Q  ;G COQ
 | 
|---|
| 121 |  . S RTN=$$SETRFLG(SDXMT)
 | 
|---|
| 122 |  . I RTN<0 D ERMSG(3) Q  ;G COQ
 | 
|---|
| 123 |  I $D(SDOK) S SDOK=1
 | 
|---|
| 124 | COQ ;
 | 
|---|
| 125 |  Q
 | 
|---|
| 126 |  ;
 | 
|---|
| 127 | ADDEDIT(SDOEND) ;this is to edit add/edits
 | 
|---|
| 128 |  N VAR
 | 
|---|
| 129 |  Q:'$P(SDOEND,U,5)
 | 
|---|
| 130 |  S VAR=$$INTV^PXAPI("ADDEDIT","SD","PIMS",$P(SDOEND,U,5),"",$P(SDOEND,U,2))
 | 
|---|
| 131 |  Q
 | 
|---|
| 132 |  ;
 | 
|---|
| 133 | LEDT() ;
 | 
|---|
| 134 |  S SDOK=0
 | 
|---|
| 135 |  D LE
 | 
|---|
| 136 |  Q SDOK
 | 
|---|
| 137 |  ;
 | 
|---|
| 138 | LE ;  Entry point patient load edit.
 | 
|---|
| 139 |  N DFN,SDXMT
 | 
|---|
| 140 |  ;
 | 
|---|
| 141 |  S DFN=$G(^TMP("SCENI DFN",$J,0)) Q:'DFN
 | 
|---|
| 142 |  S SDXMT=$G(^TMP("SCENI XMT",$J,0)) Q:'SDXMT
 | 
|---|
| 143 |  S VALMBCK="",DGNEW=0
 | 
|---|
| 144 |  D FULL^VALM1
 | 
|---|
| 145 |  ;SD*5.3*323 add sensitive record warning if applicable
 | 
|---|
| 146 |  N DIC S DIC=2,DIC(0)="EM",X="`"_DFN D ^DIC I Y=-1 S SDOK=1 Q
 | 
|---|
| 147 |  D A1^DG10
 | 
|---|
| 148 |  I '$D(SDOK) D
 | 
|---|
| 149 |  . W !,"Performing Ambulatory Care Validation Checks."
 | 
|---|
| 150 |  . S RTN=$$VALIDATE^SCMSVUT2(SDXMT)
 | 
|---|
| 151 |  . ;;;;; MOD
 | 
|---|
| 152 |  . I RTN<0 D ERMSG(5) Q  ;G LEQ
 | 
|---|
| 153 |  . S RTN=$$SETRFLG(SDXMT)
 | 
|---|
| 154 |  . I RTN<0 D ERMSG(3) Q  ;G LEQ
 | 
|---|
| 155 |  I $D(SDOK) S SDOK=1
 | 
|---|
| 156 | LEQ ;
 | 
|---|
| 157 |  Q
 | 
|---|
| 158 |  ;
 | 
|---|
| 159 | REFLG() ; Entry point for reflag correction action
 | 
|---|
| 160 |  ;;;; MOD
 | 
|---|
| 161 |  ;S SDOK=0
 | 
|---|
| 162 |  ;D FLG
 | 
|---|
| 163 |  ;Q SDOK
 | 
|---|
| 164 |  Q 1
 | 
|---|
| 165 |  ;
 | 
|---|
| 166 | FLG ; Entry point for Reflag Transmission protocol
 | 
|---|
| 167 |  N SDXMT
 | 
|---|
| 168 |  ;
 | 
|---|
| 169 |  S SDXMT=$G(^TMP("SCENI XMT",$J,0)) Q:'SDXMT
 | 
|---|
| 170 |  W !,"Performing Ambulatory Care Validation Checks..."
 | 
|---|
| 171 |  S RTN=$$VALIDATE^SCMSVUT2(SDXMT)
 | 
|---|
| 172 |  I RTN<0 D ERMSG(5) G FLQ
 | 
|---|
| 173 |  S RTN=$$SETRFLG(SDXMT)
 | 
|---|
| 174 |  I RTN<0 D ERMSG(3) G FLQ
 | 
|---|
| 175 |  ;;;; MOD
 | 
|---|
| 176 |  ;I $D(SDOK) S SDOK=1
 | 
|---|
| 177 | FLQ Q
 | 
|---|
| 178 |  ;
 | 
|---|
| 179 | SETRFLG(SDXMT) ;
 | 
|---|
| 180 |  ;  Input
 | 
|---|
| 181 |  ;     SDXMT  - Pointer to Transmission File, #409.73
 | 
|---|
| 182 |  ;
 | 
|---|
| 183 |  ;  Output
 | 
|---|
| 184 |  ;      -1  - There was a problem reflaging the transmission 
 | 
|---|
| 185 |  ;       0  - No errors occured
 | 
|---|
| 186 |  ;       1  - The entry is already flagged for transmission
 | 
|---|
| 187 |  ;
 | 
|---|
| 188 |  S RESULT=-1
 | 
|---|
| 189 |  S STATUS=$P($G(^SD(409.73,SDXMT,0)),U,4)
 | 
|---|
| 190 |  I STATUS S RESULT=1
 | 
|---|
| 191 |  E  D
 | 
|---|
| 192 |  . D XMITFLAG^SCDXFU01(SDXMT,0),STREEVNT^SCDXFU01(SDXMT,0)
 | 
|---|
| 193 |  . S RESULT=0
 | 
|---|
| 194 |  D INIT^SCENIA0
 | 
|---|
| 195 |  D RE^VALM4
 | 
|---|
| 196 |  Q RESULT
 | 
|---|
| 197 |  ;
 | 
|---|
| 198 | MSG(SDTEXT,SDEXMT) ;
 | 
|---|
| 199 |  W:SDTEXT]"" !!,SDTEXT,!
 | 
|---|
| 200 |  S DIR(0)="FAO",DIR("A")="Press ENTER to continue " D ^DIR K DIR
 | 
|---|
| 201 |  Q 1
 | 
|---|
| 202 |  ;
 | 
|---|
| 203 | SELERM(FLG) ;  Select Multiple entries
 | 
|---|
| 204 |  N VALMY
 | 
|---|
| 205 |  ;
 | 
|---|
| 206 |  D FULL^VALM1
 | 
|---|
| 207 |  I $G(FLG)']"" S FLG="O"
 | 
|---|
| 208 |  D EN^VALM2(XQORNOD(0),FLG) S VALMI=0
 | 
|---|
| 209 |  I '$D(VALMY) S VALMBCK="R" Q
 | 
|---|
| 210 |  S SDN1=""
 | 
|---|
| 211 |  F  S SDN1=$O(VALMY(SDN1)) Q:'SDN1  D
 | 
|---|
| 212 |  . S SCEPTR="",SCEPTR=$O(^TMP("SCENI ERR",$J,"DA",SDN1,SCEPTR))
 | 
|---|
| 213 |  . I SCEPTR>0 S SCXER(SCEPTR)=""
 | 
|---|
| 214 |  Q
 | 
|---|
| 215 |  ;
 | 
|---|
| 216 | ERMSG(MSGN) ;
 | 
|---|
| 217 |  D FULL^VALM1
 | 
|---|
| 218 |  S SCTEXT=$P($T(@MSGN),";;",2)
 | 
|---|
| 219 |  W $CHAR(7)
 | 
|---|
| 220 |  W !!?5,SCTEXT,!
 | 
|---|
| 221 |  S DIR(0)="FAO",DIR("A")="Press ENTER to continue " D ^DIR K DIR
 | 
|---|
| 222 |  S VALMBCK="R"
 | 
|---|
| 223 |  Q
 | 
|---|
| 224 |  ;
 | 
|---|
| 225 | EXIT ;
 | 
|---|
| 226 |  I $D(VALMBCK),VALMBCK="R" D REFRESH^VALM S VALMBCK=$P(VALMBCK,"R")_$P(VALMBCK,"R",2)
 | 
|---|
| 227 |  Q
 | 
|---|
| 228 |  ;
 | 
|---|
| 229 | HDR ;
 | 
|---|
| 230 |  ;;Selecting a range of errors to correct may result in one or
 | 
|---|
| 231 |  ;;more similar errors being removed from the display list after 
 | 
|---|
| 232 |  ;;correction of the initial error.  
 | 
|---|
| 233 |  ;;$$END
 | 
|---|
| 234 |  ;
 | 
|---|
| 235 | 1 ;;No correction logic has been defined for this error.
 | 
|---|
| 236 | 2 ;;Unable to execute Correction Logic.
 | 
|---|
| 237 | 3 ;;There was a problem trying to flag this entry for retransmission.
 | 
|---|
| 238 | 4 ;;This transmission entry is already flagged for transmission.
 | 
|---|
| 239 | 5 ;;The validator encountered a problem with this transmission entry.
 | 
|---|