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

DVBCPRF.m

Go to the documentation of this file.
  1. DVBCPRF ;ALB/AG-Patient Record Flag ; 5/12/20 10:35am
  1. ;;2.7;AMIE;**220**;Apr 10, 1995 ;Build 9
  1. ;Per VHA Directive 6402 this routine should not be modified
  1. ;
  1. Q
  1. ;
  1. FMT(ROOT) ; Format - Convert record flag data to displayable data
  1. ; Sets ^TMP("DVBPRF",$J,NN) with flag data for multiple flags
  1. N IDX,IX,CNT
  1. S (IDX,CNT)=0
  1. F S IDX=$O(ROOT(IDX)) Q:'IDX D
  1. . S ^TMP("DVBPRF",$J,IDX,"FLAG")=$P($G(ROOT(IDX,"FLAG")),U,2)
  1. . S ^TMP("DVBPRF",$J,IDX,"CATEGORY")=$P($G(ROOT(IDX,"CATEGORY")),U,2)
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Flag Name: "_$P($G(ROOT(IDX,"FLAG")),U,2)
  1. . I $D(ROOT(IDX,"NARR")) D
  1. . . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)=" "
  1. . . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Assignment Narrative: "
  1. . . S IX=0 F S IX=$O(ROOT(IDX,"NARR",IX)) Q:'IX D
  1. . . . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)=$G(ROOT(IDX,"NARR",IX,0))
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)=" "
  1. . ; -- Assignment Details:
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Flag Type: "_$P($G(ROOT(IDX,"FLAGTYPE")),U,2)
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Flag Category: "_$P($G(ROOT(IDX,"CATEGORY")),U,2)
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Assignment Status: "_"Active"
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Initial Assigned Date: "_$P($G(ROOT(IDX,"ASSIGNDT")),U,2)
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Approved by: "_$P($G(ROOT(IDX,"APPRVBY")),U,2)
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Next Review Date: "_$P($G(ROOT(IDX,"REVIEWDT")),U,2)
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Owner Site: "_$P($G(ROOT(IDX,"OWNER")),U,2)
  1. . S CNT=CNT+1,^TMP("DVBPRF",$J,IDX,CNT)="Originating Site: "_$P($G(ROOT(IDX,"ORIGSITE")),U,2)
  1. K ROOT
  1. Q
  1. ;
  1. HASFLG(DVBY,PTDFN) ;Does patient PTDFN have flags
  1. ; DBIA 3860: $$GETACT^DGPFAPI(PTDFN,.FLGDATA)
  1. ; Returns array DVBY listing active assigned flags
  1. ; Array DVBY has form:
  1. ; DVBY(flagID) = flagID^flagname,CAT1
  1. ; where CAT1 is 1 if flag is cat 1, 0 if cat 2
  1. ; DVBY = Num of items returned in array ORY = num of flags
  1. I '$L($TEXT(GETACT^DGPFAPI)) S DVBY=0 Q
  1. N IDY,PRFARR,CAT1
  1. K ^TMP("DVBPRF",$J)
  1. S DVBY=$$GETACT^DGPFAPI(PTDFN,"PRFARR")
  1. Q:'DVBY
  1. D FMT(.@("PRFARR")) ; Sets ^TMP("DVBPRF"
  1. S IDY=0 F S IDY=$O(^TMP("DVBPRF",$J,IDY)) Q:'IDY D
  1. . S DVBY(IDY)=IDY_U_$G(^TMP("DVBPRF",$J,IDY,"FLAG"))
  1. . S CAT1=0
  1. . I $G(^TMP("DVBPRF",$J,IDY,"CATEGORY"))="I (NATIONAL)" S CAT1=1
  1. . S DVBY(IDY)=DVBY(IDY)_U_CAT1
  1. Q
  1. ;
  1. TRIGRPOP(POPUP,PTDFN) ;Should the flag display pop up upon patient selection
  1. ;
  1. ; 1 if pt has any active flags, either Cat I or Cat II
  1. ; 0 otherwise
  1. N PRFARR
  1. S POPUP=$S($$GETACT^DGPFAPI(PTDFN,"PRFARR"):1,1:0)
  1. Q
  1. ;
  1. GETFLG(DVBY,PTDFN,FLAGID) ;Return detailed flag info for flag FLAGID
  1. I '$D(^TMP("DVBPRF",$J,FLAGID)) Q
  1. N IX,CNT
  1. S (IX,CNT)=0
  1. F S IX=$O(^TMP("DVBPRF",$J,FLAGID,IX)) Q:'IX D
  1. . S CNT=CNT+1,DVBY(CNT)=$G(^TMP("DVBPRF",$J,FLAGID,IX))
  1. Q
  1. ;
  1. CLEAR(ORY) ;Clear up the temp global
  1. K ^TMP("DVBPRF",$J)
  1. Q
  1. ;