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

DGPFLMU.m

Go to the documentation of this file.
  1. DGPFLMU ;ALB/KCL - PRF ASSIGNMENT LISTMAN UTILITIES ; 3/06/06 3:39pm
  1. ;;5.3;Registration;**425,650,1007,1015**;Aug 13, 1993;Build 21
  1. ;
  1. ;no direct entry
  1. QUIT
  1. ;
  1. BLDHDR(DGDFN,DGPFHDR) ;This procedure builds the VALMHDR array to display the ListMan header.
  1. ;
  1. ; Supported DBIA #2701: The supported DBIA is used to access the
  1. ; MPI functions to retrieve the ICN and CMOR.
  1. ;
  1. ; Input:
  1. ; DGDFN - internal entry number of PATIENT (#2) file
  1. ; DGPFHDR - header array passed by reference
  1. ;
  1. ; Output:
  1. ; DGPFHDR - header array
  1. ;
  1. N DGCMOR ;CIRN Master of Record
  1. N DGICN ;Integrated Control Number
  1. N DGPFPAT ;Patient identifying info
  1. ;
  1. ;retrieve patient identifying info
  1. I $$GETPAT^DGPFUT2(DGDFN,.DGPFPAT)
  1. ;
  1. ;set 1st line of header
  1. S DGPFHDR(1)="Patient: "_$G(DGPFPAT("NAME"))_" "
  1. S DGPFHDR(1)=$$SETSTR^VALM1("("_$G(DGPFPAT("SSN"))_")",DGPFHDR(1),$L(DGPFHDR(1))+1,80)
  1. S DGPFHDR(1)=$$SETSTR^VALM1("DOB: "_$$FDATE^VALM1($G(DGPFPAT("DOB"))),DGPFHDR(1),54,80)
  1. ;
  1. Q ;IHS/OIT/LJF 12/21/2006 PATCH 1007 IHS not yet using MPI
  1. ;set 2nd line of header
  1. S DGICN=$$GETICN^MPIF001(DGDFN)
  1. S DGICN=$S(DGICN<0:"No ICN for patient",1:DGICN)
  1. S DGPFHDR(2)=" ICN: "_DGICN
  1. S DGCMOR=$$CMOR2^MPIF001(DGDFN)
  1. S DGCMOR=$S(DGCMOR<0:$P(DGCMOR,U,2),1:DGCMOR)
  1. S DGCMOR="CMOR: "_DGCMOR
  1. S DGPFHDR(2)=$$SETSTR^VALM1(DGCMOR,DGPFHDR(2),53,27)
  1. Q
  1. ;
  1. ;
  1. BLDLIST(DGDFN) ;This procedure will build list of flag assignments for a patient for display in ListMan.
  1. ;
  1. ; Input:
  1. ; DGDFN - internal entry number of PATIENT (#2) file
  1. ;
  1. ; Output: None
  1. ;
  1. N DGIEN ;ien of assignment
  1. N DGIENS ;array of assignment ien's
  1. N DGPFA ;assignment data array
  1. N DGPFAH ;assignment history data array
  1. N DGPTR ;pointer to last assignment history record
  1. N DGTXT ;msg text if no assignments for patient
  1. ;
  1. ;kill data and video cntrl arrays associated with active list
  1. D CLEAN^VALM10
  1. ;
  1. ;if no assignments, display msg, quit
  1. K DGIENS
  1. I '$$GETALL^DGPFAA(DGDFN,.DGIENS) D Q
  1. . S DGTXT=" Selected patient has no record flag assignments on file."
  1. . D SET^VALM10(1,"")
  1. . D SET^VALM10(2,DGTXT)
  1. . D CNTRL^VALM10(2,4,$L(DGTXT),$G(IOINHI),$G(IOINORM))
  1. . S VALMCNT=2
  1. ;
  1. ;if assignments, get data and build list
  1. S DGIEN=0,VALMCNT=0
  1. F S DGIEN=$O(DGIENS(DGIEN)) Q:'DGIEN D
  1. . ;-get assignment
  1. . K DGPFA
  1. . Q:'$$GETASGN^DGPFAA(DGIEN,.DGPFA)
  1. . ;-get initial assignment history
  1. . K DGPFAH
  1. . Q:'$$GETHIST^DGPFAAH($$GETFIRST^DGPFAAH(DGIEN),.DGPFAH)
  1. . ;-get 'initial assignment' date
  1. . S DGPFAH("INITASSIGN")=$G(DGPFAH("ASSIGNDT"))
  1. . Q:'DGPFAH("INITASSIGN")
  1. . ;-increment line number count
  1. . S VALMCNT=VALMCNT+1
  1. . ;-build list
  1. . D BLDLIN(VALMCNT,.DGPFA,.DGPFAH,DGIEN)
  1. ;
  1. Q
  1. ;
  1. ;
  1. BLDLIN(DGLNUM,DGPFA,DGPFAH,DGIEN) ;This procedure will build and setup ListMan lines and array.
  1. ;
  1. ; Input:
  1. ; DGLNUM - line number
  1. ; DGPFA - array containing assignment, passed by reference
  1. ; DGPFAH - array containing assignment history, passed by reference
  1. ; DGIEN - internal entry number of assignment
  1. ;
  1. ; Output: None
  1. ;
  1. N DGTXT ;used as temporary text field
  1. N DGLINE ;string to insert field data
  1. S DGLINE="" ;init
  1. S DGLINE=$$SETSTR^VALM1(DGLNUM,DGLINE,1,3)
  1. ;
  1. ;flag name
  1. S DGTXT=$P($G(DGPFA("FLAG")),U,2)
  1. S DGLINE=$$SETFLD^VALM1(DGTXT,DGLINE,"FLAG")
  1. ;
  1. ;initial assignment date
  1. S DGTXT=$$FDATE^VALM1(+$G(DGPFAH("INITASSIGN")))
  1. S DGLINE=$$SETFLD^VALM1(DGTXT,DGLINE,"ASSIGN DATE")
  1. ;
  1. ;review date
  1. S DGTXT=+$G(DGPFA("REVIEWDT"))
  1. S DGTXT=$S(DGTXT:$$FDATE^VALM1(DGTXT),1:"N/A")
  1. S DGLINE=$$SETFLD^VALM1(DGTXT,DGLINE,"REVIEW DATE")
  1. ;
  1. ;status/active (yes/no)
  1. S DGTXT=$P($G(DGPFA("STATUS")),U)
  1. S DGTXT=$S(DGTXT=1:"YES",1:"NO")
  1. S DGLINE=$$SETFLD^VALM1(DGTXT,DGLINE,"STATUS")
  1. ;
  1. ;local (yes/no)
  1. S DGTXT="NO"
  1. I $P($G(DGPFA("FLAG")),U)["26.11" S DGTXT="YES"
  1. S DGLINE=$$SETFLD^VALM1(DGTXT,DGLINE,"LOCAL")
  1. ;
  1. ;owner site
  1. S DGTXT=$P($G(DGPFA("OWNER")),U,2)
  1. S DGLINE=$$SETFLD^VALM1(DGTXT,DGLINE,"OWNER SITE")
  1. ;
  1. ;construct initial list array
  1. D SET^VALM10(DGLNUM,DGLINE,DGLNUM)
  1. ;
  1. ;set assignment ien and pt DFN into index
  1. S @VALMAR@("IDX",DGLNUM,DGLNUM)=$G(DGIEN)_U_+$G(DGPFA("DFN"))
  1. ;
  1. Q