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

PXRMFPAR.m

Go to the documentation of this file.
  1. PXRMFPAR ; SLC/PJH - PXRM Finding Type Parameter Edit/Inquiry; 01/21/2000
  1. ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
  1. ;
  1. ;Labels called from list 'PXRM FINDING PARAMETER LIST'
  1. ;
  1. START(HEADER,IEN) ;
  1. N PXRMREAD,PXRMSRC,PXRMVARM
  1. N VALM,VAKMAR,VALMBCK,VALMBG,VALMCNT,VALMHDR,VALMSG,X,XMZ
  1. S X="IORESET"
  1. D ENDR^%ZISS
  1. D EN^VALM("PXRM FINDING PARAMETER LIST")
  1. W IORESET
  1. D KILL^%ZISS
  1. Q
  1. ;
  1. EXIT ;Exit code
  1. D CLEAN^VALM10
  1. D FULL^VALM1
  1. S VALMBCK="Q"
  1. K ^TMP("PXRMFP",$J)
  1. Q
  1. ;
  1. HDR ; Header code
  1. S VALMHDR(1)=HEADER
  1. S VALMSG="+ Next Screen - Prev Screen ?? More Actions"
  1. Q
  1. ;
  1. HELP ;Help code
  1. N ORU,ORUPRMT,XQORM,PXRMTAG S PXRMTAG="G"_PXRMGTYP
  1. D EN^VALM("PXRM DIALOG MAIN HELP")
  1. Q
  1. ;
  1. INIT ;Init
  1. S VALMCNT=0
  1. D BUILD
  1. D XQORM
  1. Q
  1. ;
  1. ;Load details
  1. BUILD N ACNT,ADES,AIEN,ASUB,ATYP,DATA,LCT,PTXT,RDES,RDIS,RIEN,STRING,STXT,SUB
  1. S VALMCNT=0 K ^TMP("PXRMFPS",$J),^TMP("PXRMFP",$J)
  1. S SUB=0
  1. ;Loop through all the resolution statuses
  1. F S SUB=$O(^PXRMD(801.45,IEN,1,SUB)) Q:'SUB D
  1. .;Get ien for resolution status
  1. .S RIEN=$P($G(^PXRMD(801.45,IEN,1,SUB,0)),U) Q:RIEN=""
  1. .;Get description
  1. .S RDES=$P($G(^PXRMD(801.9,RIEN,0)),U) I RDES="" S RDES=RIEN
  1. .;Get Prefix and suffix text
  1. .S PTXT=$E($G(^PXRMD(801.45,IEN,1,SUB,3)),1,40)
  1. .S STXT=$E($G(^PXRMD(801.45,IEN,1,SUB,4)),1,40)
  1. .;Get disabled flag
  1. .S RDIS=$P($G(^PXRMD(801.45,IEN,1,SUB,0)),U,2)
  1. .S RDIS=$S(RDIS=1:"Disabled",1:"Enabled")
  1. .;Save Resolution in alpha order
  1. .S ^TMP("PXRMFPS",$J,RDES)=SUB_U_PTXT_U_STXT_U_RDIS
  1. ;
  1. ;Put the list into the array List Manager is using.
  1. S RDES="",LCT=0
  1. S VALMCNT=0
  1. F S RDES=$O(^TMP("PXRMFPS",$J,RDES)) Q:RDES="" D
  1. .S DATA=$G(^TMP("PXRMFPS",$J,RDES))
  1. .S SUB=$P(DATA,U),PTXT=$P(DATA,U,2),STXT=$P(DATA,U,3),RDIS=$P(DATA,U,4)
  1. .S LCT=LCT+1,VALMCNT=VALMCNT+1
  1. .S STRING=LCT_" "_RDES_$J("",(27-$L(RDES)))_PTXT_"/"
  1. .S ^TMP("PXRMFP",$J,VALMCNT,0)=STRING_$J("",71-$L(STRING))_RDIS
  1. .S VALMCNT=VALMCNT+1
  1. .S ^TMP("PXRMFP",$J,VALMCNT,0)=$J("",29)_"/"_STXT
  1. .S ^TMP("PXRMFP",$J,"VALMCNT")=VALMCNT
  1. .S ^TMP("PXRMFP",$J,"IDX",LCT,SUB)=""
  1. .;Then get the additional prompts/forced values
  1. .S ASUB=0,ACNT=0
  1. .F S ASUB=$O(^PXRMD(801.45,IEN,1,SUB,5,ASUB)) Q:'ASUB D
  1. ..;Get prompt ien
  1. ..S AIEN=$P($G(^PXRMD(801.45,IEN,1,SUB,5,ASUB,0)),U) Q:AIEN=""
  1. ..;Get description and type from dialog file
  1. ..S DATA=$G(^PXRMD(801.41,AIEN,0))
  1. ..S ADES=$P(DATA,U) I ADES="" S ADES=AIEN
  1. ..S ATYP="" I $P(DATA,U,4)="F" S ATYP=" (forced value)"
  1. ..S VALMCNT=VALMCNT+1,ACNT=ACNT+1
  1. ..S ^TMP("PXRMFP",$J,VALMCNT,0)=$J("",29)_ACNT_"] "_ADES_ATYP
  1. .;Final linefeed
  1. .S VALMCNT=VALMCNT+1
  1. .S ^TMP("PXRMFP",$J,VALMCNT,0)=$J("",79)
  1. .S ^TMP("PXRMFP",$J,"VALMCNT")=VALMCNT
  1. K ^TMP("PXRMFPS",$J)
  1. ;Create headings
  1. D CHGCAP^VALM("HEADER1","Resolution Status")
  1. D CHGCAP^VALM("HEADER2","Prefix//Suffix & Prompts/Values/Actions")
  1. D CHGCAP^VALM("HEADER3","Status")
  1. Q
  1. ;
  1. PEXIT ;PXRM GENERAL MENU protocol exit code
  1. S VALMSG="+ Next Screen - Prev Screen ?? More Actions"
  1. D XQORM
  1. Q
  1. ;
  1. SEL ;PXRM SELECT RESOLUTION validation
  1. N ERR,IEN,SEL
  1. S VALMBCK="",SEL=+$P(XQORNOD(0),"=",2)
  1. ;Invalid selection
  1. I '$D(@VALMAR@("IDX",SEL)) D Q
  1. .W $C(7),!,SEL_" is not a valid item number." H 2
  1. .S VALMBCK="R"
  1. ;Valid selection
  1. S IEN=$O(@VALMAR@("IDX",SEL,""))
  1. I IEN D
  1. .S VALMBCK="Q",PXRMFSUB=IEN
  1. Q
  1. ;
  1. XQORM S XQORM("#")=$O(^ORD(101,"B","PXRM SELECT RESOLUTION",0))_U_"1:"_VALMCNT
  1. S XQORM("A")="Select number of Resolution Status to Edit: "
  1. Q