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

PXRMPTTR.m

Go to the documentation of this file.
  1. PXRMPTTR ;SLC/PKR - Routines for term print templates ;07/10/2009
  1. ;;2.0;CLINICAL REMINDERS;**4,6,12**;Feb 04, 2005;Build 73
  1. ;
  1. ;====================================================
  1. DATE(FIND0,PIECE,FLDNUM,TITLE,RJC,PAD,FILENUM,FLG) ;Standard DATE
  1. N DATE,TEXT
  1. S DATE=$P($G(FIND0),U,PIECE)
  1. I DATE'="" D
  1. . S DATE=$$FMTE^XLFDT(DATE,"D")
  1. . S TEXT=$$RJ^XLFSTR(TITLE,RJC,PAD)_" "_DATE
  1. . W !,TEXT
  1. Q
  1. ;
  1. ;====================================================
  1. GENIEN(FINDING) ;Return internal entry number for findings.
  1. N F0,IEN,PREFIX,ROOT,VPTR
  1. S ROOT="^PXRMD(811.5,D0,20,FINDING,0)"
  1. S F0=@ROOT
  1. S VPTR=$P(F0,U,1)
  1. S IEN=$P(VPTR,";",1)
  1. S ROOT=$P(VPTR,";",2)
  1. I '$D(PXRMFVPL) N PXRMFVPL D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
  1. S VPTR=PXRMFVPL(ROOT)
  1. S PREFIX=$P(VPTR,U,4)
  1. Q " (FI("_+FINDING_")="_PREFIX_"("_IEN_"))"
  1. ;
  1. ;====================================================
  1. ENTRYNAM(VPTR) ;Given the variable pointer return the entry name. The
  1. ;variable pointer list contains the information necessary to do the
  1. ;look up.
  1. N IEN,FILENUM,NAME,ROOT
  1. S IEN=$P(VPTR,";",1)
  1. S ROOT=$P(VPTR,";",2)
  1. S FILENUM=$P(PXRMFVPL(ROOT),U,1)
  1. S NAME=$$GET1^DIQ(FILENUM,IEN,.01,"","","")
  1. Q NAME
  1. ;
  1. ;====================================================
  1. PFIND ;Print the reminder term finding multiple.
  1. N CFP,FIELD,FINDING,FIND0,FMTSTR,HFCAT,HFIEN,IND,NL,OUTPUT
  1. N PAD,PXRMFVPL,RJC,SCNT,SIEN,STAT0,TEXT
  1. ;If called by a FileMan print, build the variable pointer list.
  1. I '$D(PXRMFVPL) N PXRMFVPL D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
  1. S FMTSTR="18R^13L1^45L"
  1. S PAD=" ",RJC=31
  1. S FINDING=0
  1. F S FINDING=$O(^PXRMD(811.5,D0,20,FINDING)) Q:+FINDING=0 D
  1. . S FIND0=^PXRMD(811.5,D0,20,FINDING,0)
  1. . S FIELD=$P(FIND0,U,1)
  1. . S TEXT="^Finding Item:^"_$$ENTRYNAM(FIELD)_$$GENIEN(FINDING)
  1. . D COLFMT^PXRMTEXT(FMTSTR,TEXT," ",.NL,.OUTPUT)
  1. . W ! F IND=1:1:NL W !,OUTPUT(IND)
  1. .;
  1. . S TEXT=$$RJ^XLFSTR("Finding Type:",RJC,PAD)_" "_$$TFTYPE(FIELD)
  1. . W !,TEXT
  1. . I FIND0["AUTTHF" D
  1. .. S HFIEN=$P($P(FIND0,U),";")
  1. .. S HFCAT=$P($G(^AUTTHF(HFIEN,0)),U,3)
  1. .. S HFCAT=$S(HFCAT="":"UNDEFINED",1:$P($G(^AUTTHF(HFCAT,0)),U,1))
  1. .. S TEXT=$$RJ^XLFSTR("Health Factor Category:",RJC,PAD)_" "_HFCAT
  1. .. W !,TEXT
  1. .;
  1. . S FIELD=$P(FIND0,U,4)
  1. . I $L(FIELD)>0 D
  1. .. S TEXT=$$RJ^XLFSTR("Match Frequency/Age:",RJC,PAD)_" "_$$GENFREQ^PXRMPTD2(FIND0)
  1. .. W !,TEXT
  1. .;
  1. . D DATE(FIND0,8,9,"Beginning Date/Time:",RJC,PAD)
  1. . D DATE(FIND0,11,12,"Ending Date/Time Date:",RJC,PAD)
  1. . D SFDISP(FIND0,14,17,"Occurrence Count:",RJC,PAD)
  1. . D SFDISP(FIND0,9,10,"Use Inactive Problems:",RJC,PAD)
  1. . D SFDISP(FIND0,10,11,"Within Category Rank:",RJC,PAD)
  1. . D SFDISP(FIND0,12,13,"MH Scale:",RJC,PAD)
  1. . D SFDISP(FIND0,16,28,"Include Visit Data:",RJC,PAD)
  1. . D SFDISP(FIND0,13,16,"Rx Type:",RJC,PAD)
  1. . D SFDISP(FIND0,15,27,"Use Start Date:",RJC,PAD)
  1. . I $D(^PXRMD(811.5,D0,20,FINDING,5,0))=1 D
  1. .. S (SCNT,SIEN)=0
  1. .. F S SIEN=$O(^PXRMD(811.5,D0,20,FINDING,5,SIEN)) Q:SIEN="" D
  1. ... S STAT0=$G(^PXRMD(811.5,D0,20,FINDING,5,SIEN,0))
  1. ... D STATUS(STAT0,"Status List:") S SCNT=SCNT+1
  1. .;
  1. . S FIND0=$G(^PXRMD(811.5,D0,20,FINDING,3))
  1. . D SFDISP(FIND0,1,14,"Condition:",RJC,PAD)
  1. . D SFDISP(FIND0,2,15,"Condition Case Sensitive:",RJC,PAD)
  1. . D SFDISP(FIND0,3,18,"Use Status/Cond in Search:",RJC,PAD)
  1. . I $G(^PXRMD(811.5,D0,20,FINDING,15))'="" D
  1. .. S CFP=$$RJ^XLFSTR("Computed Finding Parameter:",RJC,PAD)
  1. .. S CFP=CFP_" "_$G(^PXRMD(811.5,D0,20,FINDING,15))
  1. .. W !,CFP
  1. Q
  1. ;
  1. ;====================================================
  1. SFDISP(FIND0,PIECE,FLDNUM,TITLE,RJC,PAD) ;Standard finding multiple
  1. ;field display.
  1. N FIELD,TEXT
  1. S FIELD=$P(FIND0,U,PIECE)
  1. I $L(FIELD)>0 D
  1. . S TEXT=$$RJ^XLFSTR(TITLE,RJC,PAD)
  1. . S TEXT=TEXT_" "_$$EXTERNAL^DILFD(811.52,FLDNUM,"",FIELD,"")
  1. . I FLDNUM=13 S TEXT=TEXT_"-"_$$SPECIAL^PXRMPTDF(FIND0,FIELD)
  1. . W !,TEXT
  1. Q
  1. ;
  1. ;====================================================
  1. STATUS(STAT0,TITLE) ; Status display
  1. I $L(STAT0)>0 D
  1. . N STATUS
  1. . I SCNT=0 S STATUS=$$RJ^XLFSTR(TITLE,RJC,PAD)
  1. . I SCNT>0 S STATUS=$$RJ^XLFSTR("",RJC,PAD)
  1. . S STATUS=STATUS_" "_STAT0
  1. . W !,STATUS
  1. Q
  1. ;
  1. ;====================================================
  1. TFTYPE(VPTR) ;Return Term finding type
  1. N ROOT,TFTYPE
  1. S ROOT=$P(VPTR,";",2)
  1. I '$D(PXRMFVPL) N PXRMFVPL D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
  1. S TFTYPE=$P(PXRMFVPL(ROOT),U,2)
  1. Q TFTYPE
  1. ;
  1. ;====================================================
  1. TRMIEN(FINDING) ;Return internal entry number for TERM findings.
  1. N F0,IEN,PREFIX,ROOT,VPTR
  1. S ROOT="^PXRMD(811.5,D0,20,FINDING,0)"
  1. S F0=@ROOT
  1. S VPTR=$P(F0,U,1)
  1. S IEN=$P(VPTR,";",1)
  1. S ROOT=$P(VPTR,";",2)
  1. I '$D(PXRMFVPL) N PXRMFVPL D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
  1. S VPTR=PXRMFVPL(ROOT)
  1. S PREFIX=$P(VPTR,U,4)
  1. Q " (FI("_+FINDING_")="_PREFIX_"("_IEN_"))"
  1. ;