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

BQIRGUT1.m

Go to the documentation of this file.
  1. BQIRGUT1 ;GDHD/HS/ALA-Register Utility ; 27 Apr 2016 7:40 AM
  1. ;;2.5;ICARE MANAGEMENT SYSTEM;**1,2**;May 24, 2016;Build 14
  1. ;
  1. ;
  1. ITM(TMFRAME,BQDFN,FREF,RREF,TIEN,TAX,TREF) ;EP - Find the value
  1. ; Find visits for a request item
  1. ; Input
  1. ; TMFRAME - Time frame to search data for
  1. ; BQDFN - Patient internal entry number
  1. ; FREF - File to search in
  1. ; RREF - Search file table file
  1. ; TIEN - Item to search on
  1. ; TAX - Taxonomy
  1. ; TREF - Reference array
  1. ;
  1. NEW GREF,ENDT,IEN,QFL,RESULT,VISIT,VSDTM,RES,DTM,ITIEN,EDT,BDT,VFL
  1. NEW SRCTYP,BQRES
  1. S TMFRAME=$G(TMFRAME,"")
  1. ;I $G(TREF)'="" B
  1. I $G(TAX)'="" D
  1. . S TREF=$NA(^TMP($J,"BQITAX")) K @TREF
  1. . I $G(RREF)=60 D BLD^BQITUTL(TAX,TREF,"L") Q
  1. . D BLD^BQITUTL(TAX,TREF)
  1. I $G(TAX)="" D
  1. . I $G(TIEN)="" Q
  1. . S TREF="BQITAX" K @TREF
  1. . S @TREF@(TIEN)=""
  1. S GREF=$$ROOT^DILFD(FREF,"",1)
  1. S VFL=$O(^BQI(90508.6,"B",FREF,""))
  1. I VFL'="" S SRCTYP=$P(^BQI(90508.6,VFL,0),U,3)
  1. S ENDT=$$DATE^BQIUL1(TMFRAME)
  1. S IEN="",QFL=0,RESULT=0
  1. I $G(TMFRAME)'="" D
  1. . S EDT=9999999-ENDT,BDT=""
  1. . I SRCTYP'=2 D Q
  1. .. F S BDT=$O(@GREF@("AA",BQDFN,BDT)) Q:BDT=""!(BDT>EDT) D Q:QFL
  1. ... S IEN=""
  1. ... F S IEN=$O(@GREF@("AA",BQDFN,BDT,IEN)) Q:IEN="" D Q:QFL
  1. .... S ITIEN=$$GET1^DIQ(FREF,IEN,.01,"I") I ITIEN="" Q
  1. .... S RES=$$GET1^DIQ(FREF,IEN,.04,"I")
  1. .... I $G(TIEN)'="",ITIEN'=TIEN Q
  1. .... I $G(TIEN)="",'$D(@TREF@(ITIEN)) Q
  1. .... S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. .... I $P($G(^AUPNVSIT(VISIT,0)),"^",11)=1 Q
  1. .... S VSDTM=$P($G(^AUPNVSIT(VISIT,0)),"^",1)\1 I VSDTM=0 Q
  1. .... S BQRES(VSDTM,VISIT,IEN)=RES
  1. . ;
  1. . F S BDT=$O(@GREF@("AA",PTDFN,TIEN,BDT)) Q:BDT=""!(BDT>EDT) D
  1. .. S IEN=""
  1. .. F S IEN=$O(@GREF@("AA",PTDFN,TIEN,BDT,IEN)) Q:IEN="" D
  1. ... S ITIEN=$$GET1^DIQ(FREF,IEN,.01,"I") I ITIEN="" Q
  1. ... S RES=$$GET1^DIQ(FREF,IEN,.04,"I")
  1. ... I $G(TIEN)'="",ITIEN'=TIEN Q
  1. ... I $G(TIEN)="",'$D(@TREF@(ITIEN)) Q
  1. ... S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. ... I $P($G(^AUPNVSIT(VISIT,0)),"^",11)=1 Q
  1. ... S VSDTM=$P($G(^AUPNVSIT(VISIT,0)),"^",1)\1 I VSDTM=0 Q
  1. ... S BQRES(VSDTM,VISIT,IEN)=RES
  1. . ; check for refusal
  1. . I $O(^AUPNPREF("AA",BQDFN,RREF,""))'="" D
  1. .. I $D(TREF) S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. ... S EDT=9999999-ENDT,BDT=""
  1. ... F S BDT=$O(^AUPNPREF("AA",BQDFN,RREF,TIEN,BDT)) Q:BDT=""!(BDT>EDT) D
  1. .... S IEN="" F S IEN=$O(^AUPNPREF("AA",BQDFN,RREF,TIEN,BDT,IEN)) Q:IEN="" D
  1. ..... S DTM=$P(^AUPNPREF(IEN,0),U,3)
  1. ..... I $P(RESULT,U,2)'="",DTM<$P(RESULT,U,2) Q
  1. ..... S BQRES(DTM,"~","~")="refusal"
  1. ;
  1. I $G(TMFRAME)="" D
  1. . S IEN=""
  1. . F S IEN=$O(@GREF@("AC",BQDFN,IEN),-1) Q:IEN="" D Q:QFL
  1. .. S ITIEN=$$GET1^DIQ(FREF,IEN,.01,"I") I ITIEN="" Q
  1. .. I $G(TIEN)'="",ITIEN'=TIEN Q
  1. .. I $G(TIEN)="",'$D(@TREF@(ITIEN)) Q
  1. .. S RES=$$GET1^DIQ(FREF,IEN,.04,"I")
  1. .. S VISIT=$$GET1^DIQ(FREF,IEN,.03,"I") I VISIT="" Q
  1. .. I $P($G(^AUPNVSIT(VISIT,0)),"^",11)=1 Q
  1. .. S VSDTM=$P($G(^AUPNVSIT(VISIT,0)),"^",1)\1 I VSDTM=0 Q
  1. .. S BQRES(VSDTM,VISIT,IEN)=RES
  1. . ; check for refusal
  1. . I $O(^AUPNPREF("AA",BQDFN,RREF,""))'="" D
  1. .. I $D(TREF) S TIEN="" F S TIEN=$O(@TREF@(TIEN)) Q:TIEN="" D
  1. ... ;S EDT=(9999999-DT)+.001,BDT=""
  1. ... S BDT="",STOP=0
  1. ... F S BDT=$O(^AUPNPREF("AA",BQDFN,RREF,TIEN,BDT)) Q:BDT="" D Q:STOP
  1. .... S IEN="" F S IEN=$O(^AUPNPREF("AA",BQDFN,RREF,TIEN,BDT,IEN)) Q:IEN="" D Q:STOP
  1. ..... S DTM=$P(^AUPNPREF(IEN,0),U,3)
  1. ..... I $P(RESULT,U,2)'="",DTM<$P(RESULT,U,2) Q
  1. ..... S BQRES(DTM,"~","~")="refusal"
  1. ;
  1. I '$D(BQRES) S RESULT=0
  1. I $D(BQRES) D
  1. . S DTM=$O(BQRES(""),-1),VISIT=$O(BQRES(DTM,""),-1),IEN=$O(BQRES(DTM,VISIT,""),-1)
  1. . S RES=BQRES(DTM,VISIT,IEN)
  1. . S RESULT=1_U_DTM_U_U_VISIT_U_IEN_U_RES
  1. Q RESULT