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

BQIUTIL.m

Go to the documentation of this file.
  1. BQIUTIL ;VNGT/HS/ALA-Utility Program ; 10 Nov 2008 9:53 AM
  1. ;;2.6;ICARE MANAGEMENT SYSTEM;;Jul 07, 2017;Build 72
  1. ;
  1. MREC(PTDFN,FREF,ITEM) ;EP
  1. ; Find the most recent value for a specified item
  1. ; Input
  1. ; PTDFN - Patient IEN
  1. ; FREF - FileMan file number
  1. ; ITEM - Item (.01 external value)
  1. ;
  1. NEW RESULT,GREF,ENDT,IEN,TIEN,TEMP,QFL,XREF,IGREF,RITEM,BQPAR
  1. S RESULT=0
  1. ;
  1. S ITEM=$G(ITEM,"")
  1. I ITEM="" Q RESULT
  1. D FIELD^DID(FREF,.01,"","POINTER","BQPAR")
  1. S IGREF=$G(BQPAR("POINTER")),XREF="""B""" I IGREF="" Q RESULT
  1. S IGREF=U_IGREF_XREF_")"
  1. S RITEM=$O(@IGREF@(ITEM,"")) I RITEM="" Q RESULT
  1. ;
  1. S GREF=$$ROOT^DILFD(FREF,"",1)
  1. S TEMP=$NA(^TMP("BQITEMP",UID)) K @TEMP
  1. S IEN="",QFL=0
  1. F S IEN=$O(@GREF@("AC",PTDFN,IEN),-1) Q:'IEN D
  1. . S TIEN=$$GET1^DIQ(FREF,IEN,.01,"I") I TIEN="" Q
  1. . I TIEN'=RITEM Q
  1. . S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. . I $$GET1^DIQ(9000010,VISIT,.11,"I")=1 Q
  1. . S VSDTM=$$GET1^DIQ(9000010,VISIT,.01,"I")\1 Q:VSDTM=0
  1. . ; Set temporary
  1. . S @TEMP@(VSDTM,VISIT,IEN)=$$GET1^DIQ(FREF,IEN,.04,"E")
  1. ;
  1. S VSDTM="",QFL=0
  1. F S VSDTM=$O(@TEMP@(VSDTM),-1) Q:VSDTM=""!(QFL) D
  1. . S VISIT=""
  1. . F S VISIT=$O(@TEMP@(VSDTM,VISIT),-1) Q:VISIT="" D Q:QFL
  1. .. S IEN=""
  1. .. F S IEN=$O(@TEMP@(VSDTM,VISIT,IEN),-1) Q:IEN="" D Q:QFL
  1. ... S $P(RESULT,U,2)=VSDTM,$P(RESULT,U,4)=VISIT_U_IEN
  1. ... S QFL=1,$P(RESULT,U,1)=1,$P(RESULT,U,3)=@TEMP@(VSDTM,VISIT,IEN)
  1. K @TEMP
  1. Q RESULT
  1. ;
  1. OLOC() ;EP - Default Outside Location
  1. NEW LCN,ULOC,ULCN,OLOC
  1. S OLOC=""
  1. S LCN=$O(^XTV(8989.51,"B","BEHOENCX OTHER LOCATION","")) I LCN="" Q OLOC
  1. S ULOC=$G(DUZ(2)) I ULOC="" Q OLOC
  1. S ULCN=$O(^XTV(8989.5,"AC",LCN,ULOC_";DIC(4,",""))
  1. I ULCN'="" D
  1. . S OLOC=^XTV(8989.5,"AC",LCN,ULOC_";DIC(4,",ULCN)
  1. . S OLOC=OLOC_$C(29)_$P(^DIC(4,OLOC,0),"^",1)
  1. Q OLOC
  1. ;
  1. CLOC() ; EP - Current Default Location
  1. NEW ULOC,LOC
  1. S LOC=""
  1. S ULOC=$G(DUZ(2)) I ULOC="" Q LOC
  1. S LOC=ULOC_$C(29)_$P(^DIC(4,ULOC,0),"^",1)
  1. Q LOC