| 1 | SDCODEL ;ALB/RMO,ESW - Delete - Check Out; 27 APR 1993 3:00 pm ; 10/10/02 5:38pm
 | 
|---|
| 2 |  ;;5.3;Scheduling;**20,27,44,97,105,110,132,257**;Aug 13, 1993
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | EN(SDOE,SDMOD,SDELHDL,SDELSRC) ;Delete Check Out
 | 
|---|
| 5 |  ; Input  -- SDOE     Outpatient Encounter file IEN
 | 
|---|
| 6 |  ;           SDMOD    1=Interactive and 0=Non-interactive
 | 
|---|
| 7 |  ;           SDELHDL  Check Out Deletion Handle  [Optional]
 | 
|---|
| 8 |  ;           SDELSRC  Source of delete
 | 
|---|
| 9 |  ; Output -- Delete Check Out
 | 
|---|
| 10 |  N DA,DFN,DE,DIE,DR,SDCL,SDDA,SDEVTF,SDOE0,SDOEP,SDORG,SDT,SDVSAV,SDVFLG
 | 
|---|
| 11 |  D SET(SDOE,.SDOE0,.SDT,.DFN,.SDCL,.SDORG,.SDDA)
 | 
|---|
| 12 |  S SDVSAV=$P(SDOE0,U,5)
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  ; -- ok to delete?
 | 
|---|
| 15 |  IF '$$EDITOK^SDCO3(SDOE,SDMOD) G ENQ
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 |  IF $G(SDELSRC)'="PCE" S X=$$DELVFILE^PXAPI("ALL",$P($G(^SCE(SDOE,0)),U,5),"","","",1)
 | 
|---|
| 18 |  S SDVFLG=1
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  ; -- get handle if not passed and do 'before'
 | 
|---|
| 21 |  I '$G(SDELHDL) N SDATA,SDELHDL S SDEVTF=1 D EVT^SDCOU1(SDOE,"BEFORE",.SDELHDL,.SDATA)
 | 
|---|
| 22 |  ;
 | 
|---|
| 23 |  I $G(SDMOD) W !!,">>> Deleting check out information..."
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  ; -- delete child data for appts, dispos and stop code addition
 | 
|---|
| 26 |  I "^1^2^3^"[("^"_SDORG_"^") D CHLD(SDOE,SDMOD) ;SD/257
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ; -- delete SDOE pointers and co d/t
 | 
|---|
| 29 |  I SDORG=1 D
 | 
|---|
| 30 |  .S DA(1)=DFN,DA=SDT,DIE="^DPT("_DFN_",""S"",",DR="21///@" D ^DIE
 | 
|---|
| 31 |  .I $G(SDMOD) W !?3,"...deleting check out date/time"
 | 
|---|
| 32 |  .S DR="303///@" D DIE^SDCO1(SDCL,SDT,+SDDA,DR)
 | 
|---|
| 33 |  I SDORG=3 D
 | 
|---|
| 34 |  .S DA(1)=DFN,DA=+SDDA,DIE="^DPT("_DFN_",""DIS"",",DR="18///@" D ^DIE
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 |  ; -- do final deletes for sdoe
 | 
|---|
| 37 |  D CO(SDOE,SDMOD)
 | 
|---|
| 38 |  D OE(SDOE,SDMOD)
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  I $G(SDMOD) W !,">>> done."
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  ; -- if handle not passed, then 'after' and event
 | 
|---|
| 43 |  I $G(SDEVTF) D EVT^SDCOU1(SDOE,"AFTER",SDELHDL,.SDATA,SDOE0)
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 |  ; -- call pce to make sure its data is gone
 | 
|---|
| 46 |  I $G(SDVFLG) D DEAD^PXUTLSTP(SDVSAV)
 | 
|---|
| 47 | ENQ Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | CHLD(SDOEP,SDMOD) ;Delete Children
 | 
|---|
| 50 |  N DFN,SDCL,SDDA,SDOE0,SDOEC,SDORG,SDT
 | 
|---|
| 51 |  S SDOEC=0
 | 
|---|
| 52 |  F  S SDOEC=$O(^SCE("APAR",SDOEP,SDOEC)) Q:'SDOEC  D
 | 
|---|
| 53 |  .D SET(SDOEC,.SDOE0,.SDT,.DFN,.SDCL,.SDORG,.SDDA)
 | 
|---|
| 54 |  .D OE(SDOEC,SDMOD)
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 | SET(SDOE,SDOE0,SDT,DFN,SDCL,SDORG,SDDA) ;Set Variables
 | 
|---|
| 58 |  S SDOE0=$G(^SCE(+SDOE,0)),SDT=+SDOE0,DFN=+$P(SDOE0,"^",2),SDCL=+$P(SDOE0,"^",4),SDORG=+$P(SDOE0,"^",8),SDDA=$P(SDOE0,"^",9)
 | 
|---|
| 59 |  Q
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | CO(SDOE,SDMOD) ;Delete Classification
 | 
|---|
| 62 |  N DA,DIK,SDFL,SDI
 | 
|---|
| 63 |  I $P($G(^SCE(SDOE,0)),"^",6) G COQ
 | 
|---|
| 64 |  I $O(^SDD(409.42,"AO",SDOE,0))>0 D
 | 
|---|
| 65 |  .I $G(SDMOD) W !?3,"...deleting classifications"
 | 
|---|
| 66 |  .D DEL(SDOE,409.42)
 | 
|---|
| 67 | COQ Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | DEL(SDOE,SDFL) ;Delete Classification
 | 
|---|
| 70 |  N DA,DIK,SDI
 | 
|---|
| 71 |  S DIK="^SDD("_SDFL_",",SDI=0
 | 
|---|
| 72 |  F  S SDI=$O(^SDD(SDFL,"AO",SDOE,SDI)) Q:'SDI  S DA=+$O(^(SDI,0)) D ^DIK
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 | OE(SDOE,SDMOD) ;Delete Outpatient Encounter
 | 
|---|
| 76 |  N DA,DIK,SDVSIT,SDORG,SDAT
 | 
|---|
| 77 |  IF '$$EDITOK^SDCO3(SDOE,SDMOD) G OEQ
 | 
|---|
| 78 |  S SDAT=$P($G(^SCE(+SDOE,0)),U,1)
 | 
|---|
| 79 |  S SDVSIT=$P($G(^SCE(SDOE,0)),U,5),SDORG=$P($G(^SCE(SDOE,0)),U,8)
 | 
|---|
| 80 |  S DA=SDOE,DIK="^SCE(" D ^DIK
 | 
|---|
| 81 |  S X=$$KILL^VSITKIL(SDVSIT)
 | 
|---|
| 82 | OEQ Q
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 | COMDT(SDOE,SDMOD) ;Delete Check Out Process Completion Date
 | 
|---|
| 85 |  N DA,DE,DIE,DQ,DR
 | 
|---|
| 86 |  I $G(SDMOD) W !?3,"...deleting check out process completion date"
 | 
|---|
| 87 |  S DA=SDOE,DIE="^SCE(",DR=".07///@" D ^DIE
 | 
|---|
| 88 |  Q
 | 
|---|