| 1 | PXRMPTTR ;SLC/PKR - Routines for term print templates ;06/01/2007
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;====================================================
 | 
|---|
| 5 | DATE(FIND0,PIECE,FLDNUM,TITLE,RJC,PAD,FILENUM,FLG) ;Standard DATE
 | 
|---|
| 6 |  N DATE,TEXT
 | 
|---|
| 7 |  S DATE=$P($G(FIND0),U,PIECE)
 | 
|---|
| 8 |  I DATE'="" D
 | 
|---|
| 9 |  . S DATE=$$FMTE^XLFDT(DATE,"D")
 | 
|---|
| 10 |  . S TEXT=$$RJ^XLFSTR(TITLE,RJC,PAD)
 | 
|---|
| 11 |  . S TEXT=TEXT_" "_DATE
 | 
|---|
| 12 |  . W !,TEXT
 | 
|---|
| 13 |  Q
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  ;====================================================
 | 
|---|
| 16 | GENIEN(FINDING) ;Return internal entry number for findings.
 | 
|---|
| 17 |  N F0,IEN,PREFIX,ROOT,VPTR
 | 
|---|
| 18 |  S ROOT="^PXRMD(811.5,D0,20,FINDING,0)"
 | 
|---|
| 19 |  S F0=@ROOT
 | 
|---|
| 20 |  S VPTR=$P(F0,U,1)
 | 
|---|
| 21 |  S IEN=$P(VPTR,";",1)
 | 
|---|
| 22 |  S ROOT=$P(VPTR,";",2)
 | 
|---|
| 23 |  I '$D(PXRMFVPL) N PXRMFVPL D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
 | 
|---|
| 24 |  S VPTR=PXRMFVPL(ROOT)
 | 
|---|
| 25 |  S PREFIX=$P(VPTR,U,4)
 | 
|---|
| 26 |  Q " (FI("_+FINDING_")="_PREFIX_"("_IEN_"))"
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ;====================================================
 | 
|---|
| 29 | ENTRYNAM(VPTR) ;Given the variable pointer return the entry name. The
 | 
|---|
| 30 |  ;variable pointer list contains the information necessary to do the
 | 
|---|
| 31 |  ;look up.
 | 
|---|
| 32 |  N IEN,FILENUM,NAME,ROOT
 | 
|---|
| 33 |  S IEN=$P(VPTR,";",1)
 | 
|---|
| 34 |  S ROOT=$P(VPTR,";",2)
 | 
|---|
| 35 |  S FILENUM=$P(PXRMFVPL(ROOT),U,1)
 | 
|---|
| 36 |  S NAME=$$GET1^DIQ(FILENUM,IEN,.01,"","","")
 | 
|---|
| 37 |  Q NAME
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  ;====================================================
 | 
|---|
| 40 | PFIND ;Print the reminder term finding multiple.
 | 
|---|
| 41 |  N CFP,FIELD,FINDING,FIND0,HFCAT,HFIEN,PAD,PXRMFVPL
 | 
|---|
| 42 |  N RJC,SCNT,SIEN,STAT0,TEXT
 | 
|---|
| 43 |  ;If called by a FileMan print build the variable pointer list.
 | 
|---|
| 44 |  I '$D(PXRMFVPL) N PXRMFVPL D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
 | 
|---|
| 45 |  S PAD=" ",RJC=31
 | 
|---|
| 46 |  S FINDING=0
 | 
|---|
| 47 |  F  S FINDING=$O(^PXRMD(811.5,D0,20,FINDING)) Q:+FINDING=0  D
 | 
|---|
| 48 |  . S FIND0=^PXRMD(811.5,D0,20,FINDING,0)
 | 
|---|
| 49 |  . S FIELD=$P(FIND0,U,1)
 | 
|---|
| 50 |  . S TEXT=$$RJ^XLFSTR("Finding Item:",RJC,PAD)
 | 
|---|
| 51 |  . S TEXT=TEXT_"  "_$$ENTRYNAM(FIELD)
 | 
|---|
| 52 |  . S TEXT=TEXT_" "_$$TRMIEN(FINDING)
 | 
|---|
| 53 |  . W !!,TEXT
 | 
|---|
| 54 |  .;
 | 
|---|
| 55 |  . S TEXT=$$RJ^XLFSTR("Finding Type:",RJC,PAD)
 | 
|---|
| 56 |  . S TEXT=TEXT_"  "_$$TFTYPE(FIELD)
 | 
|---|
| 57 |  . W !,TEXT
 | 
|---|
| 58 |  . I FIND0["AUTTHF" D 
 | 
|---|
| 59 |  .. S HFIEN=$P($P(FIND0,U),";")
 | 
|---|
| 60 |  .. S HFCAT=$P($G(^AUTTHF(HFIEN,0)),U,3)
 | 
|---|
| 61 |  .. S HFCAT=$P($G(^AUTTHF(HFCAT,0)),U)
 | 
|---|
| 62 |  .. S TEXT=$$RJ^XLFSTR("Health Factor Category:",RJC,PAD)
 | 
|---|
| 63 |  .. S TEXT=TEXT_"  "_HFCAT
 | 
|---|
| 64 |  .. W !,TEXT
 | 
|---|
| 65 |  .;
 | 
|---|
| 66 |  . S FIELD=$P(FIND0,U,4)
 | 
|---|
| 67 |  . I $L(FIELD)>0 D
 | 
|---|
| 68 |  .. S TEXT=$$RJ^XLFSTR("Match Frequency/Age:",RJC,PAD)
 | 
|---|
| 69 |  .. S TEXT=TEXT_"  "_$$GENFREQ^PXRMPTD2(FIND0)
 | 
|---|
| 70 |  .. W !,TEXT
 | 
|---|
| 71 |  .;
 | 
|---|
| 72 |  . D DATE(FIND0,8,9,"Beginning Date/Time:",RJC,PAD)
 | 
|---|
| 73 |  . D DATE(FIND0,11,12,"Ending Date/Time Date:",RJC,PAD)
 | 
|---|
| 74 |  . D SFDISP(FIND0,14,17,"Occurrence Count:",RJC,PAD)
 | 
|---|
| 75 |  . D SFDISP(FIND0,9,10,"Use Inactive Problems:",RJC,PAD)
 | 
|---|
| 76 |  . D SFDISP(FIND0,10,11,"Within Category Rank:",RJC,PAD)
 | 
|---|
| 77 |  . D SFDISP(FIND0,12,13,"MH Scale:",RJC,PAD)
 | 
|---|
| 78 |  . D SFDISP(FIND0,16,28,"Include Visit Data:",RJC,PAD)
 | 
|---|
| 79 |  . D SFDISP(FIND0,13,16,"Rx Type:",RJC,PAD)
 | 
|---|
| 80 |  . D SFDISP(FIND0,15,27,"Use Start Date:",RJC,PAD)
 | 
|---|
| 81 |  . I $D(^PXRMD(811.5,D0,20,FINDING,5,0))=1 D
 | 
|---|
| 82 |  .. S (SCNT,SIEN)=0
 | 
|---|
| 83 |  .. F  S SIEN=$O(^PXRMD(811.5,D0,20,FINDING,5,SIEN)) Q:SIEN=""  D
 | 
|---|
| 84 |  ... S STAT0=$G(^PXRMD(811.5,D0,20,FINDING,5,SIEN,0))
 | 
|---|
| 85 |  ... D STATUS(STAT0,"Status List:") S SCNT=SCNT+1
 | 
|---|
| 86 |  .;
 | 
|---|
| 87 |  . S FIND0=$G(^PXRMD(811.5,D0,20,FINDING,3))
 | 
|---|
| 88 |  . D SFDISP(FIND0,1,14,"Condition:",RJC,PAD)
 | 
|---|
| 89 |  . D SFDISP(FIND0,2,15,"Condition Case Sensitive:",RJC,PAD)
 | 
|---|
| 90 |  . D SFDISP(FIND0,3,18,"Use Status/Cond in Search:",RJC,PAD)
 | 
|---|
| 91 |  . I $G(^PXRMD(811.5,D0,20,FINDING,15))'="" D
 | 
|---|
| 92 |  .. S CFP=$$RJ^XLFSTR("Computed Finding Parameter:",RJC,PAD)
 | 
|---|
| 93 |  .. S CFP=CFP_"  "_$G(^PXRMD(811.5,D0,20,FINDING,15))
 | 
|---|
| 94 |  .. W !,CFP
 | 
|---|
| 95 |  Q
 | 
|---|
| 96 |  ;
 | 
|---|
| 97 |  ;====================================================
 | 
|---|
| 98 | SFDISP(FIND0,PIECE,FLDNUM,TITLE,RJC,PAD) ;Standard finding multiple
 | 
|---|
| 99 |  ;field display.
 | 
|---|
| 100 |  N FIELD,TEXT
 | 
|---|
| 101 |  S FIELD=$P(FIND0,U,PIECE)
 | 
|---|
| 102 |  I $L(FIELD)>0 D
 | 
|---|
| 103 |  . S TEXT=$$RJ^XLFSTR(TITLE,RJC,PAD)
 | 
|---|
| 104 |  . S TEXT=TEXT_"  "_$$EXTERNAL^DILFD(811.52,FLDNUM,"",FIELD,"")
 | 
|---|
| 105 |  . I FLDNUM=13 S TEXT=TEXT_" - "_$$SPECIAL^PXRMPTDF(FIND0,FIELD)
 | 
|---|
| 106 |  . W !,TEXT
 | 
|---|
| 107 |  Q
 | 
|---|
| 108 |  ;
 | 
|---|
| 109 |  ;====================================================
 | 
|---|
| 110 | STATUS(STAT0,TITLE) ; Status display
 | 
|---|
| 111 |  I $L(STAT0)>0 D
 | 
|---|
| 112 |  . N STATUS
 | 
|---|
| 113 |  . I SCNT=0 S STATUS=$$RJ^XLFSTR(TITLE,RJC,PAD)
 | 
|---|
| 114 |  . I SCNT>0 S STATUS=$$RJ^XLFSTR("",RJC,PAD)
 | 
|---|
| 115 |  . S STATUS=STATUS_"  "_STAT0
 | 
|---|
| 116 |  . W !,STATUS
 | 
|---|
| 117 |  Q
 | 
|---|
| 118 |  ;
 | 
|---|
| 119 |  ;====================================================
 | 
|---|
| 120 | TFTYPE(VPTR) ;Return Term finding type
 | 
|---|
| 121 |  N ROOT,TFTYPE
 | 
|---|
| 122 |  S ROOT=$P(VPTR,";",2)
 | 
|---|
| 123 |  I '$D(PXRMFVPL) N PXRMFVPL D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
 | 
|---|
| 124 |  S TFTYPE=$P(PXRMFVPL(ROOT),U,2)
 | 
|---|
| 125 |  Q TFTYPE
 | 
|---|
| 126 |  ;
 | 
|---|
| 127 |  ;====================================================
 | 
|---|
| 128 | TRMIEN(FINDING) ;Return internal entry number for TERM findings.
 | 
|---|
| 129 |  N F0,IEN,PREFIX,ROOT,VPTR
 | 
|---|
| 130 |  S ROOT="^PXRMD(811.5,D0,20,FINDING,0)"
 | 
|---|
| 131 |  S F0=@ROOT
 | 
|---|
| 132 |  S VPTR=$P(F0,U,1)
 | 
|---|
| 133 |  S IEN=$P(VPTR,";",1)
 | 
|---|
| 134 |  S ROOT=$P(VPTR,";",2)
 | 
|---|
| 135 |  I '$D(PXRMFVPL) N PXRMFVPL D BLDRLIST^PXRMVPTR(811.52,.01,.PXRMFVPL)
 | 
|---|
| 136 |  S VPTR=PXRMFVPL(ROOT)
 | 
|---|
| 137 |  S PREFIX=$P(VPTR,U,4)
 | 
|---|
| 138 |  Q " (FI("_+FINDING_")="_PREFIX_"("_IEN_"))"
 | 
|---|
| 139 |  ;
 | 
|---|