| 1 | PXRMRPCD ;SLC/PJH - PXRM REMINDER DIALOG ;06/08/2001 | 
|---|
| 2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005 | 
|---|
| 3 | ; | 
|---|
| 4 | ; Used by CPRS - see DBIA #3295/#3296/#3332 | 
|---|
| 5 | ; | 
|---|
| 6 | ; | 
|---|
| 7 | CATEGORY(ORY,CIEN) ;Get category information | 
|---|
| 8 | ; | 
|---|
| 9 | ; Input parameter Category ien [#811.7] | 
|---|
| 10 | ; | 
|---|
| 11 | N DATA,IC,IEN,NAME,PNAME,RIEN,SEQ,SUB,TEMP,USAGE | 
|---|
| 12 | S IC=0 | 
|---|
| 13 | ;Get category name | 
|---|
| 14 | S NAME=$G(^PXRMD(811.7,CIEN,0)) I NAME="" Q | 
|---|
| 15 | ; | 
|---|
| 16 | ;Sort Reminders from this category into display sequence | 
|---|
| 17 | S SUB=0 K TEMP | 
|---|
| 18 | F  S SUB=$O(^PXRMD(811.7,CIEN,2,SUB)) Q:SUB=""  D | 
|---|
| 19 | .S DATA=$G(^PXRMD(811.7,CIEN,2,SUB,0)) Q:DATA="" | 
|---|
| 20 | .S RIEN=$P(DATA,U) Q:'RIEN | 
|---|
| 21 | .S SEQ=$P(DATA,U,2)_0 | 
|---|
| 22 | .;Include only CPRS reminders | 
|---|
| 23 | .S USAGE=$P($G(^PXD(811.9,RIEN,100)),U,4) I USAGE'["C",USAGE'["*" Q | 
|---|
| 24 | .;Skip inactive reminders | 
|---|
| 25 | .S DATA=$G(^PXD(811.9,RIEN,0)) Q:DATA=""  Q:$P(DATA,U,6) | 
|---|
| 26 | .S NAME=$P(DATA,U) I NAME="" S NAME="Unknown" | 
|---|
| 27 | .;or printname | 
|---|
| 28 | .S PNAME=$P(DATA,U,3) | 
|---|
| 29 | .S TEMP(SEQ)=RIEN_U_NAME_U_PNAME | 
|---|
| 30 | ; | 
|---|
| 31 | ;Re-save reminders in output array for display | 
|---|
| 32 | ;type^reminder ien^name | 
|---|
| 33 | ; | 
|---|
| 34 | S SEQ="" | 
|---|
| 35 | F  S SEQ=$O(TEMP(SEQ)) Q:SEQ=""  D | 
|---|
| 36 | .S IC=IC+1,ORY(IC)="R"_U_TEMP(SEQ) | 
|---|
| 37 | ; | 
|---|
| 38 | ;Sort Sub-Categories for this category into display order | 
|---|
| 39 | S SUB=0 K TEMP | 
|---|
| 40 | F  S SUB=$O(^PXRMD(811.7,CIEN,10,SUB)) Q:SUB=""  D | 
|---|
| 41 | .S DATA=$G(^PXRMD(811.7,CIEN,10,SUB,0)) Q:DATA="" | 
|---|
| 42 | .S IEN=$P(DATA,U) Q:'IEN | 
|---|
| 43 | .S SEQ=$P(DATA,U,2),TEMP(SEQ)=IEN | 
|---|
| 44 | ; | 
|---|
| 45 | ;Save sub categories | 
|---|
| 46 | S SEQ="" | 
|---|
| 47 | F  S SEQ=$O(TEMP(SEQ)) Q:SEQ=""  D | 
|---|
| 48 | .S SUB=TEMP(SEQ) Q:'SUB | 
|---|
| 49 | .S NAME=$P($G(^PXRMD(811.7,SUB,0)),U) Q:NAME="" | 
|---|
| 50 | .S IC=IC+1,ORY(IC)="C"_U_SUB_U_NAME | 
|---|
| 51 | Q | 
|---|
| 52 | ; | 
|---|
| 53 | DIALOG(ORY,ORDLG,DFN) ;Load dialog | 
|---|
| 54 | ; | 
|---|
| 55 | ; Input parameter ORDLG - dialog ien [#801.41] | 
|---|
| 56 | ; | 
|---|
| 57 | I 'ORDLG S ORY(1)="-1^dialog ien not specified" Q | 
|---|
| 58 | ; | 
|---|
| 59 | ;Check if a reminder dialog and enabled | 
|---|
| 60 | N DATA | 
|---|
| 61 | S DATA=$G(^PXRMD(801.41,ORDLG,0)) | 
|---|
| 62 | ; | 
|---|
| 63 | I $P(DATA,U,4)'="R" S ORY(1)="-1^reminder dialog invalid" Q | 
|---|
| 64 | ; | 
|---|
| 65 | I $P(DATA,U,3) S ORY(1)="-1^reminder dialog disabled" Q | 
|---|
| 66 | ; | 
|---|
| 67 | ;Load dialog lines into local array | 
|---|
| 68 | D LOAD^PXRMDLL(ORDLG,$G(DFN)) | 
|---|
| 69 | Q | 
|---|
| 70 | ; | 
|---|
| 71 | EDITPAR(PAR) ;Edit CPRS GUI Version 15 parameters | 
|---|
| 72 | ; | 
|---|
| 73 | ;This is an entry action in the PXRM CPRS CONFIGURATION menu options | 
|---|
| 74 | ; | 
|---|
| 75 | ;Check if Patch 85 has been installed | 
|---|
| 76 | I '$$FIND1^DIC(8989.51,"","AMX",PAR) D  Q | 
|---|
| 77 | .W !!,"This option requires CPRS GUI Version 15",*7 H 1 | 
|---|
| 78 | ; | 
|---|
| 79 | ;Edit Parameter Definition | 
|---|
| 80 | D EDITPAR^XPAREDIT(PAR) | 
|---|
| 81 | Q | 
|---|
| 82 | ; | 
|---|
| 83 | SEL(ORY) ;Selectable reminders and categories | 
|---|
| 84 | N CIEN,CNAM,CNT,DATA,RCLASS,RNAM,RPNAM,RIEN,TYPE,USAGE | 
|---|
| 85 | ; | 
|---|
| 86 | ;Reminders in print name order | 
|---|
| 87 | S TYPE="R",RPNAM="",CNT=0 | 
|---|
| 88 | F  S RPNAM=$O(^PXD(811.9,"D",RPNAM)) Q:RPNAM=""  D | 
|---|
| 89 | .S RIEN=0 | 
|---|
| 90 | .F  S RIEN=$O(^PXD(811.9,"D",RPNAM,RIEN)) Q:'RIEN  D | 
|---|
| 91 | ..;Include only CPRS reminders | 
|---|
| 92 | ..S USAGE=$P($G(^PXD(811.9,RIEN,100)),U,4) I USAGE'["C",USAGE'["*" Q | 
|---|
| 93 | ..;Skip inactive reminders | 
|---|
| 94 | ..S DATA=$G(^PXD(811.9,RIEN,0)) Q:DATA=""  Q:$P(DATA,U,6) | 
|---|
| 95 | ..S RNAM=$P(DATA,U),RCLASS=$P($G(^PXD(811.9,RIEN,100)),U) | 
|---|
| 96 | ..S CNT=CNT+1,ORY(CNT)=TYPE_U_RIEN_U_RPNAM_U_RNAM_U_RCLASS | 
|---|
| 97 | ; | 
|---|
| 98 | ;Categories in name order | 
|---|
| 99 | S TYPE="C",CNAM="" | 
|---|
| 100 | F  S CNAM=$O(^PXRMD(811.7,"B",CNAM)) Q:CNAM=""  D | 
|---|
| 101 | .S CIEN=$O(^PXRMD(811.7,"B",CNAM,"")) Q:'CIEN | 
|---|
| 102 | .S CNT=CNT+1,ORY(CNT)=TYPE_U_CIEN_U_CNAM | 
|---|
| 103 | Q | 
|---|