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

PXRMTXCE.m

Go to the documentation of this file.
  1. PXRMTXCE ;SLC/PKR - List Manager routines for taxonomy choose entries. ;05/21/2013
  1. ;;2.0;CLINICAL REMINDERS;**26**;Feb 04, 2005;Build 404
  1. ;
  1. ;=========================================
  1. ENTRY ;Entry code
  1. K ^TMP("PXRMTAXCE",$J)
  1. I '$D(^TMP("PXRMTAXL",$J)) D BLDLIST^PXRMTAXL("PXRMTAXL")
  1. M ^TMP("PXRMTAXCE",$J)=^TMP("PXRMTAXL",$J)
  1. D XQORM
  1. Q
  1. ;
  1. ;=========================================
  1. EXIT ;Exit code
  1. K ^TMP("PXRMTAXCE",$J)
  1. S VALMBCK="R"
  1. Q
  1. ;
  1. ;=========================================
  1. HDR ; Header code
  1. S VALMHDR(1)="Taxonomy File Entries."
  1. S VALMSG="+ Next Screen - Prev Screen ?? More Actions"
  1. Q
  1. ;
  1. ;=========================================
  1. HELP ;Display help.
  1. N DDS,DIR0,DONE,IND,TEXT
  1. ;DBIA #5746 covers kill and set of DDS. DDS needs to be set or the
  1. ;Browser will kill some ScreenMan variables.
  1. S DDS=1,DONE=0
  1. F IND=1:1 Q:DONE D
  1. . S TEXT(IND)=$P($T(HTEXT+IND),";",3,99)
  1. . I TEXT(IND)="**End Text**" K TEXT(IND) S DONE=1 Q
  1. D BROWSE^DDBR("TEXT","NR","Taxonomy Choose Entries Help")
  1. S VALMBCK="R"
  1. Q
  1. ;
  1. ;=========================================
  1. HLITE(ENUM,MODE,PXRMTIEN) ;Highlight/unhighlight an entry. MODE=1 turns on
  1. ;highlighting, MODE=0 turns it off.
  1. N LINE,START,STOP,VCTRL
  1. S VCTRL=$S(MODE=1:IOINHI,1:IOINORM)
  1. S START=$P(^TMP("PXRMTAXCE",$J,"LINES",ENUM),U,1)
  1. S STOP=$P(^TMP("PXRMTAXCE",$J,"LINES",ENUM),U,2)
  1. F LINE=START:1:STOP D CNTRL^VALM10(LINE,1,80,VCTRL,IOINORM)
  1. S VALMHDR(1)=$$SLIST(.PXRMTIEN)
  1. Q
  1. ;
  1. ;=========================================
  1. HTEXT ;Taxonomy choose entries help text.
  1. ;;Select one of the following actions:
  1. ;; SEL - select a taxonomy to add to the list.
  1. ;; REM - remove a taxonomy from the list.
  1. ;; INQ - taxonomy inquiry.
  1. ;; DONE - done building the selection list.
  1. ;;**End Text**
  1. Q
  1. ;
  1. ;=========================================
  1. PEXIT ; Protocol exit code
  1. S VALMSG="+ Next Screen - Prev Screen ?? More Actions"
  1. ;Reset after page up/down etc
  1. D XQORM
  1. Q
  1. ;
  1. ;=========================================
  1. REMTAX ;Remove a taxonomy.
  1. N IEN
  1. ;Get the entry
  1. S IEN=+$$GETSEL^PXRMTAXL("Remove which taxonomy from selection list?")
  1. I IEN=0 S VALMBCK="R" Q
  1. D REMOVE(IEN)
  1. Q
  1. ;
  1. ;=========================================
  1. REMOVE(IEN) ;
  1. N ENUM
  1. K PXRMTIEN(IEN)
  1. S ENUM=+$G(^TMP("PXRMTAXCE",$J,"IEN",IEN))
  1. I ENUM>0 D HLITE(ENUM,0,.PXRMTIEN)
  1. S VALMBCK="R"
  1. Q
  1. ;
  1. ;=========================================
  1. SELECTED(IEN) ;
  1. N ENUM
  1. S ENUM=+$G(^TMP("PXRMTAXCE",$J,"IEN",IEN))
  1. S PXRMTIEN(IEN)=ENUM
  1. I ENUM>0 D HLITE(ENUM,1,.PXRMTIEN)
  1. S VALMBCK="R"
  1. Q
  1. ;
  1. ;=========================================
  1. SELTAX ;Select a taxonomy.
  1. N IEN
  1. ;Get the entry
  1. S IEN=+$$GETSEL^PXRMTAXL("Add which taxonomy to selection list?")
  1. I IEN=0 S VALMBCK="R" Q
  1. D SELECTED(IEN)
  1. Q
  1. ;
  1. ;=========================================
  1. SLIST(PXRMTIEN) ;
  1. N IEN,ENUM,ENUMLIST,SLIST
  1. S IEN=""
  1. F S IEN=$O(PXRMTIEN(IEN)) Q:IEN="" S ENUMLIST(PXRMTIEN(IEN))=""
  1. S ENUM=$O(ENUMLIST("")),SLIST=ENUM
  1. F S ENUM=$O(ENUMLIST(ENUM)) Q:ENUM="" S SLIST=SLIST_", "_ENUM
  1. I SLIST="" S SLIST="none"
  1. Q "Selected taxonomies: "_SLIST_"."
  1. ;
  1. ;=========================================
  1. START ;Main entry point for PXRM TAXONOMY SELECTION
  1. W !,"Select a taxonomy or taxonomies to import from." H 2
  1. D EN^VALM("PXRM TAXONOMY CHOOSE ENTRIES")
  1. Q
  1. ;
  1. ;=========================================
  1. XQORM ;Set range for selection.
  1. N NTAX
  1. S NTAX=^TMP("PXRMTAXCE",$J,"NTAX")
  1. S XQORM("#")=$O(^ORD(101,"B","PXRM TAXONOMY CHOOSE ENTRY",0))_U_"1:"_NTAX
  1. S XQORM("A")="Select Action: "
  1. Q
  1. ;
  1. ;=========================================
  1. XSEL ;Entry action for protocol PXRM TAXONOMY CHOOSE ENTRY.
  1. N IEN,SEL
  1. S SEL=$P(XQORNOD(0),"=",2)
  1. ;Remove trailing ,
  1. I $E(SEL,$L(SEL))="," S SEL=$E(SEL,1,$L(SEL)-1)
  1. ;Invalid selection
  1. I SEL["," D Q
  1. . W !,"Only one item number allowed." H 2
  1. . S VALMBCK="R"
  1. I ('SEL)!(SEL>VALMCNT)!('$D(@VALMAR@("SEL",SEL))) D Q
  1. . W !,SEL_" is not a valid item number." H 2
  1. . S VALMBCK="R"
  1. ;
  1. ;Get the IEN.
  1. S IEN=^TMP("PXRMTAXL",$J,"SEL",SEL)
  1. ;
  1. ;Full screen mode
  1. D FULL^VALM1
  1. ;
  1. ;Action list.
  1. N DIR,DIROUT,DIRUT,DTOUT,DUOUT,OPTION,X,Y
  1. S DIR(0)="SBM"_U
  1. S DIR(0)=DIR(0)_"SEL:Select;REM:Remove;INQ:Inquire"
  1. S DIR("A")="Select Action: "
  1. S DIR("B")="SEL"
  1. S DIR("?")="Select from the actions displayed."
  1. D ^DIR
  1. I $D(DIROUT)!$D(DIRUT) S VALMBCK="R" Q
  1. I $D(DTOUT)!$D(DUOUT) S VALMBCK="R" Q
  1. S OPTION=Y
  1. D CLEAR^VALM1
  1. ;
  1. I OPTION="INQ" D INQ^PXRMTAXL(IEN)
  1. I OPTION="REM" D REMOVE^PXRMTXCE(IEN)
  1. I OPTION="SEL" D SELECTED^PXRMTXCE(IEN)
  1. S VALMBCK="R"
  1. Q
  1. ;