| 1 | PXRMLIST ; SLC/PKR/PJH - Clinical Reminders list functions. ;07/17/2007
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;**6**;Feb 04, 2005;Build 123
 | 
|---|
| 3 |  ;Used in the reminder exchange utility for building lists of
 | 
|---|
| 4 |  ;reminders, Exchange File entries, etc.
 | 
|---|
| 5 |  ;=======================================================
 | 
|---|
| 6 | FRDEF(NAME,PNAME) ;Format the reminder name and print name.
 | 
|---|
| 7 |  N IND,TEMP
 | 
|---|
| 8 |  S TEMP=$$LJ^XLFSTR(NAME,40," ")
 | 
|---|
| 9 |  S TEMP=TEMP_PNAME
 | 
|---|
| 10 |  Q TEMP
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 |  ;=======================================================
 | 
|---|
| 13 | FMT(NUMBER,NAME,SOURCE,DATE,FMTSTR,NL,OUTPUT) ;Format  entry number, name,
 | 
|---|
| 14 |  ;source, and date packed for LM display.
 | 
|---|
| 15 |  N TEMP,TSOURCE
 | 
|---|
| 16 |  S TEMP=NUMBER_U_NAME
 | 
|---|
| 17 |  S TSOURCE=$E($P(SOURCE,",",1),1,12)_"@"_$E($P(SOURCE," at ",2),1,12)
 | 
|---|
| 18 |  S TEMP=TEMP_U_TSOURCE
 | 
|---|
| 19 |  S DATE=$$FMTE^XLFDT(DATE,"5Z")
 | 
|---|
| 20 |  S TEMP=TEMP_U_DATE
 | 
|---|
| 21 |  D COLFMT^PXRMTEXT(FMTSTR,TEMP," ",.NL,.OUTPUT)
 | 
|---|
| 22 |  Q
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ;=======================================================
 | 
|---|
| 25 | LIST ;Print a list of location lists.
 | 
|---|
| 26 |  N BY,DIC,FLDS,FR,L,PXRMEDOK
 | 
|---|
| 27 |  S PXRMEDOK=1
 | 
|---|
| 28 |  S BY=".01"
 | 
|---|
| 29 |  S DIC="^PXRMD(810.9,"
 | 
|---|
| 30 |  S FLDS="[PXRM LOCATION LIST LIST]"
 | 
|---|
| 31 |  S FR=""
 | 
|---|
| 32 |  S L=0
 | 
|---|
| 33 |  D EN1^DIP
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 |  ;=======================================================
 | 
|---|
| 37 | MRKINACT(TEXT) ;Append the inactive mark to TEXT in column 77.
 | 
|---|
| 38 |  N IC,NSPA
 | 
|---|
| 39 |  S NSPA=77-$L(TEXT)
 | 
|---|
| 40 |  F IC=1:1:NSPA S TEXT=TEXT_" "
 | 
|---|
| 41 |  S TEXT=TEXT_"X"
 | 
|---|
| 42 |  Q TEXT
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 |  ;=======================================================
 | 
|---|
| 45 | QUERYAO() ;See if the user wants only active reminders listed.
 | 
|---|
| 46 |  N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
 | 
|---|
| 47 |  S DIR(0)="YA"
 | 
|---|
| 48 |  S DIR("A")="List active reminders only? "
 | 
|---|
| 49 |  S DIR("B")="Y"
 | 
|---|
| 50 |  W !
 | 
|---|
| 51 |  D ^DIR
 | 
|---|
| 52 |  Q Y
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  ;=======================================================
 | 
|---|
| 55 | RDEF(DEFLIST,ARO) ;Build a list of the name and print name of all
 | 
|---|
| 56 |  ;reminder definitions.
 | 
|---|
| 57 |  N INACTIVE,IEN,NAME,PNAME,REMINDER
 | 
|---|
| 58 |  S INACTIVE=""
 | 
|---|
| 59 |  ;Build the list of reminders in alphabetical order.
 | 
|---|
| 60 |  S VALMCNT=0
 | 
|---|
| 61 |  S NAME=""
 | 
|---|
| 62 |  F  S NAME=$O(^PXD(811.9,"B",NAME)) Q:NAME=""  D
 | 
|---|
| 63 |  . S IEN=$O(^PXD(811.9,"B",NAME,""))
 | 
|---|
| 64 |  . S REMINDER=^PXD(811.9,IEN,0)
 | 
|---|
| 65 |  . S INACTIVE=$P(REMINDER,U,6)
 | 
|---|
| 66 |  . I (ARO)&(INACTIVE) Q
 | 
|---|
| 67 |  . S VALMCNT=VALMCNT+1
 | 
|---|
| 68 |  . S PNAME=$P(REMINDER,U,3)
 | 
|---|
| 69 |  . S DEFLIST(VALMCNT,0)=$$FRDEF(NAME,PNAME)
 | 
|---|
| 70 |  . I INACTIVE D
 | 
|---|
| 71 |  .. S DEFLIST(VALMCNT,0)=$$MRKINACT(DEFLIST(VALMCNT,0))
 | 
|---|
| 72 |  S DEFLIST("VALMCNT")=VALMCNT
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 |  ;=======================================================
 | 
|---|
| 76 | REXL(RLIST) ;Build a list of exchange repository entries.
 | 
|---|
| 77 |  N DATE,EXIEN,FMTSTR,IND,NAME,NL,NUM,OUTPUT,SOURCE,STR
 | 
|---|
| 78 |  ;Build the list in alphabetical order.
 | 
|---|
| 79 |  S FMTSTR=$$LMFMTSTR^PXRMTEXT(.VALMDDF,"RLLL")
 | 
|---|
| 80 |  S (NUM,VALMCNT)=0
 | 
|---|
| 81 |  S NAME=""
 | 
|---|
| 82 |  F  S NAME=$O(^PXD(811.8,"B",NAME)) Q:NAME=""  D
 | 
|---|
| 83 |  . S DATE=""
 | 
|---|
| 84 |  . F  S DATE=$O(^PXD(811.8,"B",NAME,DATE)) Q:DATE=""  D
 | 
|---|
| 85 |  .. S EXIEN=$O(^PXD(811.8,"B",NAME,DATE,""))
 | 
|---|
| 86 |  .. S SOURCE=$P(^PXD(811.8,EXIEN,0),U,2)
 | 
|---|
| 87 |  .. S NUM=NUM+1
 | 
|---|
| 88 |  .. S ^TMP(RLIST,$J,"SEL",NUM)=EXIEN
 | 
|---|
| 89 |  .. D FMT(NUM,NAME,SOURCE,DATE,FMTSTR,.NL,.OUTPUT)
 | 
|---|
| 90 |  .. F IND=1:1:NL D
 | 
|---|
| 91 |  ... S VALMCNT=VALMCNT+1,^TMP(RLIST,$J,VALMCNT,0)=OUTPUT(IND)
 | 
|---|
| 92 |  ... S ^TMP(RLIST,$J,"IDX",VALMCNT,NUM)=""
 | 
|---|
| 93 |  S ^TMP(RLIST,$J,"VALMCNT")=VALMCNT
 | 
|---|
| 94 |  Q
 | 
|---|
| 95 |  ;
 | 
|---|
| 96 |  ;=======================================================
 | 
|---|
| 97 | SPONSOR ;Print a list of Sponsors.
 | 
|---|
| 98 |  N BY,DIC,FLDS,FR,L,PXRMEDOK
 | 
|---|
| 99 |  S PXRMEDOK=1
 | 
|---|
| 100 |  S BY=".01"
 | 
|---|
| 101 |  S DIC="^PXRMD(811.6,"
 | 
|---|
| 102 |  S FLDS="[PXRM SPONSOR LIST]"
 | 
|---|
| 103 |  S FR=""
 | 
|---|
| 104 |  S L=0
 | 
|---|
| 105 |  D EN1^DIP
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 |  ;
 | 
|---|