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

PXRMTAXS.m

Go to the documentation of this file.
  1. PXRMTAXS ; SLC/PKR - Taxonomy search routines. ;12/14/2009
  1. ;;2.0;CLINICAL REMINDERS;**4,17**;Feb 04, 2005;Build 102
  1. ;
  1. ;=====================================================
  1. CSEARCH(FILENUM,CODE,CODEIEN,CODETYPE,NFOUND,TAXLIST) ; Search
  1. ;all taxonomies to see if they contain CODE.
  1. N PTR,TAX,TAXIEN
  1. S PTR=$S(FILENUM=80:"ICD9P",FILENUM=80.1:"ICD0P",FILENUM=81:"ICPTP",1:"")
  1. I PTR="" Q
  1. K TAXLIST
  1. S NFOUND=0,TAX=""
  1. F S TAX=$O(^PXD(811.2,"B",TAX)) Q:TAX="" D
  1. . S TAXIEN=$O(^PXD(811.2,"B",TAX,""))
  1. .;Make sure the expansion exists.
  1. . I '$D(^PXD(811.3,TAXIEN)) D EXPAND^PXRMBXTL(TAXIEN,"")
  1. . I $D(^PXD(811.3,TAXIEN,FILENUM,PTR,CODEIEN)) S NFOUND=NFOUND+1,TAXLIST(TAX)=""
  1. Q
  1. ;
  1. ;=====================================================
  1. ;if it is being used.
  1. N CODE,CODEIEN,CODETYPE,DIR,DIRUT,DTOUT,DUOUT,NFOUND
  1. N TAX,TAXLIST,RETVAL,VALID,Y
  1. S DIR(0)="FAOU"
  1. S DIR("A")="Input a code to search for: "
  1. GCODE W !
  1. D ^DIR
  1. I $D(DIRUT) Q
  1. S CODE=Y
  1. ;See if this is a valid code.
  1. S VALID=0
  1. S RETVAL=$$CODE^PXRMVAL(CODE,80)
  1. I $P(RETVAL,U,1)=1 S VALID=80
  1. I VALID=0 D
  1. . S RETVAL=$$CODE^PXRMVAL(CODE,80.1)
  1. . I $P(RETVAL,U,1)=1 S VALID=80.1
  1. I VALID=0 D
  1. . S RETVAL=$$CODE^PXRMVAL(CODE,81)
  1. . I $P(RETVAL,U,1)=1 S VALID=81
  1. I VALID=0 W !,CODE," is not a valid code, try again." G GCODE
  1. S CODETYPE=$P(RETVAL,U,7)
  1. S CODEIEN=$P(RETVAL,U,8)
  1. D CSEARCH(VALID,CODE,CODEIEN,CODETYPE,.NFOUND,.TAXLIST)
  1. I NFOUND=0 W !,CODE," is not used in any taxonmies." Q
  1. W !,CODETYPE," ",CODE," is used in the following taxonomies:"
  1. S TAX=""
  1. F S TAX=$O(TAXLIST(TAX)) Q:TAX="" W !," ",TAX
  1. G GCODE
  1. Q
  1. ;
  1. ;=====================================================
  1. SETVAR(TAXARR,ENS,INS,NICD0,NICD9,NCPT,NRCPT,PLS,RAS) ;
  1. N ALL,TEMP
  1. ;Initialize the taxonomy search variables.
  1. S TEMP=$G(TAXARR(0))
  1. S NICD0=+$P(TEMP,U,3)
  1. S NICD9=+$P(TEMP,U,5)
  1. S NCPT=+$P(TEMP,U,7)
  1. S NRCPT=+$P(TEMP,U,9)
  1. ;Setup the Patient Data Source control variables.
  1. S TEMP=$P(TAXARR(811.2,0),U,4)
  1. ;The default is to search all locations.
  1. S ALL=$S(TEMP="":1,TEMP="ALL":1,1:0)
  1. I ALL S (ENS,INS,PLS,RAS)=1 Q
  1. S ENS=$S(TEMP["EN":1,1:0)
  1. S INS=$S(TEMP["IN":1,1:0)
  1. S PLS=$S(TEMP["PL":1,1:0)
  1. S RAS=$S(TEMP["RA":1,1:0)
  1. Q
  1. ;