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

BSDX25A.m

Go to the documentation of this file.
  1. BSDX25A ; IHS/OIT/HMW/MSC/SAT - WINDOWS SCHEDULING RPCS ;
  1. ;;3.0;IHS WINDOWS SCHEDULING;;DEC 09, 2010
  1. ;
  1. CO(DFN,SDT,SDCL,SDDA,SDASK,SDCODT,SDCOACT,SDLNE,SDCOALBF,BSDXAPTID,SDQUIET,VPRV,APIERR) ;Appt Check Out
  1. ; Input -- DFN Patient file IEN
  1. ; SDT Appointment Date/Time
  1. ; SDCL Hospital Location file IEN for Appt
  1. ; SDDA IEN in ^SC multiple or null [Optional]
  1. ; SDASK Ask Check Out Date/Time [Optional]
  1. ; SDCODT Date/Time of Check Out [Optional]
  1. ; SDCOACT Appt Mgmt Check Out Action [Optional]
  1. ; SDLNE Appt Mgmt Line Number [Optional]
  1. ; Output -- SDCOALBF Re-build Appt Mgmt List
  1. ; Input -- BSDXAPTID Appointment ID
  1. ; SDQUIET No Terminal output 0=allow display 1=do not allow
  1. ; VPRV V Provider IEN - pointer to V PROVIDER file
  1. I $D(XRTL) D T0^%ZOSV
  1. N SDCOQUIT,SDOE,SDATA
  1. S:'SDDA SDDA=$$FIND^SDAM2(DFN,SDT,SDCL)
  1. I 'SDDA D Q ; RETURN ERROR IF SDQUIET
  1. . S APIERR($I(APIERR))="SDCO1: Cannot check out this appointment - Hospital Location not identified."
  1. . G COQ
  1. S SDATA=$G(^DPT(DFN,"S",SDT,0))
  1. ; ** MT Blocking removed
  1. ;S X="EASMTCHK" X ^%ZOSF("TEST") I $T,$G(EASACT)'="W",$$MT^EASMTCHK(DFN,$P($G(SDATA),U,16),"C",$G(SDT)) D PAUSE^VALM1 G COQ
  1. ;
  1. ;-- if new encounter, pass to PCE
  1. I $$NEW^SDPCE(SDT) D S VALMBCK="R",SDCOALBF=1 G COQ
  1. . N SDCOED
  1. . S SDOE=$$GETAPT^SDVSIT2(DFN,SDT,SDCL)
  1. . ;
  1. . ; -- has appt already been checked out
  1. . S SDCOED=$$CHK($TR($$STATUS^SDAM1(DFN,SDT,SDCL,SDATA,SDDA),";","^"))
  1. . ;
  1. . D CO^BSDX25B(SDOE,DFN,SDT,SDCL,SDCODT,BSDXAPTID,SDQUIET,VPRV,.APIERR) Q
  1. ;
  1. COQ K % Q
  1. ;
  1. ;
  1. ;
  1. CHK(SDSTB) ; -- is appointment checked out
  1. N Y
  1. I "^2^8^12^"[("^"_+SDSTB_"^"),$P(SDSTB,"^",3)["CHECKED OUT" S Y=1
  1. Q +$G(Y)
  1. ;
  1. DT(DFN,SDT,SDCL,SDDA,SDASK,SDCODT,SDCOQUIT) ;Update Check Out Date
  1. N %DT,DR,SDCIDT,X
  1. S:'$D(^SC(SDCL,"S",0)) ^(0)="^44.001DA^^"
  1. S DR="",SDCIDT=$P($G(^SC(SDCL,"S",SDT,1,SDDA,"C")),"^"),X=$P($G(^("C")),"^",3)
  1. I X G DTQ:'SDASK S DR="303R"
  1. I DR="",$P(^SC(SDCL,0),U,24),$$REQ^SDM1A(SDT)="CO" S DR="303R//"_$S($G(SDCODT):$$FTIME^VALM1($S(SDCODT<SDCIDT:SDCIDT,1:SDCODT)),1:"NOW")
  1. I DR="" S DR="303R///"_$S($G(SDCODT):"/"_$S(SDCODT<SDCIDT:SDCIDT,1:SDCODT),1:"NOW")
  1. S DR="S SDCOQUIT="""";"_DR_";K SDCOQUIT"
  1. D DIE(SDCL,SDT,SDDA,DR)
  1. DTQ Q
  1. ;
  1. DIE(SDCL,SDT,SDDA,DR) ; -- update appt data in ^SC
  1. N DA,DIE
  1. S DA(2)=SDCL,DA(1)=SDT,DA=SDDA,DIE="^SC("_DA(2)_",""S"","_DA(1)_",1,"
  1. D ^DIE K DQ,DE
  1. DIEQ Q