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

LRFRSLT.m

Go to the documentation of this file.
  1. LRFRSLT ;AITC/CR - LAB DATA FUNCTION API WRAPPER ; 10/25/17 3:46pm
  1. ;;5.2;LAB SERVICE;**476**;Sep 27, 1994;Build 11
  1. ; This routine is used by the FileMan function LRRESULT to generate a
  1. ; report of verified lab tests for multiple patients over a given
  1. ; date range
  1. ;
  1. GETLAB(MDAYS,TEST,SPEC,DFN) ; Custom lab lookup API for results
  1. ; MDAYS = # of days to look back for verified lab test results
  1. ; TEST = IEN for a given lab test, file #60
  1. ; SPEC = IEN for a given specimen, file #61
  1. ; DFN = IEN for patient, file #2
  1. ;
  1. N LRBGDT,RESULT,LDATE,UNITS
  1. N X,X1,X2
  1. Q:'+$G(TEST) ""
  1. Q:'+$G(DFN) ""
  1. S MDAYS=$G(MDAYS,365)
  1. S X1=DT,X2=-$G(MDAYS) D C^%DTC
  1. S LRBGDT=$S(X<DT:X,1:0)
  1. D RR^LR7OR1(DFN,,LRBGDT,DT,,TEST,,1,$G(SPEC))
  1. D FORMAT
  1. I $G(RESULT)']"" Q "NONE FOUND IN LAST "_+$S(+MDAYS:MDAYS,1:365)_" DAYS"
  1. Q RESULT_" "_UNITS_";"_$$FMTE^XLFDT(LDATE,2)
  1. ;
  1. FORMAT N IDT,LOC,NODE
  1. S IDT=0 F S IDT=$O(^TMP("LRRR",$J,DFN,"CH",IDT)) Q:'+IDT D
  1. . S LOC=0 F S LOC=$O(^TMP("LRRR",$J,DFN,"CH",IDT,LOC)) Q:'+LOC D
  1. .. S NODE=$G(^TMP("LRRR",$J,DFN,"CH",IDT,LOC))
  1. .. S RESULT=$P(NODE,U,2)
  1. .. S UNITS=$P(NODE,U,4)
  1. .. S LDATE=9999999-IDT
  1. Q