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

SDCOM.m

Go to the documentation of this file.
SDCOM ;ALB/RMO - Process Completion - Check Out ;12 MAR 1993 11:10 am ; 1/19/07 1:37pm
 ;;5.3;Scheduling;**15,60,105,132,466,495**;Aug 13, 1993;Build 50
 ;
EN(SDOE,SDMOD,SDCPHDL,SDCOMF) ;Complete Check Out Process
 ; Input  -- SDOE     Outpatient Encounter file IEN
 ;           SDMOD    1=Interactive and 0=Non-interactive
 ;           SDCPHDL  Check Out Completion Handle  [Optional]
 ; Output -- SDCOMF   0=Incomplete, 1=Complete, 2=Already Complete
 N SDEVTF
 I $P($G(^SCE(+SDOE,0)),"^",7) S SDCOMF=2 G Q
 I '$$CHK(SDOE) S SDCOMF=0 W:$G(SDMOD) !!,*7,">>> ",$$ORG^SDCOU($P($G(^SCE(+SDOE,0)),"^",8))," not checked out.  Required information missing." G Q
 I '$G(SDCPHDL) N SDATA,SDCPHDL S SDEVTF=1 D EVT^SDCOU1(SDOE,"BEFORE",.SDCPHDL,.SDATA)
 D UPD(SDOE) S SDCOMF=1 I $G(SDMOD) D MSG
 I $G(SDEVTF),$G(SDCPHDL) D EVT^SDCOU1(SDOE,"AFTER",SDCPHDL,.SDATA)
Q Q
 ;
CHK(SDOE) ;Check if Process is Complete for Check Out
 ; Input  -- SDOE     Outpatient Encounter file IEN
 ; Output -- Process is Complete for Check Out
 ;           1=Yes and 0=No
 N DFN,SDCHK,SDCL,SDCLOEY,SDCOQUIT,SDCTI,SDDA,SDOE0,SDOEP,SDORG,SDSCDI,SDT,SCPROCA
 S SDOE0=$G(^SCE(+SDOE,0)),SDT=+SDOE0,DFN=+$P(SDOE0,"^",2),SDSCDI=$P(SDOE0,"^",3),SDCL=+$P(SDOE0,"^",4),SDOEP=+$P(SDOE0,"^",6),SDORG=+$P(SDOE0,"^",8),SDDA=+$P(SDOE0,"^",9)
 S SDCHK=1
 I SDOEP S SDCHK=0 G CHKQ
 I SDORG=1,'$$CODT^SDCOU(DFN,SDT,SDCL) D  G CHKQ:'SDCHK
 .I $$REQ^SDM1A(SDT)="CO" S SDCHK=0 Q
 .D DT^SDCO1(DFN,SDT,SDCL,SDDA,0,"",.SDCOQUIT)
 I $$REQ^SDM1A(SDT)'="CO" G CHKQ
 I SDORG=1,'$$CLINIC^SDAMU(SDCL) G CHKQ
 ;I "^1^2^"[("^"_SDORG_"^"),$$INP^SDAM2(DFN,SDT)="I" G CHKQ  ;SD*5.3*466 allow checks for inpatients as outpatients
 D CLASK^SDCO2(SDOE,.SDCLOEY)
 I $D(SDCLOEY) D  G CHKQ:'SDCHK
 .S SDCTI=0 F  S SDCTI=$O(SDCLOEY(SDCTI)) Q:'SDCTI  I $G(SDCLOEY(SDCTI))="" S SDCHK=0
 ;sent encounter to ASCD for review
 I $D(SDCLOEY(3)) D
 .N SCDXS,SCAMDX,DXS D GETDX^SDOE(SDOE,"SCDXS")
 .S DXS=0 F  S DXS=$O(SCDXS(DXS)) Q:'DXS  S SCAMDX(+SCDXS(DXS))=""
 .I $O(SCAMDX(0)) D ST^SDSCAPI(SDOE,.SCAMDX)
 I $$PRASK^SDCO3(SDOE),'$$PRV^SDOE(SDOE) S SDCHK=0 G CHKQ
 I $$DXASK^SDCO4(SDOE),'$$GETPDX^SDOE(SDOE) S SDCHK=0 G CHKQ
 I '$$CPT^SDOE(SDOE) S SDCHK=0 G CHKQ
CHKQ Q +$G(SDCHK)
 ;
UPD(SDOE) ;Update Check Out Process Completion Date
 ; Input  -- SDOE     Outpatient Encounter file IEN
 ; Output -- Update Check Out Process Completion Date
 N DA,DE,DIE,DQ,DR
 G UPDQ:'$D(^SCE(+SDOE,0))
 S DA=+SDOE,DIE="^SCE(",DR=".07///NOW"
 D ^DIE
UPDQ Q
 ;
MSG ;Check Out Message
 W !!?8,"...checked out ",$$FTIME^VALM1($P($G(^SCE(+SDOE,0)),"^",7))
 Q