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

PXRMDLG7.m

Go to the documentation of this file.
  1. PXRMDLG7 ;SLC/AGP - Reminder Dialog TESTER List Manager;Jul 12, 2022@14:08:28
  1. ;;2.0;CLINICAL REMINDERS;**45,65**;Feb 04, 2005;Build 438
  1. ;
  1. ;
  1. BLFAIL(ARRAY) ;
  1. N CNT,TEMP
  1. S CNT=$O(ARRAY(""),-1)
  1. I CNT>2 Q 0
  1. S TEMP=1_U_U_"1"_U_"D"_U_"1"_U_U_U_"0"_U_U
  1. I $G(ARRAY(1))'=TEMP Q 0
  1. S TEMP=2_U_U_"1"_U_"Clinical Reminder evaluation error; this reminder dialog cannot be processed.<br>Please contact the reminder manager for assistance."
  1. I ARRAY(CNT)'=TEMP Q 0
  1. W !,"Clinical Reminder evaluation error; this reminder dialog cannot be processed."
  1. W !,"Please contact the reminder manager for assistance."
  1. H 2
  1. Q 1
  1. ;
  1. EN ;
  1. N ARRAY,VIEW
  1. S VALMBCK="R"
  1. D TESTER(.ARRAY,PXRMDIEN,.VIEW)
  1. I '$D(ARRAY) D BUILD^PXRMDLG(0) Q
  1. I $$BLFAIL(.ARRAY) D BUILD^PXRMDLG(0) Q
  1. D START
  1. Q
  1. ;Display national dialog
  1. START N NLINE,NSEL
  1. S NLINE=0,NSEL=0
  1. ;
  1. S PXRMDTST=1
  1. K ^TMP("PXRMDLG",$J)
  1. D BUILD
  1. ;Create headings
  1. D CHGCAP^VALM("HEADER1","Item Seq.")
  1. I VIEW=1 D CHGCAP^VALM("HEADER2","Tester Dialog Details")
  1. I VIEW=2 D CHGCAP^VALM("HEADER2","Tester Dialog Text")
  1. I VIEW=3 D CHGCAP^VALM("HEADER2","Tester Progress Note Text")
  1. I VIEW=1 D CHGCAP^VALM("HEADER3","Type")
  1. S VALMCNT=NLINE
  1. S ^TMP("PXRMDLG",$J,"VALMCNT")=VALMCNT
  1. D XQORM^PXRMDLG
  1. EXIT Q
  1. ;
  1. BUILD ;
  1. N I,IEN,OUTPUT,PIECES,SEQ,SEQLAST,SEQS,TESTDATA
  1. S I=0 F S I=$O(ARRAY(I)) Q:I'>0 D
  1. .S OUTPUT=$G(ARRAY(I)) Q:OUTPUT="" Q:$P(OUTPUT,U)=2
  1. .S IEN=$P(OUTPUT,U,2),SEQ=$P(OUTPUT,U,3)
  1. .;break out seq to mimic going through the DD entry
  1. .S PIECES=$L(SEQ,".")
  1. .I PIECES=1 S SEQS="",SEQLAST=SEQ
  1. .I PIECES>1 D
  1. ..S ^TMP("PXRMDLG",$J,"SEQ",SEQ)=IEN
  1. ..S SEQS=$P(SEQ,".",1,PIECES-1)_"."
  1. ..S SEQLAST=$P(SEQ,".",PIECES)
  1. .I VIEW=1 D DLINE^PXRMDLG3(IEN,SEQS,SEQLAST)
  1. .I VIEW>1 S TESTDATA=$$TESTDATA(IEN,OUTPUT) D DLINE^PXRMDLG4(IEN,SEQS,SEQLAST,"PXRMDLG")
  1. .S ^TMP("PXRMDLG",$J,"IEN",NSEL)=IEN_U_SEQLAST
  1. Q
  1. ;
  1. ISTEST() ;
  1. Q +$G(PXRMDTST)
  1. ;
  1. TESTDATA(IEN,NODE) ;
  1. N RESULT
  1. S RESULT=$G(^PXRMD(801.41,IEN,0))
  1. S $P(RESULT,U,11)=$S($P(NODE,U,4)="D":1,$P(NODE,U,4)="C":"C",1:"")
  1. S $P(RESULT,U,14)=$P(NODE,U,10)
  1. S $P(RESULT,U,10)=$P(NODE,U,15)
  1. S $P(RESULT,U,7)=$P(NODE,U,16)
  1. S $P(RESULT,U,8)=$P(NODE,U,17)
  1. S $P(RESULT,U,9)=$P(NODE,U,18)
  1. S $P(RESULT,U,6)=$S($P(NODE,U,19)=1:"Y",1:"N")
  1. S $P(RESULT,U,5)=$P(NODE,U,20)
  1. S $P(RESULT,U,12)=$P(NODE,U,21)
  1. Q RESULT
  1. ;
  1. TESTER(ARRAY,PXRMDIEN,VIEW) ;
  1. ;Prompt for patient and dialog.
  1. N DATE,DIR,DFN,DIC,DIR,DIROUT,DIRUT,DTOUT,DUOUT,HASFF,HASTERM,IND
  1. N PXRHM,PXRMFFSS,PXRMITEM,PXRMTDEB,OCNT,ORY,X,Y
  1. S VIEW=-1
  1. GVIEW ;
  1. S DIR(0)="SB^DD:DETAILED DISPLAY;DP:DIALOG PROGRESS NOTE;DT:DIALOG TEXT"
  1. S DIR("A")="Select View:"
  1. S DIR("B")="DD"
  1. D ^DIR
  1. I Y=U G GVIEW
  1. I Y=U_U Q
  1. S VIEW=$S(Y="DD":1,Y="DP":3,Y="DT":2,1:-1)
  1. I VIEW=-1 Q
  1. S DIC=2,DIC("A")="Select Patient: "
  1. S DIC(0)="AEQMZ"
  1. GPAT1 D ^DIC
  1. I $D(DIROUT)!$D(DIRUT) Q
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. S DFN=+$P(Y,U,1)
  1. I DFN=-1 G GPAT1
  1. D LOAD^PXRMDLL(PXRMDIEN,DFN,"")
  1. M ARRAY=ORY
  1. Q
  1. ;