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

MAGNTLR7.m

Go to the documentation of this file.
  1. MAGNTLR7 ;WOIFO/NST - TeleReader Configuration utilities ; 30 Apr 2012 11:19 AM
  1. ;;3.0;IMAGING;**138**;Mar 19, 2002;Build 5380;Sep 03, 2013
  1. ;; Per VHA Directive 2004-038, this routine should not be modified.
  1. ;; +---------------------------------------------------------------+
  1. ;; | Property of the US Government. |
  1. ;; | No permission to copy or redistribute this software is given. |
  1. ;; | Use of unreleased versions of this software requires the user |
  1. ;; | to execute a written test agreement with the VistA Imaging |
  1. ;; | Development Office of the Department of Veterans Affairs, |
  1. ;; | telephone (301) 734-0100. |
  1. ;; | The Food and Drug Administration classifies this software as |
  1. ;; | a medical device. As such, it may not be changed in any way. |
  1. ;; | Modifications to this software may result in an adulterated |
  1. ;; | medical device under 21CFR820, the use of which is considered |
  1. ;; | to be a violation of US Federal Statutes. |
  1. ;; +---------------------------------------------------------------+
  1. ;;
  1. Q
  1. ;
  1. ;***** Get CPT Codes list by searching CPT Code description
  1. ;
  1. ; RPC: MAG3 TELEREADER CPT CODELOOKUP
  1. ;
  1. ; .MAGRY Reference to a local variable where the results are returned to.
  1. ;
  1. ; Input Parameters
  1. ; ================
  1. ; MAGFIND = Look up CPT code description value
  1. ;
  1. ; Return Values
  1. ; =============
  1. ; A list with CPT CODES for consult or procedure request.
  1. ;
  1. ; if error
  1. ; MAGRY(0) = 0 ^ Error message
  1. ; if success
  1. ; MAGRY(0) = 1 ^ Number of records return
  1. ; MAGRY(1..n) = CPT CODE IEN^ CPT CODE ^ Description
  1. ;
  1. ; Notes
  1. ; =====
  1. ; Temporary global nodes ^TMP("LEXFND",$J),^TMP("LEXHIT",$J),^TMP("LEXSCH",$J),^TMP("LEXLE",$J)
  1. ; are used by this procedure.
  1. ;
  1. CPTFIND(LST,MAGFIND) ; RPC [MAG3 TELEREADER CPT CODELOOKUP]
  1. N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR"
  1. ; Borrowed from LEX^ORWPCE
  1. N X,APP,ORDATE ; Parameters in LEX^ORWPCE
  1. N LEX,DIC
  1. S X=MAGFIND
  1. S APP="CHP"
  1. K LST
  1. ;
  1. S:APP="CPT" APP="CHP" ; LEX PATCH 10
  1. S:'+$G(ORDATE) ORDATE=DT
  1. D CONFIG^LEXSET(APP,APP,ORDATE) ;DBIA 1609
  1. I APP="CHP" D
  1. . ; Set the filter for CPT only using CS APIs - format is the same as for DIC("S")
  1. . S ^TMP("LEXSCH",$J,"FIL",0)="I $L($$CPTONE^LEXU(+Y,$G(ORDATE)))!($L($$CPCONE^LEXU(+Y,$G(ORDATE))))" ;DBIA 1609
  1. . ; Set Applications Default Flag (Lexicon can not overwrite filter)
  1. . S ^TMP("LEXSCH",$J,"ADF",0)=1
  1. D LOOK^LEXA(X,APP,1,"",ORDATE) ;DBIA 2950
  1. I '$D(LEX("LIST",1)) D QUIT
  1. . D LEXX
  1. . S LST(0)="0^No matches found."
  1. D LIST(.LEX) ; prepare the result
  1. D LEXX ; Clean up temp globals
  1. Q
  1. ;
  1. LIST(LEX) ; Generate the list
  1. N CPTCODE,CPTIEN
  1. N ILST,I,IEN
  1. ;
  1. S ILST=0
  1. S IEN=$P(LEX("LIST",1),U)
  1. S CPTCODE=$$CPTONE^LEXU(IEN,ORDATE) ;DBIA 1573
  1. I CPTCODE'="" D
  1. . S CPTIEN=$P($$CPT^ICPTCOD(CPTCODE),U) ;IA # 1995, supported reference
  1. . S:CPTIEN>0 ILST=ILST+1,LST(ILST)=CPTIEN_U_CPTCODE_U_$P(LEX("LIST",1),U,2)
  1. . Q
  1. ;
  1. S (I,IEN)=""
  1. F S I=$O(^TMP("LEXFND",$J,I)) Q:I="" D ;DBIA 2950
  1. . F S IEN=$O(^TMP("LEXFND",$J,I,IEN)) Q:IEN="" D
  1. . . S CPTCODE=$$CPTONE^LEXU(IEN,ORDATE) ; IA 1573
  1. . . Q:CPTCODE=""
  1. . . S CPTIEN=$P($$CPT^ICPTCOD(CPTCODE),U) ; IA # 1995, supported reference
  1. . . Q:CPTIEN'>0
  1. . . S ILST=ILST+1,LST(ILST)=CPTIEN_U_CPTCODE_U_^TMP("LEXFND",$J,I,IEN)
  1. S LST(0)=1_"^"_ILST
  1. Q
  1. ;
  1. LEXX ; Clean up temp globals
  1. K ^TMP("LEXFND",$J),^TMP("LEXHIT",$J),^TMP("LEXSCH",$J),^TMP("LEXLE",$J)
  1. Q