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

SDEC25B.m

Go to the documentation of this file.
  1. SDEC25B ;ALB/SAT - VISTA SCHEDULING RPCS ;Apr 03, 2020@14:27
  1. ;;5.3;Scheduling;**627,694**;Aug 13, 1993;Build 61
  1. ;
  1. Q
  1. ;
  1. CO(SDOE,DFN,SDT,SDCL,SDCODT,SDECAPTID,SDQUIET,VPRV,APIERR) ;EP; called to ask check-out date/time ;SAT ADDED PARAMETERS SDCODT, SDECAPTID, & SDQUIET
  1. ; Called by SDCO1
  1. ; SDOE = Outpatient Encounter IEN
  1. ; DFN = Patient IEN
  1. ; SDT = Appointment Date/Time
  1. ; SDCL = Clinic IEN
  1. ; SDCODT = APPOINTMENT CHECKOUT TIME [OPTIONAL - USED WHEN SDQUIET=1] USER ENTERED FORMAT
  1. ; SDECAPTID = APPOINTMENT ID - POINTER TO ^SDECAPPT
  1. ; SDQUIET = ALLOW NO TERMINAL INPUT/OUTPUT 0=ALLOW; 1=DO NOT ALLOW
  1. ; VPRV = V Provider IEN - pointer to V PROVIDER file
  1. ; APIERR = Returned Array of errors
  1. ; APIERR = counter
  1. ; APIERR(counter)=message -- <Prog name>: <message>
  1. ;
  1. I '$G(SDOE) D ^%ZTER Q ;lets trap an error here to see what is causing the problem
  1. N DIE,DA,DR,SDECNOD,SDN,SDV,AUPNVSIT
  1. S DIE="^SC("_SDCL_",""S"","_SDT_",1,"
  1. S DA(2)=SDCL,DA(1)=SDT,(DA,SDN)=$$SCIEN^SDECU2(DFN,SDCL,SDT)
  1. ;S DA(4)=SDCL,DA(3)="S",DA(2)=SDT,DA(1)=1,(DA,SDN)=$$SCIEN^SDECU2(DFN,SDCL,SDT)
  1. ;CHECK THAT APPOINTMENT IS CHECKED IN
  1. I $P($G(^SC(+SDCL,"S",SDT,1,SDN,"C")),U)="" D Q
  1. . S APIERR=$G(APIERR)+1 S APIERR(APIERR)="SDEC25B: Patient not checked in"
  1. . Q
  1. ;
  1. S DR="303///"_SDCODT_";304///`"_DUZ_";306///"_$$NOW^XLFDT ;PWC removed the $$FMTE^XLFDT for variable SDCODT SD*5.3*694
  1. D ^DIE
  1. ;
  1. ; if checked out and status not updated, do it now
  1. I $P($G(^SC(+SDCL,"S",SDT,1,DA,"C")),U,3)]"" D
  1. . ;UPDATE APPOINTMENT SCHEDULE GLOBAL ^SDEC(409.84
  1. . I $G(SDECAPTID) D
  1. . . S PSTAT=$P(^SCE(SDOE,0),U,12)
  1. . . S DIE="^SDEC(409.84,"
  1. . . S DA=SDECAPTID
  1. . . S DR=".14///"_$G(SDCODT)_";.19///"_PSTAT
  1. . . D ^DIE
  1. . . ;possibly update VProvider
  1. . . S SDECNOD=^SDEC(409.84,SDECAPTID,0)
  1. . . I $G(VPRV),+$P(SDECNOD,U,15) D
  1. . . . ;get SDEC appointment schedule
  1. . . . S DIE="^AUPNVPRV("
  1. . . . S DA=$P(SDECNOD,U,15)
  1. . . . S DR=".01///"_VPRV
  1. . . . D ^DIE
  1. . ;
  1. . Q:$$GET1^DIQ(409.68,SDOE,.12)="CHECKED OUT"
  1. . S DIE=409.68,DA=SDOE,DR=".12///14;101///"_DUZ_";102///"_$$NOW^XLFDT
  1. . D ^DIE
  1. . ;
  1. . ; if visit pointer stored, update visit checkout date/time
  1. . S SDV=$$GET1^DIQ(409.68,SDOE,.05,"I") Q:'SDV
  1. . Q:'$D(^AUPNVSIT(SDV,0)) Q:$$GET1^DIQ(9000010,SDV,.05,"I")'=DFN
  1. . Q:$$GET1^DIQ(9000010,SDV,.11,"I")=1 ;deleted
  1. . ;
  1. . ;cmi/maw 5/1/2009 PATCH 1010 RQMT 34
  1. . S DIE="^AUPNVSIT(",DA=SDV
  1. . S DR=".18///"_$P($G(^SC(+SDCL,"S",SDT,1,SDN,"C")),U,3)
  1. . D ^DIE
  1. Q
  1. ;
  1. CO1(SDECAPTID,SDCODT,SDOE,VPRV) ;external checkout called from FILE^SDAPIAP to update SDEC APPOINTMENT from VistA appointment check out
  1. ;INPUT:
  1. ; SDECAPTID = Appt ID pointer to SDEC APPOINTMENT file
  1. ; SDCODT = Checkout date/time in fm format
  1. ; SDOE = outpatient encounter pointer to OUTPATIENT ENCOUNTER file 409.68
  1. ; VPRV = V Provider pointer to V PROVIDER file
  1. N DA,DR,PSTAT,SDEDNOD
  1. I $G(SDECAPTID) D
  1. . S PSTAT=$P(^SCE(SDOE,0),U,12)
  1. . S DIE="^SDEC(409.84,"
  1. . S DA=SDECAPTID
  1. . S DR=".14///"_$G(SDCODT)_";.19///"_PSTAT
  1. . D ^DIE
  1. . ;possibly update VProvider
  1. . S SDECNOD=^SDEC(409.84,SDECAPTID,0)
  1. . I $G(VPRV),+$P(SDECNOD,U,15) D
  1. . . ;get SDEC appointment schedule
  1. . . S DIE="^AUPNVPRV("
  1. . . S DA=$P(SDECNOD,U,15)
  1. . . S DR=".01///"_VPRV
  1. . . D ^DIE
  1. Q