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

BSDX26.m

Go to the documentation of this file.
  1. BSDX26 ; IHS/OIT/HMW/MSC/SAT - WINDOWS SCHEDULING RPCS ;
  1. ;;3.0;IHS WINDOWS SCHEDULING;;DEC 09, 2010
  1. ;
  1. ;
  1. EDITAPTD(BSDXY,BSDXAPTID,BSDXNOTE) ;EP
  1. ;Entry point for debugging
  1. ;
  1. ;D DEBUG^%Serenji("EDITAPT^BSDX26(.BSDXY,BSDXAPTID,BSDXNOTE)")
  1. Q
  1. ;
  1. EDITAPT(BSDXY,BSDXAPTID,BSDXNOTE,BSDXLEN) ;EP Edit appointment (only note text and appontment length can be edited)
  1. ;
  1. ; BSDXAPTID - Appointment ID
  1. ; BSDXNOTE - Note
  1. ; BSDXLEN - If there is a change in the length of appointment, this is the new value (in minutes) for length
  1. ;
  1. N BSDXNOD,BSDXPATID,BSDXSTART,DIK,DA,BSDXID,BSDXI,BSDXZ,BSDXIENS,BSDXEND
  1. ;
  1. D ^XBKVAR
  1. S X="ETRAP^BSDX26",@^%ZOSF("TRAP")
  1. S BSDXI=0
  1. K ^BSDXTMP($J)
  1. S BSDXY="^BSDXTMP("_$J_")"
  1. S ^BSDXTMP($J,BSDXI)="T00020ERRORID"_$C(30)
  1. S BSDXI=BSDXI+1
  1. TSTART
  1. I '+BSDXAPTID D ERR(BSDXI,"BSDX26: Invalid Appointment ID") Q
  1. I '$D(^BSDXAPPT(BSDXAPTID,0)) D ERR(BSDXI,"BSDX26: Invalid Appointment ID") Q
  1. ;Add WP field
  1. ;I BSDXNOTE]"" S BSDXNOTE(.5)=BSDXNOTE,BSDXNOTE=""
  1. S BSDXNOTE(.5)=BSDXNOTE,BSDXNOTE=""
  1. I $D(BSDXNOTE(0)) S BSDXNOTE(.5)=BSDXNOTE(0) K BSDXNOTE(0)
  1. I $D(BSDXNOTE(.5)) D
  1. . D WP^DIE(9002018.4,BSDXAPTID_",",1,"","BSDXNOTE","BSDXMSG")
  1. ;
  1. ;Edit appointment length
  1. I $G(BSDXLEN),$G(BSDXLEN)>0 D
  1. . S BSDXSTART=$$GET1^DIQ(9002018.4,BSDXAPTID,.01,"I"),BSDXEND=$$GET1^DIQ(9002018.4,BSDXAPTID,.02,"I")
  1. . S BSDXOLEN=$$FMDIFF^XLFDT(BSDXEND,BSDXSTART,2),BSDXOLEN=BSDXOLEN/60
  1. . Q:BSDXOLEN=BSDXLEN
  1. . S BSDXRES=$$GET1^DIQ(9002018.4,BSDXAPTID,.07,"I") Q:'BSDXRES
  1. . S BSDXPAT=$$GET1^DIQ(9002018.4,BSDXAPTID,.05,"I") Q:'BSDXPAT
  1. . S BSDXCL=$$GET1^DIQ(9002018.1,BSDXRES,.04,"I") Q:'BSDXCL
  1. . S BSDXAP=0 F S BSDXAP=$O(^SC(BSDXCL,"S",BSDXSTART,1,BSDXAP)) Q:'BSDXAP D
  1. . . S BSDXIENS=BSDXAP_","_BSDXSTART_","_BSDXCL_","
  1. . . I $$GET1^DIQ(44.003,BSDXIENS,.01,"I")=BSDXPAT,$$GET1^DIQ(44.003,BSDXIENS,1,"I")=BSDXOLEN D
  1. . . . S FDA(44.003,BSDXIENS,1)=BSDXLEN D FILE^DIE(,"FDA") K FDA
  1. . . . S BSDXNEND=$$FMADD^XLFDT(BSDXSTART,,,BSDXLEN)
  1. . . . S FDA(9002018.4,BSDXAPTID_",",.02)=BSDXNEND D FILE^DIE(,"FDA") K FDA
  1. ;
  1. ;Return Recordset
  1. TCOMMIT
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)="-1"_$C(30)
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)=$C(31)
  1. Q
  1. ;
  1. ;
  1. ERR(BSDXI,BSDXERR) ;Error processing
  1. S BSDXI=BSDXI+1
  1. TROLLBACK
  1. S ^BSDXTMP($J,BSDXI)=BSDXERR_$C(30)
  1. S BSDXI=BSDXI+1
  1. S ^BSDXTMP($J,BSDXI)=$C(31)
  1. Q
  1. ;
  1. ETRAP ;EP Error trap entry
  1. TROLLBACK
  1. D ^%ZTER
  1. I '$D(BSDXI) N BSDXI S BSDXI=999999
  1. S BSDXI=BSDXI+1
  1. D ERR(BSDXI,"BSDX26 Error: "_$G(%ZTERROR))
  1. Q