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

PXRMSEL1.m

Go to the documentation of this file.
  1. PXRMSEL1 ;SLC/PJH - PXRM Selection ;01/03/2011
  1. ;;2.0;CLINICAL REMINDERS;**12,18**;Feb 04, 2005;Build 152
  1. ;
  1. ; Called by PXRMSEL
  1. ;
  1. BUILD ;Build selection list
  1. ;
  1. D CHGCAP^VALM("HEADER1"," Item")
  1. ;Reminder Dialog
  1. I PXRMGTYP="DLG" D Q
  1. .N CODE,DATA,DDIS,PXRMDIEN,PXRMDNAM,PXRMITEM,PXRMRNAM,TXT,TYP
  1. .S CODE="",VALMCNT=0
  1. .F S CODE=$O(^PXRMD(801.41,"B",CODE)) Q:CODE="" D
  1. ..;Get Dialog detail
  1. ..S PXRMDIEN=$O(^PXRMD(801.41,"B",CODE,"")) Q:'PXRMDIEN
  1. ..S DATA=$G(^PXRMD(801.41,PXRMDIEN,0)) Q:$P(DATA,U,4)'="R"
  1. ..S PXRMDNAM=$P(DATA,U),PXRMRNAM="",DDIS=0
  1. ..I $P(DATA,U,3)>0 S DDIS=1
  1. ..I $O(^PXD(811.9,"AG",PXRMDIEN,"")),DDIS=0 S DDIS=2
  1. ..S PXRMITEM=$P($G(^PXRMD(801.41,PXRMDIEN,0)),U,2)
  1. ..I PXRMITEM D
  1. ...I $E(PXRMVIEW,2)="N" S PXRMRNAM=$P($G(^PXD(811.9,PXRMITEM,0)),U)
  1. ...I $E(PXRMVIEW,2)="P" S PXRMRNAM=$P($G(^PXD(811.9,PXRMITEM,0)),U,3)
  1. ..S PXRMDNAM=$E(PXRMDNAM,1,39),PXRMRNAM=$E(PXRMRNAM,1,39)
  1. ..S:PXRMRNAM="" PXRMRNAM="*NONE*"
  1. ..S TXT=PXRMDNAM_$J("",40-$L(PXRMDNAM))_PXRMRNAM
  1. ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_" "_TXT
  1. ..S TXT=$E(TXT,1,71)_$J("",71-$L(TXT))
  1. ..S TXT=TXT_" "_$S(DDIS=1:"Disabled",DDIS=2:"Linked",1:"")
  1. ..D SET^VALM10(VALMCNT,TXT,PXRMDIEN)
  1. .D CHGCAP^VALM("HEADER2","Reminder Dialog Name"_$J("",20)_"Source Reminder")
  1. .D CHGCAP^VALM("HEADER3"," Status")
  1. ;
  1. ;All dialogs types
  1. I PXRMGTYP="DLGE" D Q
  1. .N CODE,DATA,DDIS,DTYP,PXRMDIEN,PXRMDNAM,PXRMITEM,TXT
  1. .S CODE="",VALMCNT=0,VALMBG=1
  1. .F S CODE=$O(^PXRMD(801.41,"B",CODE)) Q:CODE="" D
  1. ..;Get Dialog detail
  1. ..S PXRMDIEN=$O(^PXRMD(801.41,"B",CODE,"")) Q:'PXRMDIEN
  1. ..S DATA=$G(^PXRMD(801.41,PXRMDIEN,0)),DTYP=$P(DATA,U,4)
  1. ..I PXRMDTYP'="A" Q:DTYP'=PXRMDTYP
  1. ..Q:DTYP="R"
  1. ..S PXRMDNAM=$P(DATA,U),DDIS=0 I $P(DATA,U,3)>0 S DDIS=1
  1. ..S PXRMITEM=$O(^PXD(811.9,"AG",PXRMDIEN,""))
  1. ..I PXRMITEM,DDIS=0 S DDIS=2
  1. ..S PXRMDNAM=$E(PXRMDNAM,1,39)
  1. ..S TXT=PXRMDNAM_$J("",40-$L(PXRMDNAM))_$$LIT(DTYP)
  1. ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_" "_TXT
  1. ..S TXT=$E(TXT,1,71)_$J("",71-$L(TXT))
  1. ..S TXT=TXT_$S(DDIS=1:"Disabled",1:"")
  1. ..D SET^VALM10(VALMCNT,TXT,PXRMDIEN)
  1. .D CHGCAP^VALM("HEADER2","Dialog Name"_$J("",29)_"Dialog type")
  1. .D CHGCAP^VALM("HEADER3","Status")
  1. ;
  1. ;Link reminders to dialogs
  1. I PXRMGTYP="DLGR" D Q
  1. .N CODE,DATA,DDIS,DTYP,DIEN,DNAM,MODE,PNAM,RIEN,RNAM,SUB,TXT,TYPE
  1. .S CODE="",VALMCNT=0,VALMBG=1,MODE=$E(PXRMVIEW,2),TYPE=$E(PXRMVIEW)
  1. .S SUB=$S(MODE="P":"D",1:"B")
  1. .F S CODE=$O(^PXD(811.9,SUB,CODE)) Q:CODE="" D
  1. ..;Get Dialog detail
  1. ..S RIEN=""
  1. ..F S RIEN=$O(^PXD(811.9,SUB,CODE,RIEN)) Q:'RIEN D
  1. ...S DATA=$G(^PXD(811.9,RIEN,0)) Q:DATA=""
  1. ...S RNAM=$P(DATA,U),PNAM=$P(DATA,U,3)
  1. ...S DIEN=$P($G(^PXD(811.9,RIEN,51)),U)
  1. ...I TYPE="L" Q:'DIEN
  1. ...I MODE="P" S:PNAM]"" RNAM=PNAM
  1. ...S RNAM=$E(RNAM,1,34),DNAM="",DDIS=2
  1. ...D:DIEN
  1. ....S DATA=$G(^PXRMD(801.41,DIEN,0)),DDIS=0
  1. ....S DNAM=$P(DATA,U) I +$P(DATA,U,3)>0 S DDIS=1
  1. ....S DNAM=$E(DNAM,1,27) I DNAM="" S DNAM="??"
  1. ...S TXT=RNAM_$J("",35-$L(RNAM))
  1. ...S TXT=TXT_DNAM_$J("",28-$L(DNAM))
  1. ...S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_" "_TXT
  1. ...S TXT=$E(TXT,1,71)_$J("",71-$L(TXT))
  1. ...S TXT=TXT_$S(DDIS=1:"Disabled",1:"")
  1. ...D SET^VALM10(VALMCNT,TXT,RIEN)
  1. .I MODE="N" S TXT="Reminder Name"_$J("",22)
  1. .I MODE="P" S TXT="Reminder Print Name"_$J("",16)
  1. .S TXT=TXT_"Linked Dialog Name & Dialog St"
  1. .D CHGCAP^VALM("HEADER2",TXT)
  1. .D CHGCAP^VALM("HEADER3","atus")
  1. ;
  1. ;Finding item parameters
  1. I PXRMGTYP="FIP" D Q
  1. .N CODE,DATA,DNAM,DSUB,IEN,FDIS,FSUB,FITEM,FLIT,FTYP,TXT
  1. .S CODE="",VALMCNT=0
  1. .F S CODE=$O(^PXRMD(801.43,"B",CODE)) Q:CODE="" D
  1. ..S IEN=$O(^PXRMD(801.43,"B",CODE,""))
  1. ..S DATA=$G(^PXRMD(801.43,IEN,0)),TXT=$E($P(DATA,U),1,39)
  1. ..S FITEM=$P(DATA,U,2),FTYP=$P(FITEM,";",2),FSUB=$P(FITEM,";")
  1. ..I FTYP]"" S FTYP=$G(DEF1(FTYP)) S:FTYP="" FTYP="??"
  1. ..S FLIT="??" I FSUB S FLIT=FTYP_"("_FSUB_")"
  1. ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_" "_FTYP_"-"_TXT
  1. ..S DSUB=$P(DATA,U,4),DNAM="",FDIS=$P(DATA,U,3)
  1. ..I DSUB S DNAM=$P($G(^PXRMD(801.41,DSUB,0)),U)
  1. ..S TXT=TXT_$J("",40-$L(TXT))_DNAM
  1. ..S TXT=$E(TXT,1,71)_$J("",71-$L(TXT))_$S(FDIS=1:"Disabled",1:"Enabled")
  1. ..D SET^VALM10(VALMCNT,TXT,IEN)
  1. .D CHGCAP^VALM("HEADER2","Finding Item Type & Name"_$J("",10)_"Dialog Group/Element")
  1. .D CHGCAP^VALM("HEADER3","Status")
  1. ;
  1. ;Finding Type Parameters
  1. I PXRMGTYP="FPAR" D
  1. .N CODE,FDES,TXT,IEN
  1. .S CODE="",VALMCNT=0
  1. .F S CODE=$O(^PXRMD(801.45,"B",CODE)) Q:CODE="" D
  1. ..I CODE="POV" S FDES="DIAGNOSIS (POV)"
  1. ..I CODE="CPT" S FDES="PROCEDURE (CPT)"
  1. ..I $D(DEF2(CODE)) S FDES=DEF2(CODE)
  1. ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_" "_FDES
  1. ..S IEN=$O(^PXRMD(801.45,"B",CODE,""))
  1. ..D SET^VALM10(VALMCNT,TXT,IEN)
  1. .D CHGCAP^VALM("HEADER2","Finding Type Parameter")
  1. ;
  1. ;Reminder Categories
  1. I PXRMGTYP="RCAT" D Q
  1. .N CODE,DATA,TXT,IEN
  1. .S CODE="",VALMCNT=0
  1. .F S CODE=$O(^PXRMD(811.7,"B",CODE)) Q:CODE="" D
  1. ..S IEN=$O(^PXRMD(811.7,"B",CODE,""))
  1. ..S DATA=$G(^PXRMD(811.7,IEN,0)),TXT=$P(DATA,U)
  1. ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_" "_TXT
  1. ..D SET^VALM10(VALMCNT,TXT,IEN)
  1. .D CHGCAP^VALM("HEADER2","Reminder Category")
  1. ;
  1. ;Taxonomy
  1. I PXRMGTYP="DTAX" D Q
  1. .N CODE,DATA,TXT,IEN
  1. .S CODE="",VALMCNT=0
  1. .F S CODE=$O(^PXD(811.2,"B",CODE)) Q:CODE="" D
  1. ..S IEN=$O(^PXD(811.2,"B",CODE,""))
  1. ..S DATA=$G(^PXD(811.2,IEN,0)),TXT=$P(DATA,U)
  1. ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_" "_TXT
  1. ..D SET^VALM10(VALMCNT,TXT,IEN)
  1. .D CHGCAP^VALM("HEADER2","Reminder Taxonomy")
  1. ;
  1. ;Resolution Statuses
  1. I PXRMGTYP="RESN" D Q
  1. .N CODE,DATA,HED,IEN,TXT,TYP
  1. .S CODE="",VALMCNT=0
  1. .F S CODE=$O(^PXRMD(801.9,"B",CODE)) Q:CODE="" D
  1. ..S IEN=$O(^PXRMD(801.9,"B",CODE,""))
  1. ..S DATA=$G(^PXRMD(801.9,IEN,0))
  1. ..S TXT=$E($P(DATA,U),1,39),TYP=$P(DATA,U,6)
  1. ..S VALMCNT=VALMCNT+1,TXT=$J(VALMCNT,4)_" "_TXT
  1. ..S TXT=TXT_$J("",40-$L(TXT))_$S(TYP=1:"NATIONAL",1:"LOCAL")
  1. ..D SET^VALM10(VALMCNT,TXT,IEN)
  1. .S HED="Reminder Resolution Status National/Local"
  1. .D CHGCAP^VALM("HEADER2",HED)
  1. ;
  1. ;Health Factor Resolutions
  1. I PXRMGTYP="SHFR" D Q
  1. .N CODE,DARRAY,DATA,HCNT,IEN,RNAM,SUB,TXT
  1. .S IEN=0
  1. .F S IEN=$O(^PXRMD(801.95,IEN)) Q:'IEN D
  1. ..S DATA=$G(^AUTTHF(IEN,0)),TXT=$E($P(DATA,U),1,39) Q:TXT=""
  1. ..S DARRAY(TXT)=IEN
  1. .S CODE="",VALMCNT=0,HCNT=0
  1. .F S CODE=$O(DARRAY(CODE)) Q:CODE="" D
  1. ..S IEN=DARRAY(CODE)
  1. ..S DATA=$G(^AUTTHF(IEN,0))
  1. ..S VALMCNT=VALMCNT+1,HCNT=HCNT+1,TXT=$J(VALMCNT,4)_" "_CODE
  1. ..S SUB=$O(^PXRMD(801.95,IEN,1,"B",0))
  1. ..S RNAM="" I SUB S RNAM=$P($G(^PXRMD(801.9,SUB,0)),U)
  1. ..S TXT=TXT_$J("",40-$L(TXT))_RNAM
  1. ..F S SUB=$O(^PXRMD(801.95,IEN,1,"B",SUB)) Q:'SUB D
  1. ...S RNAM=$P($G(^PXRMD(801.9,SUB,0)),U)
  1. ...S TXT=TXT_"/"_RNAM
  1. ..D SET^VALM10(VALMCNT,TXT,IEN)
  1. .D CHGCAP^VALM("HEADER2","Health Factors"_$J("",20)_"Resolution Status")
  1. ;
  1. Q
  1. ;
  1. LIT(INP) ;Dialog type description
  1. Q:INP="E" "Dialog Element"
  1. Q:INP="F" "Forced Value"
  1. Q:INP="G" "Dialog Group"
  1. Q:INP="P" "Additional Prompt"
  1. Q:INP="R" "Reminder Dialog"
  1. Q:INP="S" "Result Group"
  1. Q:INP="T" "Result Element"
  1. Q "???"