[613] | 1 | PXRMDLG2 ; SLC/PJH - Reminder Dialog Edit/Inquiry ;07/29/2004
|
---|
| 2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
|
---|
| 3 | ;
|
---|
| 4 | ;Find description for dialog type
|
---|
| 5 | LIT(INP) ;
|
---|
| 6 | Q:INP="G" "Dialog group: "
|
---|
| 7 | Q:INP="F" "Forced value: "
|
---|
| 8 | Q:INP="P" "Prompt: "
|
---|
| 9 | Q:INP="E" "Dialog element: "
|
---|
| 10 | Q "???"
|
---|
| 11 | ;
|
---|
| 12 | ;Additional Findings
|
---|
| 13 | ADD(DIEN) ;
|
---|
| 14 | N FIND,FSUB,FTYP,FNAME,FNUM
|
---|
| 15 | S FSUB=0
|
---|
| 16 | F S FSUB=$O(^PXRMD(801.41,DIEN,3,FSUB)) Q:'FSUB D
|
---|
| 17 | .S FIND=$P($G(^PXRMD(801.41,DIEN,3,FSUB,0)),U) Q:FIND=""
|
---|
| 18 | .S FNAME="" D DESC(FIND) Q:FNAME=""
|
---|
| 19 | .S FNAME="Additional Finding: "_FNAME
|
---|
| 20 | .;Save additional finding name
|
---|
| 21 | .S VALMCNT=VALMCNT+1
|
---|
| 22 | .S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_FNAME
|
---|
| 23 | Q
|
---|
| 24 | ;Finding description
|
---|
| 25 | DESC(FIEN) ;
|
---|
| 26 | ;Determine finding type
|
---|
| 27 | S FGLOB=$P(FIEN,";",2) Q:FGLOB=""
|
---|
| 28 | S FITEM=$P(FIEN,";") Q:FITEM=""
|
---|
| 29 | ;Diagnosis POV
|
---|
| 30 | I FGLOB["ICD9" D Q
|
---|
| 31 | .S FTYP="DIAGNOSIS",FGLOB=U_FGLOB_FITEM_",0)"
|
---|
| 32 | .S FNAME=$P($G(@FGLOB),U,3)_" ["_FITEM_"]"
|
---|
| 33 | ;Procedure CPT
|
---|
| 34 | I FGLOB["ICPT" D Q
|
---|
| 35 | .S FTYP="PROCEDURE",FGLOB=U_FGLOB_FITEM_",0)"
|
---|
| 36 | .S FNAME=$P($G(@FGLOB),U,2)_" ["_FITEM_"]"
|
---|
| 37 | ;Quick order
|
---|
| 38 | I FGLOB["ORD(101.41" D Q
|
---|
| 39 | .S FTYP="QUICK ORDER",FGLOB=U_FGLOB_FITEM_",0)"
|
---|
| 40 | .S FNAME=$P($G(@FGLOB),U,2)_" ["_FITEM_"]"
|
---|
| 41 | ;Short name for finding type
|
---|
| 42 | S FTYP=$G(DEF1(FGLOB)) Q:FTYP=""
|
---|
| 43 | S FNUM=" ["_FTYP_"("_FITEM_")]"
|
---|
| 44 | ;Long name
|
---|
| 45 | S FTYP=$G(DEF2(FTYP))
|
---|
| 46 | S FGLOB=U_FGLOB_FITEM_",0)"
|
---|
| 47 | S FNAME=$P($G(@FGLOB),U,1)
|
---|
| 48 | I FNAME="" S FNAME=$P($G(@FGLOB),U)
|
---|
| 49 | I FNAME]"" S FNAME=FNAME_FNUM Q
|
---|
| 50 | S FNAME=FITEM
|
---|
| 51 | Q
|
---|
| 52 | ;
|
---|
| 53 | ;Dialog Details (DD)
|
---|
| 54 | DETAIL(PIEN) ;
|
---|
| 55 | ;Get prompt data
|
---|
| 56 | S DATA=$G(^PXRMD(801.41,PIEN,0))
|
---|
| 57 | ;Extract name, type and disabled
|
---|
| 58 | S PNAME=$P(DATA,U),PDIS=$P(DATA,U,3),PTYP=$P(DATA,U,4),PTYP=$$LIT(PTYP)
|
---|
| 59 | ;Result (if any)
|
---|
| 60 | S RESULT=$P(DATA,U,15)
|
---|
| 61 | I RESULT S RESNM=$P($G(^PXRMD(801.41,RESULT,0)),U)
|
---|
| 62 | ;Get Resolution/Finding details
|
---|
| 63 | S DATA=$G(^PXRMD(801.41,PIEN,1)),RIEN=$P(DATA,U,3),FIEN=$P(DATA,U,5)
|
---|
| 64 | ;Resolution status name (assume this is a set)
|
---|
| 65 | S RNAME="???"
|
---|
| 66 | I RIEN S RNAME=$P($G(^PXRMD(801.9,RIEN,0)),U) S:RNAME="" RNAME="???"
|
---|
| 67 | ;Set Default display values
|
---|
| 68 | S FNAME="???",FTYP="???",ONAME="???"
|
---|
| 69 | ;For quick orders get the orderable item
|
---|
| 70 | I RNAME="ORDERED" D
|
---|
| 71 | .S FTYP="QUICK ORDER",FNAME="*QUICK ORDER MISSING*"
|
---|
| 72 | .S OIEN=$P($G(^PXRMD(801.41,PIEN,1)),U,7) Q:'OIEN
|
---|
| 73 | .S FGLOB="^ORD(101.43,"_OIEN_",0)"
|
---|
| 74 | .S ONAME=$P($G(@FGLOB),U)_" ["_OIEN_"]"
|
---|
| 75 | ;Description of finding
|
---|
| 76 | D DESC(FIEN)
|
---|
| 77 | ;
|
---|
| 78 | S RNAME="Resolution: "_RNAME
|
---|
| 79 | S FTYP="Finding type: "_FTYP
|
---|
| 80 | S FNAME="Finding item: "_FNAME
|
---|
| 81 | S VALMCNT=VALMCNT+1
|
---|
| 82 | S PTXT=$J(SEQ,3)_$J("",12)_PTYP_PNAME
|
---|
| 83 | S ^TMP("PXRMDLG",$J,VALMCNT,0)=PTXT_$J("",72-$L(PTXT))_PDIS
|
---|
| 84 | S ^TMP("PXRMDLG",$J,"IDX",SEQ,PIEN)=""
|
---|
| 85 | ;Save resolution
|
---|
| 86 | I ('DGRP),(FTYP'["TAXONOMY"),(FTYP'["MENTAL HEALTH") D
|
---|
| 87 | .I RNAME'["???" D
|
---|
| 88 | ..S VALMCNT=VALMCNT+1
|
---|
| 89 | ..S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_RNAME
|
---|
| 90 | .I FTYP["QUICK ORDER" D
|
---|
| 91 | ..S VALMCNT=VALMCNT+1
|
---|
| 92 | ..S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_"Orderable item: "_ONAME
|
---|
| 93 | I ('DGRP) D
|
---|
| 94 | .;Save finding type
|
---|
| 95 | .I FTYP'["???" D
|
---|
| 96 | ..S VALMCNT=VALMCNT+1
|
---|
| 97 | ..S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_FTYP
|
---|
| 98 | ;Save finding name
|
---|
| 99 | I ('DGRP),(FNAME'["???") D
|
---|
| 100 | .S VALMCNT=VALMCNT+1
|
---|
| 101 | .S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_FNAME
|
---|
| 102 | ;Additional Findings
|
---|
| 103 | I (FTYP'["TAXONOMY"),(FTYP'["MENTAL HEALTH") D ADD(PIEN)
|
---|
| 104 | ;Result group/element (mental health)
|
---|
| 105 | I RESULT D
|
---|
| 106 | .;Save result details
|
---|
| 107 | .S VALMCNT=VALMCNT+1
|
---|
| 108 | .S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_"Result name: "_RESNM
|
---|
| 109 | ;Get additional prompts/dialog group elements
|
---|
| 110 | D PROMPT^PXRMDLG1(PIEN,20,DHED,DGRP)
|
---|
| 111 | Q
|
---|
| 112 | ;
|
---|
| 113 | ;Group findings and prompts
|
---|
| 114 | GROUP(PIEN) ;
|
---|
| 115 | ;Get prompt data
|
---|
| 116 | S DATA=$G(^PXRMD(801.41,PIEN,0))
|
---|
| 117 | ;Extract name, type and disabled
|
---|
| 118 | S PNAME=$P(DATA,U),PDIS=$P(DATA,U,3),PTYP=$P(DATA,U,4),PTYP=$$LIT(PTYP)
|
---|
| 119 | ;Result (if any)
|
---|
| 120 | S RESULT=$P(DATA,U,15)
|
---|
| 121 | I RESULT S RESNM=$P($G(^PXRMD(801.41,RESULT,0)),U)
|
---|
| 122 | ;Get Resolution/Finding details
|
---|
| 123 | S DATA=$G(^PXRMD(801.41,PIEN,1)),RIEN=$P(DATA,U,3),FIEN=$P(DATA,U,5)
|
---|
| 124 | ;Resolution status name (assume this is a set)
|
---|
| 125 | S RNAME="???"
|
---|
| 126 | I RIEN S RNAME=$P($G(^PXRMD(801.9,RIEN,0)),U) S:RNAME="" RNAME="???"
|
---|
| 127 | ;Set Default display values
|
---|
| 128 | S FNAME="???",FTYP="???",ONAME="???"
|
---|
| 129 | ;For quick orders get the orderable item
|
---|
| 130 | I RNAME="ORDERED" D
|
---|
| 131 | .S FTYP="QUICK ORDER",FNAME="*QUICK ORDER MISSING*"
|
---|
| 132 | .S OIEN=$P($G(^PXRMD(801.41,PIEN,1)),U,7) Q:'OIEN
|
---|
| 133 | .S FGLOB="^ORD(101.43,"_OIEN_",0)"
|
---|
| 134 | .S ONAME=$P($G(@FGLOB),U)_" ["_OIEN_"]"
|
---|
| 135 | ;Description of finding
|
---|
| 136 | D DESC(FIEN)
|
---|
| 137 | ;
|
---|
| 138 | S RNAME="Resolution: "_RNAME
|
---|
| 139 | S FTYP="Finding type: "_FTYP
|
---|
| 140 | S FNAME="Finding item: "_FNAME
|
---|
| 141 | ;Save resolution
|
---|
| 142 | I (FTYP'["TAXONOMY"),(FTYP'["MENTAL HEALTH") D
|
---|
| 143 | .I RNAME'["???" D
|
---|
| 144 | ..S VALMCNT=VALMCNT+1
|
---|
| 145 | ..S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_RNAME
|
---|
| 146 | .I FTYP["QUICK ORDER" D
|
---|
| 147 | ..S VALMCNT=VALMCNT+1
|
---|
| 148 | ..S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_"Orderable item: "_ONAME
|
---|
| 149 | ;Save finding type
|
---|
| 150 | I FTYP'["???" D
|
---|
| 151 | .S VALMCNT=VALMCNT+1
|
---|
| 152 | .S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_FTYP
|
---|
| 153 | ;Save finding name
|
---|
| 154 | I (FNAME'["???") D
|
---|
| 155 | .S VALMCNT=VALMCNT+1
|
---|
| 156 | .S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",15)_FNAME
|
---|
| 157 | ;Additional Findings
|
---|
| 158 | I (FTYP'["TAXONOMY"),(FTYP'["MENTAL HEALTH") D ADD(PIEN)
|
---|
| 159 | ;Get additional prompts/dialog group elements
|
---|
| 160 | D PROMPT^PXRMDLG1(PIEN,20,"Additional prompts: ",0)
|
---|
| 161 | ;Final line feed
|
---|
| 162 | S VALMCNT=VALMCNT+1
|
---|
| 163 | S ^TMP("PXRMDLG",$J,VALMCNT,0)=$J("",79)
|
---|
| 164 | Q
|
---|