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

BQIDCEUA.m

Go to the documentation of this file.
  1. BQIDCEUA ;PRXM/HC/ALA-Unanticipated Emergency Room Revisits ; 12 Dec 2005 1:07 PM
  1. ;;2.4;ICARE MANAGEMENT SYSTEM;**2**;Apr 01, 2015;Build 10
  1. ;
  1. Q
  1. ;
  1. VIS(DATA,PARMS,MPARMS) ;EP
  1. ;
  1. ;Description
  1. ; Executable to retrieve unanticipated emergency room visits flags
  1. ;Input
  1. ; PARMS = Array of parameters and their values
  1. ; MPARMS = Multiple array of a parameter
  1. ;Output
  1. ;
  1. NEW UID
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP(UID,"BQIDCEUA"))
  1. K @DATA
  1. ;
  1. NEW IEN,NM,FDT,TDT,VTYP,X,DIC,Y,ADDTM,VIEN,DFN,%DT,TMFRAME,ER
  1. S NM=""
  1. F S NM=$O(PARMS(NM)) Q:NM="" S @NM=PARMS(NM)
  1. ;
  1. I $G(TMFRAME)="" Q
  1. I TMFRAME["T-" D
  1. . S %DT="",X=TMFRAME D ^%DT S FDT=Y
  1. I $G(DT)="" D DT^DICRW
  1. S TDT=DT
  1. ;
  1. ;S VTYP=$$FIND1^DIC(9009083,"","Q","UNSCHEDULED REVISIT","B","","ERROR")
  1. S VTYP=$O(^AMER(3,"B","UNSCHEDULED REVISIT",""))
  1. ;I 'VTYP Q
  1. I VTYP="" Q
  1. ;
  1. ;S ER=$$FIND1^DIC(40.7,"","Q","EMERGENCY","B","","ERROR")
  1. ;I 'ER Q
  1. S ER=$O(^DIC(40.7,"B","EMERGENCY MEDICINE",""))
  1. I ER="" Q
  1. ;
  1. ; Check the ER Visit File
  1. S ADDTM=FDT
  1. F S ADDTM=$O(^AMERVSIT("B",ADDTM)) Q:ADDTM=""!(ADDTM\1>TDT) D
  1. . S IEN=""
  1. . F S IEN=$O(^AMERVSIT("B",ADDTM,IEN)) Q:IEN="" D
  1. .. ;I $$GET1^DIQ(9009080,IEN_",",.05,"I")'=VTYP Q
  1. .. I $P($G(^AMERVSIT(IEN,0)),"^",5)'=VTYP Q
  1. .. ;S DFN=$$GET1^DIQ(9009080,IEN_",",.02,"I") I DFN="" Q
  1. .. S DFN=$P($G(^AMERVSIT(IEN,0)),"^",2) I DFN="" Q
  1. .. ; Exclude deceased patients
  1. .. I $P($G(^DPT(DFN,.35)),U,1)'="" Q
  1. .. ; If patient has no active HRNs, quit
  1. .. I '$$HRN^BQIUL1(DFN) Q
  1. .. ; If patient has no visit in last 3 years, quit
  1. .. I '$$VTHR^BQIUL1(DFN) Q
  1. .. S VIEN=$$GET1^DIQ(9009080,IEN_",",.03,"I")
  1. .. I VIEN="" Q
  1. .. ;I $$GET1^DIQ(9000010,VIEN,.11,"I")=1 Q
  1. .. I $P($G(^AUPNVSIT(VIEN,0)),"^",11)=1 Q
  1. .. ;I $$GET1^DIQ(9000010,VIEN,.08,"I")'=ER Q
  1. .. I $P($G(^AUPNVSIT(VIEN,0)),"^",8)'=ER Q
  1. .. I $D(^BQIPAT(DFN,10,"AC",VIEN))>0 Q
  1. .. ;S @DATA@(DFN,IEN)=VIEN_U_$$GET1^DIQ(9000010,VIEN,.01,"I")
  1. .. S @DATA@(DFN,IEN)=VIEN_U_$P($G(^AUPNVSIT(VIEN,0)),"^",1)
  1. ;
  1. Q
  1. ; Check the ER Admission File
  1. S DFN=0
  1. F S DFN=$O(^AMERADM(DFN)) Q:'DFN D
  1. . S ADDTM=$$GET1^DIQ(9009081,DFN,1,"I")\1
  1. . I ADDTM<FDT Q
  1. . I $$GET1^DIQ(9009081,DFN,3,"I")'=VTYP Q
  1. . S @DATA@(DFN,DFN)=U_ADDTM
  1. Q