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

RA97PST1.m

Go to the documentation of this file.
  1. RA97PST1 ;HINES/RVD - Radiology BI-RADS ;10/10/08
  1. ;;5.0;RADIOLOGY;**97**;March 16, 1998;Build 6
  1. ;
  1. ;
  1. BIR(RAX,RALEX,RALEXDT,RALEXSO,RALEXS,RALEXC) ; Example of 'Silent' Lexicon Call
  1. ; Return List of Categories w/Lexicon Pointers
  1. ;
  1. ; Input Variables
  1. ;
  1. ; RAX Text to Search for (Optional)
  1. ;
  1. ; RALEX Array name passed by Reference (Required)
  1. ;
  1. ; RALEXDT Version Date (Optional, default TODAY)
  1. ;
  1. ; RALEXSO Coding System (file 757.03) For the purposes
  1. ; of patch LEX*2.0*55, this may be set to "BIR"
  1. ; or <null> (Optional)
  1. ;
  1. ; RALEXS Source of terminology (file 757.14) For the
  1. ; purposes of patch LEX*2.0*55, this may be set
  1. ; to "BI-RADS" or "MQSA" (Optional)
  1. ;
  1. ; BI-RADS = Breast Imaging Reporting & Data System
  1. ; MQSA = Mammography Quality Standards Act
  1. ;
  1. ; RALEXC Source Category of the terminology (file 757.13)
  1. ; Frequently a terminology is broken down into
  1. ; categories (example, MRI, Ultrasound and/or
  1. ; Mammography) For the purposes of patch
  1. ; LEX*2.0*55, this is set to "MAMMOGRAPHY
  1. ; ASSESSMENT CATEGORIES" (Optional)
  1. ;
  1. ; Output Variables
  1. ;
  1. ; RALEX(0) Number of entries
  1. ; RALEX(#) Lexicon IEN ^ Text (term) ^ Code
  1. ; LEX ICR 2950
  1. ;
  1. ; NOTE: This API mimics code found in CPRS
  1. ;
  1. ; Global Variables
  1. ; ^TMP("LEXFND") ICR 2950
  1. ; ^TMP("LEXHIT") ICR 2950
  1. ; ^TMP("LEXSCH") ICR 1609
  1. ;
  1. ; External References
  1. ; LOOK^LEXA ICR 2950
  1. ; CONFIG^LEXSET ICR 1609
  1. ; $$DT^XLFDT ICR 10103
  1. ; SO^LEXA ICR 5386
  1. ;
  1. N DIC,RALEXA,RALEXCAT,RALEXCN,RALEXCT,RALEXI,RALEXIEN,RALEXSRC,RALEXSUB,RALEXT,RALEXVDT
  1. N RALEXX S RALEXSUB="WRD" S:$G(RALEXSO)="BIR" RALEXSUB="BI1"
  1. S (RAX,RALEXX)=$G(RAX) S:'$L(RALEXX) RALEXX="BIRAD" S RALEXVDT=$E($G(RALEXDT),1,7)
  1. S:+RALEXVDT'>0!(RALEXVDT'?7N)!(RALEXVDT<3030101) RALEXVDT=$$DT^XLFDT
  1. S:$L($G(RALEXS)) RALEXSRC=$G(RALEXS) S:$L($G(RALEXC)) RALEXCAT=$G(RALEXC)
  1. K ^TMP("LEXSCH",$J) D CONFIG^LEXSET(RALEXSUB,"WRD",RALEXVDT)
  1. S RALEXSUB="WRD" S:$G(RALEXSO)="BIR" RALEXSUB="BI1" S ^TMP("LEXSCH",$J,"DIS",0)="BIR",^TMP("LEXSCH",$J,"LEN",0)=100
  1. K DIC("S"),^TMP("LEXSCH",$J,"FIL",0)
  1. S:$L($G(RALEXSO)) (DIC("S"),^TMP("LEXSCH",$J,"FIL",0))="I +($$SO^LEXU(Y,"""_RALEXSO_""",+($G(RALEXVDT))))>0"
  1. D LOOK^LEXA(RALEXX,RALEXSUB,100,"",RALEXVDT,$G(RALEXSRC),$G(RALEXCAT))
  1. K ^TMP("LEXSCH",$J),^TMP("LEXFND",$J),^TMP("LEXHIT",$J)
  1. S RALEXI=0 F S RALEXI=$O(LEX("LIST",RALEXI)) Q:+RALEXI'>0 D
  1. . N RALEXIEN,RALEXT,RALEXE,RALEXCT,RALEXCN,RALEXN
  1. . S RALEXT=$G(LEX("LIST",RALEXI)),RALEXIEN=+RALEXT Q:RALEXIEN'>0
  1. . S (RALEXE,RALEXT)=$P(RALEXT,"^",2) Q:'$L(RALEXE)
  1. . S RALEXN=$O(RALEXA(" "),-1)+1,RALEXCN=+($E($P(RALEXT,"Category ",2),1)),RALEXCT="Category "_RALEXCN S:RALEXE["(BI" RALEXE=$P(RALEXE,"(BI",1) S:RALEXE[" *" RALEXE=$P(RALEXE," *",1)
  1. . S RALEXCN=+RALEXCN+1 S:$G(RALEXSO)="BIR" RALEXA(RALEXCN)=RALEXIEN_"^"_RALEXE_"^"_RALEXCT S:$G(RALEXSO)'="BIR" RALEXA(RALEXN)=RALEXIEN_"^"_RALEXT
  1. S:+($O(RALEXA(" "),-1))>0 RALEXA(0)=+($O(RALEXA(" "),-1)) K LEX S (RALEXCT,RALEXI)=0 F S RALEXI=$O(RALEXA(RALEXI)) Q:+RALEXI'>0 D
  1. . Q:'$L($G(RALEXA(RALEXI))) S RALEXCT=RALEXCT+1,RALEX(RALEXCT)=$G(RALEXA(RALEXI)),RALEX(0)=RALEXCT
  1. Q