| 1 | PXRMRUTL ; SLC/PJH - Reminder utilities. ;03/24/2003 | 
|---|
| 2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005 | 
|---|
| 3 | ; | 
|---|
| 4 | ; | 
|---|
| 5 | ;Store file details used by findings in array form | 
|---|
| 6 | ;------------------------------------------------- | 
|---|
| 7 | DEF(FILENUM,DEF,DEF1,DEF2) ; | 
|---|
| 8 | N DATA,DESC,FILE,GSUB,LIST,SEQ,TYPE | 
|---|
| 9 | ;Get variable pointer details from data dictionary | 
|---|
| 10 | D BLDRLIST^PXRMVPTR(FILENUM,".01",.LIST) | 
|---|
| 11 | ; | 
|---|
| 12 | S GSUB="",DEF=0 | 
|---|
| 13 | F  S GSUB=$O(LIST(GSUB)) Q:GSUB=""  D | 
|---|
| 14 | .S DATA=$G(LIST(GSUB)) Q:DATA="" | 
|---|
| 15 | .S FILE=$P(DATA,U),DESC=$P(DATA,U,2),SEQ=$P(DATA,U,3),TYPE=$P(DATA,U,4) | 
|---|
| 16 | .Q:(FILE="")!(TYPE="")!(SEQ="")!(DESC="") | 
|---|
| 17 | .;Save number of files (using sequence number) | 
|---|
| 18 | .I SEQ>DEF S DEF=SEQ | 
|---|
| 19 | .;Save file type and description in sequence (used in DIR prompt) | 
|---|
| 20 | .S DEF(SEQ)=TYPE_":"_DESC | 
|---|
| 21 | .;Build index to file type from global reference | 
|---|
| 22 | .S DEF1(GSUB)=TYPE | 
|---|
| 23 | .;Build Index to description from file type | 
|---|
| 24 | .S DEF2(TYPE)=DESC | 
|---|
| 25 | .;Build Index to file number from file type | 
|---|
| 26 | .S DEF2(TYPE,1)=FILE | 
|---|
| 27 | Q | 
|---|
| 28 | ; | 
|---|
| 29 | DUMMY W !!,"This option is not yet available",!!,*7 H 1 | 
|---|
| 30 | Q | 
|---|
| 31 | ; | 
|---|
| 32 | DUMMY1 D BMES^XPDUTL("Option is not yet available.") H 2 | 
|---|
| 33 | S VALMBCK="R" | 
|---|
| 34 | Q | 
|---|
| 35 | ; | 
|---|
| 36 | ; | 
|---|
| 37 | TEST(ARRAY,DIEN) ;Dialog test | 
|---|
| 38 | D LOAD^PXRMDLL(DIEN) M ARRAY=ORY | 
|---|
| 39 | ; | 
|---|
| 40 | N DSEQ,DIEN,DCUR,DSUB,DTTYP,OCNT,SUB,ARRAYN | 
|---|
| 41 | S OCNT=$O(ARRAY(""),-1)+1,ARRAY(OCNT)=$J("",79) | 
|---|
| 42 | S OCNT=OCNT+1,ARRAY(OCNT)="Additional prompts" | 
|---|
| 43 | S OCNT=OCNT+1,ARRAY(OCNT)=$J("",79) | 
|---|
| 44 | S SUB="" | 
|---|
| 45 | F  S SUB=$O(ORY(SUB)) Q:'SUB  D | 
|---|
| 46 | .I $P(ORY(SUB),U)'=1 Q | 
|---|
| 47 | .S DIEN=$P(ORY(SUB),U,2),DSEQ=$P(ORY(SUB),U,3) | 
|---|
| 48 | .S DTTYP=$P(ORY(SUB),U,7),DCUR=$P(ORY(SUB),U,8) | 
|---|
| 49 | .;Ignore group headers | 
|---|
| 50 | .Q:DCUR="D" | 
|---|
| 51 | .K ARRAYN D TESTL(.ARRAYN,DIEN,DCUR,DTTYP) | 
|---|
| 52 | .S DSUB="" | 
|---|
| 53 | .F  S DSUB=$O(ARRAYN(DSUB)) Q:'DSUB  D | 
|---|
| 54 | ..S OCNT=OCNT+1,ARRAY(OCNT)=ARRAYN(DSUB) | 
|---|
| 55 | .S OCNT=OCNT+1,ARRAY(OCNT)=$J("",79) | 
|---|
| 56 | Q | 
|---|
| 57 | ; | 
|---|
| 58 | TESTL(ORY,DITEM,DCUR,DTTYP) ;Dialog load | 
|---|
| 59 | D LOAD^PXRMDLLA(DITEM,DCUR,DTTYP) | 
|---|
| 60 | Q | 
|---|