Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SDCODEL

SDCODEL.m

Go to the documentation of this file.
  1. SDCODEL ;ALB/RMO,BWF - Delete Check Out ;JAN 15, 2016
  1. ;;5.3;Scheduling;**20,27,44,97,105,110,132,257,627,717,831**;Aug 13, 1993;Build 4
  1. ;
  1. EN(SDOE,SDMOD,SDELHDL,SDELSRC) ;Delete Check Out
  1. ; Input -- SDOE Outpatient Encounter file IEN
  1. ; SDMOD 1=Interactive and 0=Non-interactive, 2=Non-interactive/from GUI
  1. ; SDELHDL Check Out Deletion Handle [Optional]
  1. ; SDELSRC Source of delete
  1. ; Output -- Delete Check Out
  1. N DA,DFN,DE,DIE,DR,SDCL,SDDA,SDEVTF,SDOE0,SDOEP,SDORG,SDT,SDVSAV,SDVFLG,X
  1. D SET(SDOE,.SDOE0,.SDT,.DFN,.SDCL,.SDORG,.SDDA)
  1. S SDVSAV=$P(SDOE0,U,5)
  1. ;
  1. ; -- ok to delete?
  1. IF '$$EDITOK^SDCO3(SDOE,SDMOD) G ENQ
  1. ;
  1. S SDELSRC=$G(SDELSRC) ;*zeb+1 717 11/6/18 suppress event if coming from cancel appointment
  1. IF SDELSRC'="PCE" S X=$$DELVFILE^PXAPI("ALL",$P($G(^SCE(SDOE,0)),U,5),"","","",0)
  1. S SDVFLG=1
  1. ;
  1. ; -- get handle if not passed and do 'before'
  1. I '$G(SDELHDL),("^CANCEL^NOSHOW^"'["^"_SDELSRC_"^") N SDATA,SDELHDL S SDEVTF=1 D EVT^SDCOU1(SDOE,"BEFORE",.SDELHDL,.SDATA) ;*zeb 717 11/6/18 suppress event if coming from cancel or no show
  1. ;
  1. I $G(SDMOD)=1 W !!,">>> Deleting check out information..." ;*zeb 10/25/18 717 fix test for SDMOD=2 for GUI
  1. ;
  1. ; -- delete child data for appts, disposition and stop code addition
  1. I "^1^2^3^"[("^"_SDORG_"^") D CHLD(SDOE,SDMOD) ;SD/257
  1. ;
  1. ; -- delete SDOE pointers and co d/t
  1. I SDORG=1 D
  1. .S DA(1)=DFN,DA=SDT,DIE="^DPT("_DFN_",""S"",",DR="21///@" D ^DIE
  1. .I $G(SDMOD)=1 W !?3,"...deleting check out date/time"
  1. .S DR="303///@" D DIE^SDCO1(SDCL,SDT,+SDDA,DR)
  1. I SDORG=3 D
  1. .S DA(1)=DFN,DA=+SDDA,DIE="^DPT("_DFN_",""DIS"",",DR="18///@" D ^DIE
  1. ;
  1. ; -- do final deletes for sdoe
  1. D CO(SDOE,SDMOD)
  1. D OE(SDOE,SDMOD)
  1. D SDEC(DFN,SDT,SDCL) ;delete checkout in SDEC APPOINTMENT ;alb/sat 627
  1. ;
  1. I $G(SDMOD)=1 W !,">>> done."
  1. ;
  1. ; -- if handle not passed, then 'after' and event
  1. I $G(SDEVTF),(SDELSRC'="CANCEL") D EVT^SDCOU1(SDOE,"AFTER",SDELHDL,.SDATA,SDOE0) ;*zeb 717 11/6/18 suppress event if coming from cancel appointment
  1. ;
  1. ; -- call pce to make sure its data is gone
  1. I $G(SDVFLG) D DEAD^PXUTLSTP(SDVSAV)
  1. ENQ Q
  1. ;
  1. CHLD(SDOEP,SDMOD) ;Delete Children
  1. N DFN,SDCL,SDDA,SDOE0,SDOEC,SDORG,SDT
  1. S SDOEC=0
  1. F S SDOEC=$O(^SCE("APAR",SDOEP,SDOEC)) Q:'SDOEC D
  1. .D SET(SDOEC,.SDOE0,.SDT,.DFN,.SDCL,.SDORG,.SDDA)
  1. .D OE(SDOEC,SDMOD)
  1. Q
  1. ;
  1. SET(SDOE,SDOE0,SDT,DFN,SDCL,SDORG,SDDA) ;Set Variables
  1. S SDOE0=$G(^SCE(+SDOE,0)),SDT=+SDOE0,DFN=+$P(SDOE0,"^",2),SDCL=+$P(SDOE0,"^",4),SDORG=+$P(SDOE0,"^",8),SDDA=$P(SDOE0,"^",9)
  1. Q
  1. ;
  1. CO(SDOE,SDMOD) ;Delete Classification
  1. N DA,DIK,SDFL,SDI
  1. I $P($G(^SCE(SDOE,0)),"^",6) G COQ
  1. I $O(^SDD(409.42,"AO",SDOE,0))>0 D
  1. .I $G(SDMOD)=1 W !?3,"...deleting classifications"
  1. .D DEL(SDOE,409.42)
  1. COQ Q
  1. ;
  1. DEL(SDOE,SDFL) ;Delete Classification
  1. N DA,DIK,SDI
  1. S DIK="^SDD("_SDFL_",",SDI=0
  1. F S SDI=$O(^SDD(SDFL,"AO",SDOE,SDI)) Q:'SDI S DA=+$O(^(SDI,0)) D ^DIK
  1. Q
  1. ;
  1. OE(SDOE,SDMOD) ;Delete Outpatient Encounter
  1. N DA,DIK,SDVSIT,SDORG,SDAT
  1. IF '$$EDITOK^SDCO3(SDOE,SDMOD) G OEQ
  1. S SDAT=$P($G(^SCE(+SDOE,0)),U,1)
  1. S SDVSIT=$P($G(^SCE(SDOE,0)),U,5),SDORG=$P($G(^SCE(SDOE,0)),U,8)
  1. S DA=SDOE,DIK="^SCE(" D ^DIK
  1. S X=$$KILL^VSITKIL(SDVSIT)
  1. OEQ Q
  1. ;
  1. COMDT(SDOE,SDMOD) ;Delete Check Out Process Completion Date
  1. N DA,DE,DIE,DQ,DR
  1. I $G(SDMOD)=1 W !?3,"...deleting check out process completion date"
  1. S DA=SDOE,DIE="^SCE(",DR=".07///@" D ^DIE
  1. Q
  1. ;
  1. SDEC(DFN,SDT,SDCL) ;delete check out in SDEC APPOINTMENT ;alb/sat 627
  1. N SDECAPID
  1. S SDECAPID=$$APPTGET^SDECUTL(DFN,SDT,SDCL)
  1. D CANAPPT^SDEC25(SDECAPID)
  1. Q