| 1 | PXRMSEL1 ; SLC/PJH - PXRM Selection ;04/04/2000
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; Called by PXRMSEL
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | BUILD ;Build selection list
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  D CHGCAP^VALM("HEADER1"," Item")
 | 
|---|
| 9 |  ;Reminder Dialog
 | 
|---|
| 10 |  I PXRMGTYP="DLG" D  Q
 | 
|---|
| 11 |  .N CODE,DATA,DDIS,PXRMDIEN,PXRMDNAM,PXRMITEM,PXRMRNAM,TXT,TYP
 | 
|---|
| 12 |  .S CODE="",VALMCNT=0
 | 
|---|
| 13 |  .F  S CODE=$O(^PXRMD(801.41,"B",CODE)) Q:CODE=""  D
 | 
|---|
| 14 |  ..;Get Dialog detail
 | 
|---|
| 15 |  ..S PXRMDIEN=$O(^PXRMD(801.41,"B",CODE,"")) Q:'PXRMDIEN
 | 
|---|
| 16 |  ..S DATA=$G(^PXRMD(801.41,PXRMDIEN,0)) Q:$P(DATA,U,4)'="R"
 | 
|---|
| 17 |  ..S PXRMDNAM=$P(DATA,U),PXRMRNAM="",DDIS=0
 | 
|---|
| 18 |  ..I $P(DATA,U,3)]"" S DDIS=1
 | 
|---|
| 19 |  ..I $O(^PXD(811.9,"AG",PXRMDIEN,"")),DDIS=0 S DDIS=2
 | 
|---|
| 20 |  ..S PXRMITEM=$P($G(^PXRMD(801.41,PXRMDIEN,0)),U,2)
 | 
|---|
| 21 |  ..I PXRMITEM D
 | 
|---|
| 22 |  ...I $E(PXRMVIEW,2)="N" S PXRMRNAM=$P($G(^PXD(811.9,PXRMITEM,0)),U)
 | 
|---|
| 23 |  ...I $E(PXRMVIEW,2)="P" S PXRMRNAM=$P($G(^PXD(811.9,PXRMITEM,0)),U,3)
 | 
|---|
| 24 |  ..S PXRMDNAM=$E(PXRMDNAM,1,39),PXRMRNAM=$E(PXRMRNAM,1,39)
 | 
|---|
| 25 |  ..S:PXRMRNAM="" PXRMRNAM="*NONE*"
 | 
|---|
| 26 |  ..S TXT=PXRMDNAM_$J("",40-$L(PXRMDNAM))_PXRMRNAM
 | 
|---|
| 27 |  ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_"  "_TXT
 | 
|---|
| 28 |  ..S TXT=$E(TXT,1,71)_$J("",71-$L(TXT))
 | 
|---|
| 29 |  ..S TXT=TXT_" "_$S(DDIS=1:"Disabled",DDIS=2:"Linked",1:"")
 | 
|---|
| 30 |  ..D SET^VALM10(VALMCNT,TXT,PXRMDIEN)
 | 
|---|
| 31 |  .D CHGCAP^VALM("HEADER2","Reminder Dialog Name"_$J("",20)_"Source Reminder")
 | 
|---|
| 32 |  .D CHGCAP^VALM("HEADER3"," Status")
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 |  ;All dialogs types
 | 
|---|
| 35 |  I PXRMGTYP="DLGE" D  Q
 | 
|---|
| 36 |  .N CODE,DATA,DDIS,DTYP,PXRMDIEN,PXRMDNAM,PXRMITEM,TXT
 | 
|---|
| 37 |  .S CODE="",VALMCNT=0,VALMBG=1
 | 
|---|
| 38 |  .F  S CODE=$O(^PXRMD(801.41,"B",CODE)) Q:CODE=""  D
 | 
|---|
| 39 |  ..;Get Dialog detail
 | 
|---|
| 40 |  ..S PXRMDIEN=$O(^PXRMD(801.41,"B",CODE,"")) Q:'PXRMDIEN
 | 
|---|
| 41 |  ..S DATA=$G(^PXRMD(801.41,PXRMDIEN,0)),DTYP=$P(DATA,U,4)
 | 
|---|
| 42 |  ..I PXRMDTYP'="A" Q:DTYP'=PXRMDTYP
 | 
|---|
| 43 |  ..Q:DTYP="R"
 | 
|---|
| 44 |  ..S PXRMDNAM=$P(DATA,U),DDIS=0 I $P(DATA,U,3)]"" S DDIS=1
 | 
|---|
| 45 |  ..S PXRMITEM=$O(^PXD(811.9,"AG",PXRMDIEN,""))
 | 
|---|
| 46 |  ..I PXRMITEM,DDIS=0 S DDIS=2
 | 
|---|
| 47 |  ..S PXRMDNAM=$E(PXRMDNAM,1,39)
 | 
|---|
| 48 |  ..S TXT=PXRMDNAM_$J("",40-$L(PXRMDNAM))_$$LIT(DTYP)
 | 
|---|
| 49 |  ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_"  "_TXT
 | 
|---|
| 50 |  ..S TXT=$E(TXT,1,71)_$J("",71-$L(TXT))
 | 
|---|
| 51 |  ..S TXT=TXT_$S(DDIS=1:"Disabled",1:"")
 | 
|---|
| 52 |  ..D SET^VALM10(VALMCNT,TXT,PXRMDIEN)
 | 
|---|
| 53 |  .D CHGCAP^VALM("HEADER2","Dialog Name"_$J("",29)_"Dialog type")
 | 
|---|
| 54 |  .D CHGCAP^VALM("HEADER3","Status")
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  ;Link reminders to dialogs
 | 
|---|
| 57 |  I PXRMGTYP="DLGR" D  Q
 | 
|---|
| 58 |  .N CODE,DATA,DDIS,DTYP,DIEN,DNAM,MODE,PNAM,RIEN,RNAM,SUB,TXT,TYPE
 | 
|---|
| 59 |  .S CODE="",VALMCNT=0,VALMBG=1,MODE=$E(PXRMVIEW,2),TYPE=$E(PXRMVIEW)
 | 
|---|
| 60 |  .S SUB=$S(MODE="P":"D",1:"B")
 | 
|---|
| 61 |  .F  S CODE=$O(^PXD(811.9,SUB,CODE)) Q:CODE=""  D
 | 
|---|
| 62 |  ..;Get Dialog detail
 | 
|---|
| 63 |  ..S RIEN=""
 | 
|---|
| 64 |  ..F  S RIEN=$O(^PXD(811.9,SUB,CODE,RIEN)) Q:'RIEN  D
 | 
|---|
| 65 |  ...S DATA=$G(^PXD(811.9,RIEN,0)) Q:DATA=""
 | 
|---|
| 66 |  ...S RNAM=$P(DATA,U),PNAM=$P(DATA,U,3)
 | 
|---|
| 67 |  ...S DIEN=$P($G(^PXD(811.9,RIEN,51)),U)
 | 
|---|
| 68 |  ...I TYPE="L" Q:'DIEN
 | 
|---|
| 69 |  ...I MODE="P" S:PNAM]"" RNAM=PNAM
 | 
|---|
| 70 |  ...S RNAM=$E(RNAM,1,34),DNAM="",DDIS=2
 | 
|---|
| 71 |  ...D:DIEN
 | 
|---|
| 72 |  ....S DATA=$G(^PXRMD(801.41,DIEN,0)),DDIS=0
 | 
|---|
| 73 |  ....S DNAM=$P(DATA,U) I $P(DATA,U,3)]"" S DDIS=1
 | 
|---|
| 74 |  ....S DNAM=$E(DNAM,1,27) I DNAM="" S DNAM="??"
 | 
|---|
| 75 |  ...S TXT=RNAM_$J("",35-$L(RNAM))
 | 
|---|
| 76 |  ...S TXT=TXT_DNAM_$J("",28-$L(DNAM))
 | 
|---|
| 77 |  ...S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_"  "_TXT
 | 
|---|
| 78 |  ...S TXT=$E(TXT,1,71)_$J("",71-$L(TXT))
 | 
|---|
| 79 |  ...S TXT=TXT_$S(DDIS=1:"Disabled",1:"")
 | 
|---|
| 80 |  ...D SET^VALM10(VALMCNT,TXT,RIEN)
 | 
|---|
| 81 |  .I MODE="N" S TXT="Reminder Name"_$J("",22)
 | 
|---|
| 82 |  .I MODE="P" S TXT="Reminder Print Name"_$J("",16)
 | 
|---|
| 83 |  .S TXT=TXT_"Linked Dialog Name & Dialog St"
 | 
|---|
| 84 |  .D CHGCAP^VALM("HEADER2",TXT)
 | 
|---|
| 85 |  .D CHGCAP^VALM("HEADER3","atus")
 | 
|---|
| 86 |  ;
 | 
|---|
| 87 |  ;Finding item parameters
 | 
|---|
| 88 |  I PXRMGTYP="FIP" D  Q
 | 
|---|
| 89 |  .N CODE,DATA,DNAM,DSUB,IEN,FDIS,FSUB,FITEM,FLIT,FTYP,TXT
 | 
|---|
| 90 |  .S CODE="",VALMCNT=0
 | 
|---|
| 91 |  .F  S CODE=$O(^PXRMD(801.43,"B",CODE)) Q:CODE=""  D
 | 
|---|
| 92 |  ..S IEN=$O(^PXRMD(801.43,"B",CODE,""))
 | 
|---|
| 93 |  ..S DATA=$G(^PXRMD(801.43,IEN,0)),TXT=$E($P(DATA,U),1,39)
 | 
|---|
| 94 |  ..S FITEM=$P(DATA,U,2),FTYP=$P(FITEM,";",2),FSUB=$P(FITEM,";")
 | 
|---|
| 95 |  ..I FTYP]"" S FTYP=$G(DEF1(FTYP)) S:FTYP="" FTYP="??"
 | 
|---|
| 96 |  ..S FLIT="??" I FSUB S FLIT=FTYP_"("_FSUB_")"
 | 
|---|
| 97 |  ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_"  "_FTYP_"-"_TXT
 | 
|---|
| 98 |  ..S DSUB=$P(DATA,U,4),DNAM="",FDIS=$P(DATA,U,3)
 | 
|---|
| 99 |  ..I DSUB S DNAM=$P($G(^PXRMD(801.41,DSUB,0)),U)
 | 
|---|
| 100 |  ..S TXT=TXT_$J("",40-$L(TXT))_DNAM
 | 
|---|
| 101 |  ..S TXT=$E(TXT,1,71)_$J("",71-$L(TXT))_$S(FDIS=1:"Disabled",1:"Enabled")
 | 
|---|
| 102 |  ..D SET^VALM10(VALMCNT,TXT,IEN)
 | 
|---|
| 103 |  .D CHGCAP^VALM("HEADER2","Finding Item Type & Name"_$J("",10)_"Dialog Group/Element")
 | 
|---|
| 104 |  .D CHGCAP^VALM("HEADER3","Status")
 | 
|---|
| 105 |  ;
 | 
|---|
| 106 |  ;Finding Type Parameters
 | 
|---|
| 107 |  I PXRMGTYP="FPAR" D
 | 
|---|
| 108 |  .N CODE,FDES,TXT,IEN
 | 
|---|
| 109 |  .S CODE="",VALMCNT=0
 | 
|---|
| 110 |  .F  S CODE=$O(^PXRMD(801.45,"B",CODE)) Q:CODE=""  D
 | 
|---|
| 111 |  ..I CODE="POV" S FDES="DIAGNOSIS (POV)"
 | 
|---|
| 112 |  ..I CODE="CPT" S FDES="PROCEDURE (CPT)"
 | 
|---|
| 113 |  ..I $D(DEF2(CODE)) S FDES=DEF2(CODE)
 | 
|---|
| 114 |  ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_"  "_FDES
 | 
|---|
| 115 |  ..S IEN=$O(^PXRMD(801.45,"B",CODE,""))
 | 
|---|
| 116 |  ..D SET^VALM10(VALMCNT,TXT,IEN)
 | 
|---|
| 117 |  .D CHGCAP^VALM("HEADER2","Finding Type Parameter")
 | 
|---|
| 118 |  ;
 | 
|---|
| 119 |  ;Reminder Categories
 | 
|---|
| 120 |  I PXRMGTYP="RCAT" D  Q
 | 
|---|
| 121 |  .N CODE,DATA,TXT,IEN
 | 
|---|
| 122 |  .S CODE="",VALMCNT=0
 | 
|---|
| 123 |  .F  S CODE=$O(^PXRMD(811.7,"B",CODE)) Q:CODE=""  D
 | 
|---|
| 124 |  ..S IEN=$O(^PXRMD(811.7,"B",CODE,""))
 | 
|---|
| 125 |  ..S DATA=$G(^PXRMD(811.7,IEN,0)),TXT=$P(DATA,U)
 | 
|---|
| 126 |  ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_"  "_TXT
 | 
|---|
| 127 |  ..D SET^VALM10(VALMCNT,TXT,IEN)
 | 
|---|
| 128 |  .D CHGCAP^VALM("HEADER2","Reminder Category")
 | 
|---|
| 129 |  ;
 | 
|---|
| 130 |  ;Taxonomy
 | 
|---|
| 131 |  I PXRMGTYP="DTAX" D  Q
 | 
|---|
| 132 |  .N CODE,DATA,TXT,IEN
 | 
|---|
| 133 |  .S CODE="",VALMCNT=0
 | 
|---|
| 134 |  .F  S CODE=$O(^PXD(811.2,"B",CODE)) Q:CODE=""  D
 | 
|---|
| 135 |  ..S IEN=$O(^PXD(811.2,"B",CODE,""))
 | 
|---|
| 136 |  ..S DATA=$G(^PXD(811.2,IEN,0)),TXT=$P(DATA,U)
 | 
|---|
| 137 |  ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_"  "_TXT
 | 
|---|
| 138 |  ..D SET^VALM10(VALMCNT,TXT,IEN)
 | 
|---|
| 139 |  .D CHGCAP^VALM("HEADER2","Reminder Taxonomy")
 | 
|---|
| 140 |  ;
 | 
|---|
| 141 |  ;Resolution Statuses
 | 
|---|
| 142 |  I PXRMGTYP="RESN" D  Q
 | 
|---|
| 143 |  .N CODE,DATA,HED,IEN,TXT,TYP
 | 
|---|
| 144 |  .S CODE="",VALMCNT=0
 | 
|---|
| 145 |  .F  S CODE=$O(^PXRMD(801.9,"B",CODE)) Q:CODE=""  D
 | 
|---|
| 146 |  ..S IEN=$O(^PXRMD(801.9,"B",CODE,""))
 | 
|---|
| 147 |  ..S DATA=$G(^PXRMD(801.9,IEN,0))
 | 
|---|
| 148 |  ..S TXT=$E($P(DATA,U),1,39),TYP=$P(DATA,U,6)
 | 
|---|
| 149 |  ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_"  "_TXT
 | 
|---|
| 150 |  ..S TXT=TXT_$J("",40-$L(TXT))_$S(TYP=1:"NATIONAL",1:"LOCAL")
 | 
|---|
| 151 |  ..D SET^VALM10(VALMCNT,TXT,IEN)
 | 
|---|
| 152 |  .S HED="Reminder Resolution Status        National/Local"
 | 
|---|
| 153 |  .D CHGCAP^VALM("HEADER2",HED)
 | 
|---|
| 154 |  ;
 | 
|---|
| 155 |  ;Health Factor Resolutions
 | 
|---|
| 156 |  I PXRMGTYP="SHFR" D  Q
 | 
|---|
| 157 |  .N CODE,DARRAY,DATA,HCNT,IEN,RNAM,SUB,TXT
 | 
|---|
| 158 |  .S IEN=0
 | 
|---|
| 159 |  .F  S IEN=$O(^PXRMD(801.95,IEN)) Q:'IEN  D
 | 
|---|
| 160 |  ..S DATA=$G(^AUTTHF(IEN,0)),TXT=$E($P(DATA,U),1,39) Q:TXT=""
 | 
|---|
| 161 |  ..S DARRAY(TXT)=IEN
 | 
|---|
| 162 |  .S CODE="",VALMCNT=0,HCNT=0
 | 
|---|
| 163 |  .F  S CODE=$O(DARRAY(CODE)) Q:CODE=""  D
 | 
|---|
| 164 |  ..S IEN=DARRAY(CODE)
 | 
|---|
| 165 |  ..S DATA=$G(^AUTTHF(IEN,0))
 | 
|---|
| 166 |  ..S VALMCNT=VALMCNT+1,HCNT=HCNT+1,TXT=$J(VALMCNT,4)_"  "_CODE
 | 
|---|
| 167 |  ..S SUB=$O(^PXRMD(801.95,IEN,1,"B",0))
 | 
|---|
| 168 |  ..S RNAM="" I SUB S RNAM=$P($G(^PXRMD(801.9,SUB,0)),U)
 | 
|---|
| 169 |  ..S TXT=TXT_$J("",40-$L(TXT))_RNAM
 | 
|---|
| 170 |  ..F  S SUB=$O(^PXRMD(801.95,IEN,1,"B",SUB)) Q:'SUB  D
 | 
|---|
| 171 |  ...S RNAM=$P($G(^PXRMD(801.9,SUB,0)),U)
 | 
|---|
| 172 |  ...S TXT=TXT_"/"_RNAM
 | 
|---|
| 173 |  ..D SET^VALM10(VALMCNT,TXT,IEN)
 | 
|---|
| 174 |  .D CHGCAP^VALM("HEADER2","Health Factors"_$J("",20)_"Resolution Status")
 | 
|---|
| 175 |  ;
 | 
|---|
| 176 |  Q
 | 
|---|
| 177 |  ;
 | 
|---|
| 178 | LIT(INP) ;Dialog type description
 | 
|---|
| 179 |  Q:INP="E" "Dialog Element"
 | 
|---|
| 180 |  Q:INP="F" "Forced Value"
 | 
|---|
| 181 |  Q:INP="G" "Dialog Group"
 | 
|---|
| 182 |  Q:INP="P" "Additional Prompt"
 | 
|---|
| 183 |  Q:INP="R" "Reminder Dialog"
 | 
|---|
| 184 |  Q:INP="S" "Result Group"
 | 
|---|
| 185 |  Q:INP="T" "Result Element"
 | 
|---|
| 186 |  Q "???"
 | 
|---|