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

LEXDFSO.m

Go to the documentation of this file.
  1. LEXDFSO ;ISL/KER - Default Filter - Sources ;04/21/2014
  1. ;;2.0;LEXICON UTILITY;**80**;Sep 23, 1996;Build 10
  1. ;
  1. ; Global Variables
  1. ; ^TMP("LEXTSAB") SACC 2.3.2.5.1
  1. ;
  1. ; External References
  1. ; ^DIR ICR 10026
  1. ;
  1. ; Entry: S X=$$EN^LEXDFSO
  1. ;
  1. ; LEXFIL Filter (executable)
  1. ; LEXNAM Filter Name
  1. ; LEXPRO Y/N response to proceed with building filter
  1. ; LEXSTR Filter parameters (string)
  1. ; LEXX Filter returned
  1. ;
  1. EN(LEXX) ; Entry point S X=$$EN^LEXDFSO
  1. N LEXFIL,LEXPRO S LEXFIL=0 D INTRO S LEXPRO=$$PRO
  1. Q:LEXPRO["^" LEXPRO Q:LEXPRO'=1 "^No filter selected"
  1. S LEXX=$$EN^LEXDCCC S:LEXX="^" LEXX="^^"
  1. Q:LEXX["^^" "^^"
  1. Q:$P(LEXX,"^",1)="" "^No filter selected"
  1. D:$P(LEXX,"^",1)'="" ASSEM
  1. Q LEXX
  1. INTRO ; Introduction/Proceed
  1. N LEXSAB D SAB
  1. W !!,"You will be provided with ",LEXSAB," classifications systems to either include"
  1. W !,"or exclude during Lexicon look-up. If you select a classification system"
  1. W !,"(i.e., ICD) to be included, any terms which qualify during the search and are"
  1. W !,"linked to an ""included"" classification code (example ICD code) will be "
  1. W !,"included in the selection list."
  1. Q
  1. SAB N LEXI S LEXI="",LEXSAB=0
  1. F S LEXI=$O(^LEX(757.03,"B",LEXI)) Q:LEXI="" D
  1. . Q:'$D(^LEX(757.02,"ASRC",$E(LEXI,1,3)))
  1. . S:'$D(^TMP("LEXTSAB",$J,$E(LEXI,1,3))) ^TMP("LEXTSAB",$J,$E(LEXI,1,3))="",LEXSAB=LEXSAB+1
  1. K ^TMP("LEXTSAB",$J)
  1. Q
  1. PRO(LEXX) ; OK to proceed Y/N
  1. N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT W !!
  1. S DIR("A")="Do you wish to continue: ",DIR("B")="YES"
  1. S DIR("?")="Answer Yes or No",DIR("??")="^D PROH^LEXDFSO"
  1. S DIR(0)="YAO" D ^DIR S LEXX=Y Q LEXX
  1. PROH ; Proceed help
  1. W !!,?2,"Answer"
  1. W !!,?4,"Yes Continue to build a filter based on Classification Codes"
  1. W !,?4,"No Exit without building a filter",! Q
  1. ASSEM ; Assemble the return value FILTER^NAME
  1. N LEXNAM,LEXFIL S (LEXNAM,LEXFIL)="",LEXFIL=$P(LEXX,"^",1)
  1. I $L($G(LEXFIL)) S LEXFIL="I $$SO^LEXU(Y,"_""""_LEXFIL_""""_")"
  1. I LEXFIL[U S LEXNAM=$$NAME^LEXDM3 I LEXNAM="^^" S LEXX="^^"
  1. S:LEXX["^^" LEXFIL="",LEXNAM="^" S LEXX=LEXFIL_"^"_LEXNAM Q