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

PXRMCOVID19.m

Go to the documentation of this file.
  1. PXRMCOVID19 ;SLC/PKR - COVID-19 information for CPRS display. ;05/19/2020
  1. ;;2.0;CLINICAL REMINDERS;**72,46**;Feb 04, 2005;Build 236
  1. ;Supports ICR #7146.
  1. ;===============
  1. CLICKTEXT(SUB,DEFIEN,DFN,TRUEFF) ;
  1. N IND,STATUS
  1. K ^TMP(SUB,$J)
  1. S STATUS=1
  1. I '$D(^TMP("PXRMCOVID19",$J,DEFIEN,DFN,TRUEFF)) D
  1. . S STATUS=$$STATUS^PXRMCOVID19(DFN,DEFIEN)
  1. I $P(STATUS,U,1)=-1 Q "-1^Error loading click text."
  1. S IND=0
  1. F S IND=$O(^TMP("PXRMCOVID19",$J,DEFIEN,DFN,TRUEFF,IND)) Q:IND="" D
  1. . S ^TMP(SUB,$J,IND,0)=^TMP("PXRMCOVID19",$J,DEFIEN,DFN,TRUEFF,IND)
  1. Q 1
  1. ;
  1. ;===============
  1. STATUS(DFN,DEFINITION) ;Patient status.
  1. N BANNERTEXT,DEFARR,DEFIEN,DONE,EVALDT,EVALSTATUS
  1. N FFBYNUM,FFIND,FFTRUE,FIEVAL,FINUM,IFIEVAL,IND,NLINES
  1. N PXRMITEM,PXRMRM,TEXTA,TRUEFF
  1. I DFN="" Q "-1^COVID-19 Non-existent patient"
  1. I '$D(^DPT(DFN)) Q "-1^COVID-19 Non-existent patient"
  1. I +DEFINITION=DEFINITION S DEFIEN=DEFINITION
  1. E S DEFIEN=$O(^PXD(811.9,"B",DEFINITION,""))
  1. I DEFIEN="" Q "-1^COVID-19 Non-existent reminder definition"
  1. I $D(^PXD(811.9,DEFIEN))<10 Q "-1^COVID-19 Non-existent reminder definition"
  1. K ^TMP("PXRMCOVID19",$J,DEFIEN,DFN),^TMP("PXRHM",$J)
  1. D DEF^PXRMLDR(DEFIEN,.DEFARR)
  1. S EVALDT=$$NOW^XLFDT
  1. D EVAL^PXRM(DFN,.DEFARR,5,1,.FIEVAL,EVALDT)
  1. ;Check the reminder evaluation status.
  1. S IND=$O(^TMP("PXRHM",$J,DEFIEN,""))
  1. S EVALSTATUS=$P(^TMP("PXRHM",$J,DEFIEN,IND),U,1)
  1. K ^TMP("PXRHM",$J)
  1. I (EVALSTATUS="CNBD")!(EVALSTATUS="ERROR") Q "-1^Reminder evaluation failure, status: "_EVALSTATUS
  1. ;Determine the COVID-19 status, by finding the first true function
  1. ;finding in numerical order.
  1. S FFIND="FF"
  1. F S FFIND=$O(FIEVAL(FFIND)) Q:FFIND'["FF" D
  1. . S IND=+$P(FFIND,"FF",2),FFBYNUM(IND)=""
  1. S (DONE,IND,TRUEFF)=0
  1. F S IND=$O(FFBYNUM(IND)) Q:(DONE)!(IND="") D
  1. . S FFIND="FF"_IND
  1. . I FIEVAL(FFIND)=1 S TRUEFF=IND,DONE=1
  1. I DONE=0 D Q TRUEFF_U_BANNERTEXT
  1. . S TRUEFF=0,BANNERTEXT="COVID-19 Unable to determine status"
  1. ;
  1. ;Have the true function finding, process the objects in the
  1. ;found text.
  1. S PXRMRM=80
  1. S FFTRUE="FF"_TRUEFF,NLINES=0,PXRMITEM=DEFIEN
  1. M IFIEVAL=FIEVAL("FF"_TRUEFF)
  1. D FINDING^PXRMFNFT(DFN,FFTRUE,.FIEVAL,.IFIEVAL,.NLINES,.TEXTA)
  1. ;Return the first line of text for the CPRS banner, the remaining
  1. ;lines are the click text.
  1. S BANNERTEXT=TEXTA(1)
  1. F IND=2:1:NLINES S ^TMP("PXRMCOVID19",$J,DEFIEN,DFN,TRUEFF,IND-1)=TEXTA(IND)
  1. Q TRUEFF_U_BANNERTEXT
  1. ;