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

BQIUL4.m

Go to the documentation of this file.
  1. BQIUL4 ;GDHS/HCD/ALA-Miscellaneous BQI utilities ; 21 Jul 2016 8:41 AM
  1. ;;2.7;ICARE MANAGEMENT SYSTEM;**1**;Dec 19, 2017;Build 12
  1. ;
  1. ;
  1. NNAD(DFN,NUM) ;EP -- Get patient's next appt date
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ; NUM - Number of appts
  1. NEW NAPTM,CNT
  1. S NAPTM=$$NOW^XLFDT(),RESULT="",CNT=0
  1. F S NAPTM=$O(^DPT(DFN,"S",NAPTM)) Q:NAPTM="" D
  1. . I $P(^DPT(DFN,"S",NAPTM,0),"^",2)'="" Q
  1. . S CNT=CNT+1 I CNT>NUM Q
  1. . S RESULT=RESULT_$$FMTMDY^BQIUL1(NAPTM\1)_$C(13)_$C(10)
  1. Q $$TKO^BQIUL1(RESULT,$C(13)_$C(10))
  1. ;
  1. NNAPT(DFN,NUM) ;EP -- Get patient's next appt
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. NEW NAPTM
  1. S NAPTM=$$NOW^XLFDT()
  1. Q $O(^DPT(DFN,"S",NAPTM))
  1. ;
  1. NNAC(DFN,NUM) ;EP -- Get patient's next appt date's clinic
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ;
  1. NEW NAPTM,IENS,DA,NAN,CSTCD,CST,CNT
  1. S NAPTM=$$NOW^XLFDT(),RESULT="",CNT=0
  1. F S NAPTM=$O(^DPT(DFN,"S",NAPTM)) Q:NAPTM="" D
  1. . I $P(^DPT(DFN,"S",NAPTM,0),"^",2)'="" Q
  1. . S CNT=CNT+1 I CNT>NUM Q
  1. . S DA(1)=DFN,DA=NAPTM,IENS=$$IENS^DILF(.DA)
  1. . S NAN=$$GET1^DIQ(2.98,IENS,.01,"I")
  1. . I NAN="" Q
  1. . S CST=$$GET1^DIQ(44,NAN_",",8,"I"),CSTCD=""
  1. . I CST'="" S CSTCD=$$GET1^DIQ(40.7,CST_",",1,"E")
  1. . S RESULT=RESULT_$$GET1^DIQ(2.98,IENS,.01,"E")_" "_CSTCD_$C(13)_$C(10)
  1. Q $$TKO^BQIUL1(RESULT,$C(13)_$C(10))
  1. ;
  1. NNAPV(DFN,NUM) ;EP -- Get patient's next appt provider
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ;
  1. NEW NAPTM,IENS,DA,NAN,CSTCD,CST,PRNAME,PRNM,PRN
  1. S NAPTM=$$NOW^XLFDT(),RESULT="",CNT=0
  1. F S NAPTM=$O(^DPT(DFN,"S",NAPTM)) Q:NAPTM="" D
  1. . I $P(^DPT(DFN,"S",NAPTM,0),"^",2)'="" Q
  1. . S CNT=CNT+1 I CNT>NUM Q
  1. . S DA(1)=DFN,DA=NAPTM,IENS=$$IENS^DILF(.DA)
  1. . S NAN=$$GET1^DIQ(2.98,IENS,.01,"I")
  1. . I NAN="" Q
  1. . S PRNAME=$$GET1^DIQ(44,NAN_",",16,"E")
  1. . I PRNAME="" D
  1. .. S PRN=0
  1. .. F S PRN=$O(^SC(NAN,"PR",PRN)) Q:'PRN D
  1. ... I $P($G(^SC(NAN,"PR",PRN,0)),U,2)=1 D
  1. .... S PRNM=$P($G(^SC(NAN,"PR",PRN,0)),U,1)
  1. .... S PRNAME=$$GET1^DIQ(200,PRNM_",",.01,"E")
  1. . S RESULT=RESULT_PRNAME_$C(13)_$C(10)
  1. Q $$TKO^BQIUL1(RESULT,$C(13)_$C(10))
  1. ;
  1. LNAD(DFN,NUM) ;EP -- Get patient's last # appts date
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ; NUM - Number of appts
  1. NEW NAPTM,CNT,QFL
  1. S NAPTM=$$NOW^XLFDT(),RESULT="",CNT=0,QFL=0
  1. F S NAPTM=$O(^DPT(DFN,"S",NAPTM),-1) Q:NAPTM="" D Q:QFL
  1. . I $P(^DPT(DFN,"S",NAPTM,0),"^",2)'="" Q
  1. . S CNT=CNT+1 I CNT>NUM S QFL=1 Q
  1. . S RESULT=RESULT_$$FMTMDY^BQIUL1(NAPTM\1)_$C(13)_$C(10)
  1. Q $$TKO^BQIUL1(RESULT,$C(13)_$C(10))
  1. ;
  1. LNAC(DFN,NUM) ;EP -- Get patient's last # appt date's clinic
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ; NUM - Number of appts
  1. ;
  1. NEW NAPTM,IENS,DA,NAN,CSTCD,CST,CNT,QFL
  1. S NAPTM=$$NOW^XLFDT(),RESULT="",CNT=0,QFL=0
  1. F S NAPTM=$O(^DPT(DFN,"S",NAPTM),-1) Q:NAPTM="" D Q:QFL
  1. . I $P(^DPT(DFN,"S",NAPTM,0),"^",2)'="" Q
  1. . S CNT=CNT+1 I CNT>NUM S QFL=1 Q
  1. . S DA(1)=DFN,DA=NAPTM,IENS=$$IENS^DILF(.DA)
  1. . S NAN=$$GET1^DIQ(2.98,IENS,.01,"I")
  1. . I NAN="" Q
  1. . S CST=$$GET1^DIQ(44,NAN_",",8,"I"),CSTCD=""
  1. . I CST'="" S CSTCD=$$GET1^DIQ(40.7,CST_",",1,"E")
  1. . S RESULT=RESULT_$$GET1^DIQ(2.98,IENS,.01,"E")_" "_CSTCD_$C(13)_$C(10)
  1. Q $$TKO^BQIUL1(RESULT,$C(13)_$C(10))
  1. ;
  1. MADD(USR,PANEL,DFN) ;EP -- Get who added patient to panel date/time
  1. ;Input
  1. ; DFN - Patient internal entry number
  1. ; USR - User internal entry number
  1. ; PANEL - Panel internal entry number
  1. NEW DA,IENS,WHO
  1. S WHO=""
  1. I $G(USR)="" Q WHO
  1. I $G(PANEL)="" Q WHO
  1. I $G(DFN)="" Q WHO
  1. S DA(2)=USR,DA(1)=PANEL,DA=DFN,IENS=$$IENS^DILF(.DA)
  1. S WHO=$$GET1^DIQ(90505.04,IENS,.03,"I")
  1. I WHO'="" S WHO=$P($G(^VA(200,WHO,0)),"^",1)
  1. Q WHO
  1. ;
  1. LNVD(DFN,NUM) ;EP - Last # of visits' dates
  1. NEW RVDT
  1. S RESULT="",CNT=0,QFL=0,RVDT=""
  1. F S RVDT=$O(^AUPNVSIT("AA",DFN,RVDT)) Q:RVDT=""!(QFL) D
  1. . S VIEN=""
  1. . S VIEN=$O(^AUPNVSIT("AA",DFN,RVDT,VIEN),-1) Q:VIEN="" D Q:QFL
  1. .. S VSDTM=$P($G(^AUPNVSIT(VIEN,0)),"^",1)\1 I VSDTM=0 Q
  1. .. S CNT=CNT+1 I CNT>NUM S QFL=1 Q
  1. .. S RESULT=RESULT_$$FMTMDY^BQIUL1(VSDTM)_$C(13)_$C(10)
  1. Q $$TKO^BQIUL1(RESULT,$C(13)_$C(10))
  1. ;
  1. LNVC(DFN,NUM) ;EP - Last # of visits' clinics
  1. NEW RVDT
  1. S RESULT="",CNT=0,QFL=0,RVDT=""
  1. F S RVDT=$O(^AUPNVSIT("AA",DFN,RVDT)) Q:RVDT=""!(QFL) D
  1. . S VIEN=""
  1. . S VIEN=$O(^AUPNVSIT("AA",DFN,RVDT,VIEN),-1) Q:VIEN="" D Q:QFL
  1. .. S VSDTM=$P($G(^AUPNVSIT(VIEN,0)),"^",1)\1 I VSDTM=0 Q
  1. .. S CNT=CNT+1 I CNT>NUM S QFL=1 Q
  1. . S RESULT=RESULT_$$GET1^DIQ(9000010,VIEN_",",.22,"E")_$C(13)_$C(10)
  1. Q $$TKO^BQIUL1(RESULT,$C(13)_$C(10))