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

SDES2GETCLNSTA.m

Go to the documentation of this file.
  1. SDES2GETCLNSTA ;ALB/BWF - SDES2 GET CLINICS BY STATION; JUL 17,2024
  1. ;;5.3;Scheduling;**886**;Aug 13, 1993;Build 13
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. Q
  1. ;
  1. ; INPUT
  1. ; SDCONTEXT Array
  1. ;
  1. ; SDINPUT("STATION NUMBER") - station number
  1. ; SDINPUT("ACTIVE ONLY") - set to '1' if only active clinics should be included (if nothing is sent, active and inactive clinics are returned)
  1. ;
  1. GETCLINICS(JSONRETURN,SDCONTEXT,SDINPUT) ;
  1. N STATION,INST,ERRORS,CNT,DATA,CLINIEN,CLNSTA
  1. S DATA=$NA(^TMP("SDES2GETCLNSTA",$J,"DATA")) K @DATA
  1. ; validate context
  1. S JSONRETURN=$NA(^TMP("SDES2GETCLNSTA",$J,"JSON")) K @JSONRETURN
  1. D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
  1. I $D(ERRORS) S ERRORS("Clinic",1)="" D ENCODE^XLFJSON("ERRORS",.JSONRETURN) Q
  1. ; validate SDINPUT
  1. I $D(SDINPUT("ACTIVE ONLY")),$G(SDINPUT("ACTIVE ONLY"))'=1 D ERRLOG^SDES2JSON(.ERRORS,52,"Invalid 'ACTIVE ONLY' flag.")
  1. S STATION=$G(SDINPUT("STATION NUMBER"))
  1. I STATION="" D ERRLOG^SDES2JSON(.ERRORS,196)
  1. S INST=$$IEN^XUAF4(STATION)
  1. I STATION]"",'INST D ERRLOG^SDES2JSON(.ERRORS,197)
  1. I $D(ERRORS) S ERRORS("Clinic",1)="" D ENCODE^XLFJSON("ERRORS",.JSONRETURN) Q
  1. ;
  1. S (CLINIEN,CNT)=0
  1. F S CLINIEN=$O(^SC(CLINIEN)) Q:'CLINIEN D
  1. .Q:$$GET1^DIQ(44,CLINIEN,2,"I")'="C"
  1. .S CLNSTA=$$CLINSTA(CLINIEN) Q:CLNSTA=""
  1. .I $L(STATION)=3,+CLNSTA'=STATION Q
  1. .I $L(STATION)>3,CLNSTA'=STATION Q
  1. .I $G(SDINPUT("ACTIVE ONLY")) Q:$$INACTIVE^SDES2UTIL(CLINIEN,DT)
  1. .S CNT=CNT+1
  1. .S @DATA@("Clinic",CNT,"ClinicIen")=CLINIEN
  1. .S @DATA@("Clinic",CNT,"ResourceIen")=$O(^SDEC(409.831,"ALOC",CLINIEN,0))
  1. .S @DATA@("Clinic",CNT,"Name")=$$GET1^DIQ(44,CLINIEN,.01,"E")
  1. I '$D(@DATA) S @DATA@("Clinic",1)=""
  1. D ENCODE^XLFJSON(.DATA,.JSONRETURN)
  1. K @DATA
  1. Q
  1. CLINSTA(CLINIEN) ;
  1. N DIV,INST,STA
  1. S DIV=$$GET1^DIQ(44,CLINIEN,3.5,"I")
  1. S INST=$$GET1^DIQ(40.8,DIV,.07,"I")
  1. S STA=$$STA^XUAF4(INST)
  1. Q STA