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

LEXDDTF.m

Go to the documentation of this file.
  1. LEXDDTF ;ISL/KER - Display Defaults - Filter ;04/21/2014
  1. ;;2.0;LEXICON UTILITY;**80**;Sep 23, 1996;Build 1
  1. ;
  1. ; Global Variables
  1. ; None
  1. ;
  1. ; External References
  1. ; None
  1. ;
  1. SC ; Filter by Semantic Classifications
  1. ; Required LEXDICS in the format I $$SC^LEXU...
  1. N LEXTC,LEXTCTR,LEXTI,LEXTIC,LEXTIE,LEXTSTR
  1. Q:'$L($G(LEXDICS)) Q:LEXDICS'["$$SC^LEXU"
  1. S LEX=$TR($P($P(LEXDICS,"Y,",2),")",1),"""","")
  1. S LEXTCTR=0,LEX("I")=$P(LEX,";",1)
  1. S LEX("E")=$P(LEX,";",2),LEX("L")=$P(LEX,";",3)
  1. S LEX("I","H")="Include expressions which relate to",LEXTCTR=0
  1. N LEXTIC,LEXTIE,LEXTI F LEXTI=1:1:$L(LEX("I"),"/") D
  1. . S LEXTIC=$P(LEX("I"),"/",LEXTI) Q:LEXTIC="UNK"
  1. . S LEXTCTR=LEXTCTR+1,LEX("I",LEXTCTR)=$$SN(LEXTIC)
  1. S LEX("I",0)=LEXTCTR
  1. S LEX("E","H")="Exclude expressions which relate to",LEXTCTR=0
  1. F LEXTI=1:1:$L(LEX("E"),"/") D
  1. . S LEXTIC=$P(LEX("E"),"/",LEXTI) Q:LEXTIC="UNK"
  1. . S LEXTCTR=LEXTCTR+1,LEX("E",LEXTCTR)=$$SN(LEXTIC)
  1. S LEX("E",0)=LEXTCTR
  1. S LEX("L","H")="Also include expressions which are linked to"
  1. S LEX("L","T")="coding system",LEXTCTR=0
  1. F LEXTI=1:1:$L(LEX("L"),"/") D
  1. . S LEXTIC=$P(LEX("L"),"/",LEXTI) Q:LEXTIC="UND" S LEXTCTR=LEXTCTR+1,LEX("L",LEXTCTR)=$$CN(LEXTIC)
  1. S:LEXTCTR>1 LEX("L","T")=LEX("L","T")_"s"
  1. S LEX("L","T")=LEX("L","T")_"."
  1. S LEX("L",0)=LEXTCTR
  1. S:'$D(LEXSTLN) LEXSTLN=56 K LEX("T") S LEXTCTR=0 N LEXT,LEXTSTR
  1. D:$G(LEX("I",0)) INC
  1. D:$G(LEX("E",0)) EXC
  1. D:$G(LEX("L",0)) LNK
  1. D EOC^LEXDDT2
  1. Q
  1. SO ; Filter by Sources
  1. ; Required LEXDICS in the format I $$SO^LEXU...
  1. N LEXTC,LEXTCTR,LEXTI,LEXTIC,LEXTIE,LEXTSTR
  1. Q:'$L($G(LEXDICS)) Q:LEXDICS'["$$SO^LEXU"
  1. S LEX=$TR($P($P(LEXDICS,"Y,",2),")",1),"""","")
  1. S LEXTCTR=0,LEX("L")=LEX
  1. S LEX("L","H")="Include expressions which are linked to"
  1. S LEX("L","T")="coding system",LEXTCTR=0
  1. F LEXTI=1:1:$L(LEX("L"),"/") D
  1. . S LEXTIC=$P(LEX("L"),"/",LEXTI) Q:LEXTIC="UND" S LEXTCTR=LEXTCTR+1,LEX("L",LEXTCTR)=$$CN(LEXTIC)
  1. S:LEXTCTR>1 LEX("L","T")=LEX("L","T")_"s"
  1. S LEX("L","T")=LEX("L","T")_"."
  1. S LEX("L",0)=LEXTCTR
  1. S:'$D(LEXSTLN) LEXSTLN=56 K LEX("T") S LEXTCTR=0 N LEXT,LEXTSTR
  1. S LEXTSTR="" D:$G(LEX("L",0)) LNK
  1. D EOC^LEXDDT2
  1. Q
  1. INC ; Inclusion Data Elements
  1. S LEXTSTR="",LEXT="I",LEXTCTR=0 D CONCAT^LEXDDT2 K LEX("I")
  1. Q
  1. EXC ; Exclusion Data Elements
  1. S LEXT="E",LEXTCTR=+($G(LEX(0)))
  1. I $D(LEXTSTR) D
  1. . S:$E(LEXTSTR,$L(LEXTSTR))["," LEXTSTR=$E(LEXTSTR,1,($L(LEXTSTR)-1))
  1. . I $L(LEXTSTR)'>(LEXSTLN+2) S LEXTSTR=LEXTSTR_" " Q
  1. . D SET^LEXDDT2
  1. . S LEXTSTR=""
  1. D CONCAT^LEXDDT2 K LEX("E")
  1. Q
  1. LNK ; Linked Sources Data Elements
  1. S LEXT="L",LEXTCTR=+($G(LEX(0)))
  1. I $D(LEXTSTR) D
  1. . S:$E(LEXTSTR,$L(LEXTSTR))["," LEXTSTR=$E(LEXTSTR,1,($L(LEXTSTR)-1))
  1. . I $L(LEXTSTR)'>(LEXSTLN+2) S LEXTSTR=LEXTSTR_" " Q
  1. . D SET^LEXDDT2
  1. . S LEXTSTR=""
  1. D CONCAT^LEXDDT2 K LEX("L")
  1. Q
  1. SN(LEXSTR) ; Get Semantic Data Element Name
  1. N LEXTEMP S LEXTEMP=LEXSTR I LEXTEMP?3U D
  1. . S LEXSTR=$O(^LEX(757.11,"B",LEXTEMP,0)) S:+LEXSTR=0 LEXSTR=""
  1. . S:+LEXSTR>0 LEXSTR=$P($G(^LEX(757.11,+LEXSTR,0)),"^",2)
  1. I LEXTEMP?1N.N D
  1. . S LEXSTR=+LEXTEMP
  1. . S LEXSTR=$S($D(^LEX(757.12,LEXSTR,0)):$P($G(^LEX(757.12,LEXSTR,0)),"^",2),1:"")
  1. Q LEXSTR
  1. CN(LEXSTR) ; Get Classification System Data Element Name
  1. N LEXTEMP,LEXTC S LEXTC=LEXSTR,LEXTEMP=$E(LEXSTR,1,2)_$C($A($E(LEXSTR,3))-1)_"~"
  1. S LEXSTR=""
  1. F S LEXTEMP=$O(^LEX(757.03,"B",LEXTEMP)) Q:LEXTEMP=""!(LEXSTR'="") D Q:LEXTEMP=""!(LEXSTR'="")
  1. . I LEXTEMP[LEXTC S LEXSTR=$O(^LEX(757.03,"B",LEXTEMP,0))
  1. S LEXSTR=+LEXSTR S:LEXSTR=0 LEXSTR=""
  1. I +LEXSTR>0,$D(^LEX(757.03,+LEXSTR)) S LEXSTR=$P($G(^LEX(757.03,+LEXSTR,0)),"^",2)
  1. Q LEXSTR