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

SDESCLNGRP.m

Go to the documentation of this file.
  1. SDESCLNGRP ;ALB/ANU - VISTA SCHEDULING RPCS - ROUTINE CLINIC GROUP LOOKUP ;Sept 9, 2022@14:21
  1. ;;5.3;Scheduling;**825**;Aug 13, 1993;Build 2
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ;
  1. ;External References
  1. ;-------------------
  1. ; Reference to $$GETS^DIQ,$$GETS1^DIQ in ICR #2056
  1. ; Reference to $$TRIM^XLFSTR in ICR #10104
  1. ;
  1. Q
  1. ;
  1. ;
  1. CLGRPLK(RETURNJSON,SRCHAR) ;
  1. ;
  1. ; Input:
  1. ; SRCHAR [Required] = Search string
  1. ;
  1. ; Output:
  1. ; RETURNJSON = Returns list of SDEC RESOURCE GROUP (#409.832) - Group IEN^Group Name.
  1. ;
  1. N RETURN,HASFIELDS,ELGFIELDSARRAY,ELGRETURN
  1. N ISSRCHARVALID,SRCHARLEN
  1. S (RETURN,HASFIELDS)=""
  1. ;
  1. S ISSRCHARVALID=$$VALIDATESRCH(.ERRORS,$G(SRCHAR))
  1. ;
  1. I $D(ERRORS) M RETURN=ERRORS
  1. I '$D(ERRORS) S HASFIELDS=$$SEARCH(.ELGFIELDSARRAY,SRCHAR)
  1. I HASFIELDS M RETURN=ELGFIELDSARRAY
  1. ;
  1. D BUILDJSON^SDESBUILDJSON(.RETURNJSON,.RETURN)
  1. D CLEANUP
  1. Q
  1. ;
  1. VALIDATESRCH(ERRORS,SRCHAR) ; Validate SEARCH STRING
  1. N ERRORFLAG
  1. I $TR(SRCHAR," ")="" S ERRORFLAG=1 D ERRLOG^SDESJSON(.ERRORS,231) Q $D(ERRORFLAG)
  1. Q $D(ERRORFLAG)
  1. ;
  1. N INACTDT,COUNT,GRPIEN,GRPNAME,HASDATA,SDCHARLEN
  1. S COUNT=0
  1. S SRCHAR=$$TRIM^XLFSTR(SRCHAR)
  1. S SDCHARLEN=$L(SRCHAR)
  1. D CHKNAME
  1. S GRPNAME=$S($P(SRCHAR,"|",1)'="":$E($P(SRCHAR,"|",1),1,SDCHARLEN),1:"")
  1. F S GRPNAME=$O(^SDEC(409.832,"B",GRPNAME)) Q:(GRPNAME="")!(GRPNAME'[SRCHAR)!($E(GRPNAME,1,SDCHARLEN)'=SRCHAR) D
  1. . S GRPIEN=$O(^SDEC(409.832,"B",GRPNAME,""))
  1. . S INACTDT=$$GET1^DIQ(409.832,",",.02,"I") ;inactive date
  1. . Q:(INACTDT'="")&(INACTDT<DT) ;Quit if inactive
  1. . S COUNT=COUNT+1
  1. . S ELGARRAY("ClinicGroup",COUNT,"IEN")=$G(GRPIEN) ;Clinic Group IEN
  1. . S ELGARRAY("ClinicGroup",COUNT,"Name")=$G(GRPNAME) ;Clinic Group Name
  1. I '$D(ELGARRAY) D
  1. .S ELGARRAY("ClinicGroup",1,"IEN")=""
  1. .S ELGARRAY("ClinicGroup",1,"Name")=""
  1. S HASDATA=($D(ELGARRAY)>1)
  1. Q HASDATA
  1. ;
  1. CHKNAME ;
  1. S GRPIEN=$O(^SDEC(409.832,"B",SRCHAR,""))
  1. Q:GRPIEN=""
  1. S INACTDT=$$GET1^DIQ(409.832,",",.02,"I") ;inactive date
  1. Q:(INACTDT'="")&(INACTDT<DT) ;Quit if inactive
  1. S GRPNAME=SRCHAR
  1. S COUNT=COUNT+1
  1. S ELGARRAY("ClinicGroup",COUNT,"IEN")=$G(GRPIEN) ;Clinic Group IEN
  1. S ELGARRAY("ClinicGroup",COUNT,"Name")=$G(GRPNAME) ;Clinic Group Name
  1. Q
  1. ;
  1. CLEANUP ;
  1. K RETURNERROR,ERRORFLAG,ERRORS,ISSRCHARVALID
  1. K INACTDT,COUNT,GRPIEN,GRPNAME
  1. Q
  1. ;