| 1 | SCCVCST2 ; ALB/TMP - SCHED VSTS RE-CONVERSION - DELETE ENCOUNTER; 25-NOV-97 | 
|---|
| 2 | ;;5.3;Scheduling;**211**;Aug 13, 1993 | 
|---|
| 3 | ; | 
|---|
| 4 | DELE(SDOE) ;Delete Encounter on re-convert | 
|---|
| 5 | ; Input  -- SDOE     Outpatient Encounter file IEN | 
|---|
| 6 | ; | 
|---|
| 7 | N DA,DFN,DE,DIE,DR,SDCL,SDDA,SDOE0,SDOEP,SDORG,SDT,SDVSAV,SDCNV | 
|---|
| 8 | ; | 
|---|
| 9 | D SET(SDOE,.SDOE0,.SDT,.DFN,.SDCL,.SDORG,.SDDA,.SDCNV) | 
|---|
| 10 | ; | 
|---|
| 11 | ; Only delete encounter if created originally from conversion | 
|---|
| 12 | G:'SDCNV DELEQ | 
|---|
| 13 | ; | 
|---|
| 14 | D DELPTR(DFN,SDT,SDDA,SDORG,SDOE) | 
|---|
| 15 | ; | 
|---|
| 16 | ; -- delete child data for appts and dispos | 
|---|
| 17 | I "^1^3^"[("^"_SDORG_"^") D CHLD(SDOE) | 
|---|
| 18 | ; | 
|---|
| 19 | D OE(SDOE) | 
|---|
| 20 | ; | 
|---|
| 21 | DELEQ Q | 
|---|
| 22 | ; | 
|---|
| 23 | CHLD(SDOEP) ;Delete child encounters | 
|---|
| 24 | ;  SDOEP  := Parent encounter ien | 
|---|
| 25 | ; | 
|---|
| 26 | N DFN,SDCL,SDDA,SDOE0,SDOEC,SDORG,SDT,SDCNV | 
|---|
| 27 | S SDOEC=0 | 
|---|
| 28 | F  S SDOEC=$O(^SCE("APAR",SDOEP,SDOEC)) Q:'SDOEC  D | 
|---|
| 29 | . D SET(SDOEC,.SDOE0,.SDT,.DFN,.SDCL,.SDORG,.SDDA,.SDCNV) | 
|---|
| 30 | . Q:'SDCNV  ;Only delete encounter if created by the conversion | 
|---|
| 31 | . D DELPTR(DFN,SDT,SDDA,SDORG,SDOEC) | 
|---|
| 32 | . D OE(SDOEC) | 
|---|
| 33 | Q | 
|---|
| 34 | ; | 
|---|
| 35 | SET(SDOE,SDOE0,SDT,DFN,SDCL,SDORG,SDDA,SDCNV) ;Set Variables | 
|---|
| 36 | ; | 
|---|
| 37 | S SDOE0=$G(^SCE(+SDOE,0)),SDT=+SDOE0,DFN=+$P(SDOE0,"^",2),SDCL=+$P(SDOE0,"^",4),SDORG=+$P(SDOE0,"^",8),SDDA=$P(SDOE0,"^",9) | 
|---|
| 38 | S SDCNV=$G(^SCE(+SDOE,"CNV")) | 
|---|
| 39 | Q | 
|---|
| 40 | ; | 
|---|
| 41 | DELPTR(DFN,SDT,SDDA,SDORG,SDOE) ; -- delete pointers to encounters in scheduling files | 
|---|
| 42 | ; DFN   == patient ien | 
|---|
| 43 | ; SDT   == encounter date/time | 
|---|
| 44 | ; SDDA  == extended reference from encounter 9th piece | 
|---|
| 45 | ; SDORG == flag for origin of encounter | 
|---|
| 46 | ; SDOE  == encounter ien | 
|---|
| 47 | ; | 
|---|
| 48 | N DA,DIE,DR,SDI,SDCS,SDVIEN | 
|---|
| 49 | IF SDORG=1,$P($G(^DPT(DFN,"S",SDT,0)),U,20)=SDOE D  Q | 
|---|
| 50 | .S DA(1)=DFN,DA=SDT,DIE="^DPT("_DFN_",""S"",",DR="21///@" D ^DIE | 
|---|
| 51 | ; | 
|---|
| 52 | S SDVIEN=$$SDVIEN^SCCVU(DFN,SDT) | 
|---|
| 53 | IF SDORG=2 F SDI=1:1:$L(SDDA,":") D  Q | 
|---|
| 54 | . S SDCS=+$P(SDDA,":",SDI) | 
|---|
| 55 | . IF SDCS,$P($G(^SDV(SDVIEN,"CS",SDCS,0)),U,8)=SDOE D | 
|---|
| 56 | . . S DA(1)=SDT,DA=SDCS,DIE="^SDV("_SDVIEN_",""CS"",",DR="8///@" D ^DIE | 
|---|
| 57 | ; | 
|---|
| 58 | IF SDORG=3,$P($G(^DPT(DFN,"DIS",+SDDA,0)),U,18)=SDOE D  Q | 
|---|
| 59 | .S DA(1)=DFN,DA=+SDDA,DIE="^DPT("_DFN_",""DIS"",",DR="18///@" D ^DIE | 
|---|
| 60 | ; | 
|---|
| 61 | Q | 
|---|
| 62 | ; | 
|---|
| 63 | OE(SDOE) ;Delete Outpatient Encounter | 
|---|
| 64 | ;  SDOE  := Encounter ien | 
|---|
| 65 | ; | 
|---|
| 66 | N DA,DIK | 
|---|
| 67 | S DA=SDOE,DIK="^SCE(" D ^DIK | 
|---|
| 68 | Q | 
|---|
| 69 | ; | 
|---|
| 70 | DEL(SDOE,SDFL) ;Delete Classification - NOT NEEDED - no data existed for the | 
|---|
| 71 | ;  periods allowed to be converted | 
|---|
| 72 | ;   SDOE  := Encounter ien | 
|---|
| 73 | ;   SDFL  := Internal file # of entry to delete | 
|---|
| 74 | ; | 
|---|
| 75 | Q | 
|---|
| 76 | N DA,DIK,SDI | 
|---|
| 77 | S DIK="^SDD("_SDFL_",",SDI=0 | 
|---|
| 78 | F  S SDI=$O(^SDD(SDFL,"AO",SDOE,SDI)) Q:'SDI  S DA=+$O(^(SDI,0)) D ^DIK | 
|---|
| 79 | Q | 
|---|
| 80 | ; | 
|---|
| 81 | CO(SDOE) ;Delete Classification - NOT NEEDED - no data existed for the | 
|---|
| 82 | ;  periods allowed to be converted | 
|---|
| 83 | ;  SDOE  := Encounter ien | 
|---|
| 84 | ; | 
|---|
| 85 | G COQ | 
|---|
| 86 | N DA,DIK,SDFL,SDI | 
|---|
| 87 | I $P($G(^SCE(SDOE,0)),"^",6) G COQ | 
|---|
| 88 | I $O(^SDD(409.42,"AO",SDOE,0))>0 D DEL(SDOE,409.42) | 
|---|
| 89 | COQ Q | 
|---|
| 90 | ; | 
|---|