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

SDESCLINICDATA.m

Go to the documentation of this file.
  1. SDESCLINICDATA ;ALB/TAW,MGD,RRM,CGP,ANU,BWF - VISTA Clinic data getter ;June 27, 2023@10:00
  1. ;;5.3;Scheduling;**788,823,825,828,831,844,847,860,871**;Aug 13, 1993;Build 13
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ; Reference to INSTITUTION in ICR #10090
  1. Q
  1. ;
  1. ; The intention of this routine is to return a unique set of data from the HOSPITAL
  1. ;LOCATION (#44) for a specific IEN.
  1. ;
  1. ; It is assumed by getting here all business logic and validation has been performed.
  1. ;
  1. ; This routine should only be used for retrieving data from the HOSPITAL LOCATION file.
  1. Q
  1. APPTCLINIC(RETURN,IEN) ;
  1. ; Return clinic data related to an appointment
  1. ;
  1. ; Input
  1. ; IEN - Specific clinic IEN
  1. ; Return
  1. ; RETURN - Array of field names and the data for the field based on the IEN
  1. ;
  1. N CLINICARY,SDMSG,IENS,DIV,INST,TIMEZONEIEN,TIMEZONE,TZEXECPTION
  1. N TZLOOP,TZCNT,TZIENS,TIMEFRAME,OFFSET,TZCODE,TZDATA,STOPIEN,CRSTOPIEN
  1. K RETURN
  1. S IENS=IEN_","
  1. ;ANU
  1. D GETS^DIQ(44,IEN,".01;3.5;8;10;20;21;60;62;99;99.1;200;2503","IE","CLINICARY","SDMSG")
  1. S CLINICARY(44,IENS,99,"E")=$$TELEPHONE^SDESUTIL($G(CLINICARY(44,IENS,99,"E")))
  1. S CLINICARY(44,IENS,99.1,"E")=$$EXT^SDESUTIL($G(CLINICARY(44,IENS,99.1,"E")))
  1. ; 831 - add timezone information
  1. S DIV=$G(CLINICARY(44,IENS,3.5,"I"))
  1. S INST=$$GET1^DIQ(40.8,DIV,.07,"I")
  1. S TIMEZONEIEN=$$GET1^DIQ(4,INST,800,"I")
  1. S TIMEZONE=$$GET1^DIQ(4,INST,800,"E")
  1. S TZEXECPTION=$$GET1^DIQ(4,INST,802,"E")
  1. S RETURN("Name")=$G(CLINICARY(44,IENS,.01,"E"))
  1. S RETURN("PhysicalLocation")=$G(CLINICARY(44,IENS,10,"E"))
  1. S RETURN("PatientFriendlyName")=$G(CLINICARY(44,IENS,60,"E"))
  1. S RETURN("PbspID")=$G(CLINICARY(44,IENS,200,"E"))
  1. ;ANU
  1. S RETURN("DisplayClinicAppt")=$G(CLINICARY(44,IENS,62,"E"))
  1. S STOPIEN=$G(CLINICARY(44,IENS,8,"I"))
  1. S CRSTOPIEN=$G(CLINICARY(44,IENS,2503,"I"))
  1. S RETURN("StopCodeAMIS")=$$GET1^DIQ(40.7,STOPIEN,1,"I")
  1. S RETURN("StopCodeName")=$G(CLINICARY(44,IENS,8,"E"))
  1. S RETURN("CreditStopCodeAMIS")=$$GET1^DIQ(40.7,CRSTOPIEN,1,"I")
  1. S RETURN("CreditStopCodeName")=$G(CLINICARY(44,IENS,2503,"E"))
  1. ;
  1. ;847
  1. S RETURN("ECheckinAllowed")=$G(CLINICARY(44,IENS,20,"E"))
  1. S RETURN("PreCheckinAllowed")=$G(CLINICARY(44,IENS,21,"E"))
  1. ;
  1. S RETURN("Telephone")=$G(CLINICARY(44,IENS,99,"E"))
  1. S RETURN("TelephoneExtension")=$G(CLINICARY(44,IENS,99.1,"E"))
  1. S RETURN("Division")=$G(CLINICARY(44,IENS,3.5,"E"))
  1. S RETURN("StationNumber")=$$STATIONNUMBER^SDESUTIL($G(IEN)) ;SD,825-Clinic station number
  1. S RETURN("ClinicIEN")=$G(IEN) ;CP,828-Clinic IEN
  1. S RETURN("TimeZone")=$G(TIMEZONE)
  1. S RETURN("TimeZoneException")=TZEXECPTION
  1. I 'TIMEZONEIEN Q
  1. S (TZLOOP,TZCNT)=0 F S TZLOOP=$O(^DIT(1.71,TIMEZONEIEN,1,TZLOOP)) Q:'TZLOOP D
  1. .S TZIENS=TZLOOP_","_TIMEZONEIEN_","
  1. .D GETS^DIQ(1.711,TZIENS,"**","IE","TZDATA")
  1. .S TIMEFRAME=$G(TZDATA(1.711,TZIENS,.01,"E"))
  1. .S OFFSET=$G(TZDATA(1.711,TZIENS,.02,"E"))
  1. .S TZCODE=$G(TZDATA(1.711,TZIENS,.03,"E"))
  1. .S TZCNT=TZCNT+1
  1. .S RETURN("TimeZoneDetails",TZCNT,"TimeFrame")=TIMEFRAME
  1. .S RETURN("TimeZoneDetails",TZCNT,"Offset")=OFFSET
  1. .S RETURN("TimeZoneDetails",TZCNT,"TimeZoneCode")=TZCODE
  1. Q