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

LEXDFL.m

Go to the documentation of this file.
  1. LEXDFL ;ISL/KER - Default Filter ;04/21/2014
  1. ;;2.0;LEXICON UTILITY;**80**;Sep 23, 1996;Build 10
  1. ;
  1. ; Global Variables
  1. ; None
  1. ;
  1. ; External References
  1. ; $$GET1^DIQ ICR 2056
  1. ; $$UP^XLFSTR ICR 10103
  1. ;
  1. ; Entry: D EN^LEXDFL LEXAP is unknown
  1. ;
  1. ; Entry: D EN1^LEXDFL(LEXAP) LEXAP is known
  1. ;
  1. ; Single user entry point - Saves Filter in file 757.2
  1. ;
  1. ; Where
  1. ;
  1. ; LEXAP Pointer to file 757.2
  1. ; LEXUSER DUZ of user
  1. ; LEXCA Action (modify/delete)
  1. ; LEXCM Method (predefined/create)
  1. ;
  1. EN ; Single user, LEXAP is unknown
  1. N LEXAP S LEXAP=$$DFI^LEXDM4 Q:+LEXAP=0 W ! D EN1(LEXAP) Q
  1. EN1(LEXAP) ; Single user, LEXAP is known
  1. N LEXUSER,LEXX S LEXUSER=$G(DUZ) Q:+LEXUSER'>0 Q:'$L($$GET1^DIQ(200,+($G(DUZ)),.01))
  1. ;
  1. S LEXAP=$G(LEXAP) Q:LEXAP=""
  1. I '$D(^LEXT(757.2,+LEXAP,0))&('$D(^LEXT(757.2,"B",LEXAP)))&('$D(^LEXT(757.2,"C",$$UP^XLFSTR(LEXAP))))&('$D(^LEXT(757.2,"AN",LEXAP))) Q
  1. S:+LEXAP'>0 LEXAP=$$AP^LEXDFN2(LEXAP)
  1. ;
  1. Q:+($G(LEXAP))'>0 Q:+($P($G(^LEXT(757.2,+LEXAP,5)),"^",3))'>0
  1. N LEXCA,LEXCM,LEXDVAL,LEXDNAM,LEXFLD,LEXFIL S LEXFIL=""
  1. S LEXFLD=1,LEXCA=$$MOD^LEXDM(1) Q:LEXCA=0!(LEXCA="^^")
  1. D:LEXCA="@" KILL Q:LEXCA="@" W ! S LEXCM=$$MTH^LEXDM(1) Q:LEXCM["^"
  1. S:LEXCM=1 LEXDVAL=$$EN^LEXDFLS
  1. S:LEXCM=2 LEXDVAL=$$EN^LEXDFLC Q:LEXDVAL="^^"
  1. S LEXDNAM=$P(LEXDVAL,"^",$L(LEXDVAL,"^")),LEXDVAL=$P(LEXDVAL,"^",1,($L(LEXDVAL,"^")-1))
  1. D SET
  1. Q
  1. MGR(LEXX) ; Multi-user (for Manager options)
  1. ; Do not save filter, return value to manager option
  1. N LEXCA,LEXCM,LEXDVAL S LEXX=""
  1. S LEXCA=$$MOD^LEXDM(1) Q:LEXCA=0 "^" Q:(LEXCA="^^") "^^"
  1. Q:LEXCA="@" "@^Delete filter"
  1. W ! S LEXCM=$$MTH^LEXDM(1) S:LEXCM[U LEXX=U S:LEXCM["^^" LEXX="^^"
  1. Q:LEXX["^" LEXX
  1. S:LEXCM=1 LEXDVAL=$$EN^LEXDFLS S:LEXCM=2 LEXDVAL=$$EN^LEXDFLC
  1. Q:LEXDVAL="^^" "^^"
  1. S LEXX=LEXDVAL Q LEXX
  1. SET ; Set default filter
  1. D SET^LEXDSV(LEXUSER,LEXAP,LEXDVAL,LEXDNAM,LEXFLD) Q
  1. KILL ; Kill default filter
  1. D SET^LEXDSV(LEXUSER,LEXAP,"@","Delete",LEXFLD) Q