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

PXRMARCH.m

Go to the documentation of this file.
  1. PXRMARCH ;SLC/PKR/BNT - Clinical Reminder ARCH routines. ;12/09/2011
  1. ;;2.0;CLINICAL REMINDERS;**20,23**;Feb 04, 2005;Build 3
  1. ;==========================================================
  1. ELIG(DFN,NGET,BDT,EDT,NFOUND,TEST,DATE,DATA,TEXT) ;Multiple occurrence
  1. ;computed finding for ARCH eligibility.
  1. N ARCHDATA,IND,SDIR
  1. ;DBIA #5619
  1. S IND=$$ELIG^FBARCH0(DFN,BDT,EDT,.ARCHDATA)
  1. S SDIR=$S(NGET<0:-1,1:1)
  1. S NGET=$S(NGET<0:-NGET,1:NGET)
  1. S IND="",NFOUND=0
  1. F S IND=$O(ARCHDATA(IND),SDIR) Q:(IND="")!(NFOUND=NGET) D
  1. . S NFOUND=NFOUND+1
  1. . S TEST(NFOUND)=$P(ARCHDATA(IND),U,1)
  1. . S DATE(NFOUND)=$P(ARCHDATA(IND),U,2)
  1. . S TEXT(NFOUND)=""
  1. Q
  1. ;
  1. ;==========================================================
  1. LIST(NGET,BDT,EDT,PLIST,PARAM) ;List computed finding for building a list
  1. ;of ARCH eligible patients.
  1. N CNT,DATE,DFN,IND,NL,TEMP
  1. ;DBIA #5619
  1. S NL=$$LIST^FBARCH0(BDT,EDT)
  1. F IND=1:1:NL D
  1. . S TEMP=^TMP($J,"ARCHFEE",IND)
  1. .;Check eligibility.
  1. . I '$P(TEMP,U,2) Q
  1. . S DFN=$P(TEMP,U,1),DATE=$P(TEMP,U,3)
  1. . S ^TMP($J,"TLIST",DFN,DATE)=""
  1. S DFN=""
  1. F S DFN=$O(^TMP($J,"TLIST",DFN)) Q:DFN="" D
  1. . S CNT=0,DATE=""
  1. . F S DATE=$O(^TMP($J,"TLIST",DFN,DATE)) Q:(DATE="")!(CNT=NGET) D
  1. .. S CNT=CNT+1,^TMP($J,PLIST,DFN,CNT)=U_DATE
  1. K ^TMP($J,"ARCHFEE"),^TMP($J,"TLIST")
  1. Q
  1. ;
  1. ;==========================================================
  1. ISDUE(DFN,NGET,BDT,EDT,NFOUND,TEST,DATE,DATA,TEXT) ;Multiple occurrence
  1. ; computed finding for a Project ARCH Reminder Custom Date Due.
  1. ; The $$GETDELAY^FBARCH0 API returns a site defined numeric value that represents
  1. ; the number of days to delay the reminder from being due again after
  1. ; being declined or refused through one of the related health factors.
  1. ;
  1. ; $$GETDELAY^FBARCH0 Supported by IA 5619
  1. ;
  1. N X,HFID,ARCHVHF,ARCHDLAY
  1. S NFOUND=1
  1. S ARCHDLAY=$$GETDELAY^FBARCH0()
  1. S ARCHVHF($P($$NOW^PXRMDATE(),"."))=""
  1. ; Get DECLINES and REFUSES Health Factor ID and last date created
  1. F X="DECLINES","REFUSES" S HFID=$O(^AUTTHF("B","ARCH-SERVICE NEEDED THIS VISIT "_X,0)) D
  1. . Q:'$D(^PXRMINDX(9000010.23,"PI",DFN,HFID))
  1. . ; Get date and add delay value
  1. . S ARCHVHF($$FMADD^XLFDT($P($O(^PXRMINDX(9000010.23,"PI",DFN,HFID," "),-1),"."),ARCHDLAY))=""
  1. S TEST(NFOUND)=1
  1. S TEXT(NFOUND)=""
  1. S DATE(NFOUND)=$O(ARCHVHF(" "),-1)
  1. Q
  1. ;