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

PXRMEXU4.m

Go to the documentation of this file.
  1. PXRMEXU4 ;SLC/PJH,PKR - Reminder Exchange #4, dialog changes. ;05/07/2014
  1. ;;2.0;CLINICAL REMINDERS;**6,12,22,26**;Feb 04, 2005;Build 404
  1. ;===============================================
  1. DLG(FDA,NAMECHG) ;Check the dialog for renamed entries, called by
  1. ;silent installer. KIDSDONE is newed in INSDLG^PXRMEXSI.
  1. N ABBR,ACTION,ALIST,DNAM,IEN,IENS,ISACT,FILENUM,FINDING,NEWNAM,OFINDING
  1. N ORITEM,OORITEM,PT01,RESULT,RRG,SRC,TEMP,TEXT,WP
  1. S IENS=$O(FDA(801.41,""))
  1. ;Definition .01
  1. S (PT01,DNAM)=FDA(801.41,IENS,.01)
  1. I $D(NAMECHG(801.41,PT01)) D
  1. .S (FDA(801.41,IENS,.01),DNAM)=NAMECHG(801.41,PT01)
  1. ;
  1. ;Build list of finding types
  1. D BLDALIST^PXRMVPTR(801.4118,.01,.ALIST)
  1. ;Plus field 15 files
  1. S ALIST("MH")=601.71,ALIST("TX")=811.2
  1. S ALIST("WH")=790.404
  1. ;Plus field 17 file
  1. S ALIST("OI")=101.43
  1. ;
  1. ;Process SOURCE REMINDER
  1. S SRC=$G(FDA(801.41,IENS,2))
  1. I SRC]"" D
  1. .S IEN=$$EXISTS^PXRMEXIU(811.9,SRC)
  1. .I IEN=0 K FDA(801.41,IENS,2)
  1. ;
  1. ;Clear RESULT if not defined
  1. S RESULT=$G(FDA(801.41,IENS,55))
  1. I RESULT]"" D
  1. .S IEN=$$EXISTS^PXRMEXIU(801.41,RESULT)
  1. .I IEN=0 K FDA(801.41,IENS,55)
  1. ;
  1. ;Process ORDERABLE ITEM
  1. S (ORITEM,OORITEM)=$G(FDA(801.41,IENS,17)),ACTION=""
  1. I ORITEM'="" D I ACTION="Q" K FDA S PXRMDONE=1 Q
  1. .S TEXT=""
  1. .S PT01=ORITEM
  1. .S ABBR="OI",FILENUM=$P(ALIST(ABBR),U)
  1. .I $D(NAMECHG(FILENUM,PT01)) D
  1. ..S ORITEM=NAMECHG(FILENUM,PT01)
  1. ..S FDA(801.41,IENS,17)=ORITEM
  1. .S IEN=+$$VFIND1^PXRMEXIU(ABBR_"."_ORITEM,.ALIST)
  1. .I IEN>0,$$VDLGFIND^PXRMEXIU(ABBR,ORITEM,.ALIST)=0 D
  1. ..S IEN=0
  1. ..S TEXT="ORDERABLE ITEM entry "_ORITEM_" is inactive."
  1. .I IEN>0 S FDA(801.41,IENS,17)="`"_IEN
  1. .I IEN=0 D
  1. ..;Get replacement
  1. ..I TEXT="" S TEXT="ORDERABLE ITEM entry "_ORITEM_" does not exist."
  1. ..N DIC,DIR,DUOUT,MSG,X,Y
  1. ..S MSG(1)=" "
  1. ..S MSG(2)=TEXT
  1. ..D MES^XPDUTL(.MSG)
  1. ..S ACTION=$$GETACT^PXRMEXIU("DPQ",.DIR) I ACTION="S" S ACTION="Q"
  1. ..I ACTION="Q" Q
  1. ..I ACTION="D" K FDA(801.41,IENS,17) Q
  1. ..S DIC=FILENUM
  1. ..S DIC(0)="AEMNQ"
  1. ..S DIC("S")="I $$FILESCR^PXRMDLG6(Y,FILENUM)=1"
  1. ..S Y=-1
  1. ..F Q:+Y'=-1 D
  1. ...;If this is being called during a KIDS install we need echoing on.
  1. ...I $D(XPDNM) X ^%ZOSF("EON")
  1. ...D ^DIC
  1. ...I $D(XPDNM) X ^%ZOSF("EOFF")
  1. ...;If this is being called during a KIDS install we need echoing on.
  1. ...I $D(DUOUT) S Y="" Q
  1. ...I Y=-1 D BMES^XPDUTL("You must input a replacement!")
  1. ..I Y="" S ACTION="Q" Q
  1. ..S ORITEM=$P(Y,U,2)
  1. ..S FDA(801.41,IENS,17)=ORITEM
  1. .;Save the finding information for the history.
  1. .I ORITEM'=OORITEM D
  1. .. S ^TMP("PXRMEXIA",$J,"DIAF",$P(IENS,",",1),ABBR_"."_OORITEM)=ABBR_"."_ORITEM
  1. ;
  1. ;check for pre-packed patch 26 codes and taxonomy.
  1. D TAXCONV(.FDA,IENS)
  1. ;Process FINDING ITEM
  1. ;S TAXCONVD=0
  1. S (FINDING,OFINDING)=$G(FDA(801.41,IENS,15)),ACTION=""
  1. I FINDING'="" D I ACTION="Q" K FDA S PXRMDONE=1 Q
  1. .S TEXT=""
  1. .S ABBR=$P(FINDING,".",1)
  1. .S PT01=$P(FINDING,".",2)
  1. .S FILENUM=$P(ALIST(ABBR),U,1)
  1. .I $D(NAMECHG(FILENUM,PT01)) D
  1. ..S FINDING=ABBR_"."_NAMECHG(FILENUM,PT01)
  1. ..S FDA(801.41,IENS,15)=FINDING
  1. .S IEN=+$$VFIND1^PXRMEXIU(FINDING,.ALIST)
  1. .I IEN>0 S TEMP=$$VDLGFIND^PXRMEXIU(ABBR,IEN,.ALIST) I TEMP<1 D
  1. ..S IEN=0
  1. ..S TEXT="FINDING entry "_FINDING_" "_$S(TEMP=0:"is inactive.",1:" does not have codes marked to be used in a dialog.")
  1. .I IEN>0 S FDA(801.41,IENS,15)=ABBR_".`"_IEN
  1. .I IEN=0 D
  1. ..I TEXT="" S TEXT="FINDING entry "_FINDING_" does not exist."
  1. ..;Get replacement
  1. ..N DIC,DIR,DUOUT,MSG,X,Y
  1. ..S MSG(1)=" "
  1. ..S MSG(2)=TEXT
  1. ..D MES^XPDUTL(.MSG)
  1. ..S ACTION=$$GETACT^PXRMEXIU("DPQ",.DIR) I ACTION="S" S ACTION="Q"
  1. ..I ACTION="Q" Q
  1. ..I ACTION="D" K FDA(801.41,IENS,15) Q
  1. ..S DIC=FILENUM
  1. ..S DIC(0)="AEMNQ"
  1. ..S DIC("S")="I $$FILESCR^PXRMDLG6(Y,FILENUM)=1"
  1. ..S Y=-1
  1. ..F Q:+Y'=-1 D
  1. ...;If this is being called during a KIDS install we need echoing on.
  1. ...I $D(XPDNM) X ^%ZOSF("EON")
  1. ...D ^DIC
  1. ...I $D(XPDNM) X ^%ZOSF("EOFF")
  1. ...;If this is being called during a KIDS install we need echoing on.
  1. ...I $D(DUOUT) S Y="" Q
  1. ...I Y=-1 D BMES^XPDUTL("You must input a replacement!")
  1. ..I Y="" S ACTION="Q" Q
  1. ..S FINDING=ABBR_"."_$P(Y,U,2)
  1. ..S FDA(801.41,IENS,15)=FINDING
  1. .;Save the finding information for the history.
  1. .I FINDING'=OFINDING D
  1. .. S ^TMP("PXRMEXIA",$J,"DIAF",$P(IENS,",",1),OFINDING)=FINDING
  1. .;Convert ICD9 codes to `ien format
  1. .;I $P(FINDING,".")="ICD9" S FDA(801.41,IENS,15)="ICD9."_$$ICD9(FINDING)
  1. ;
  1. ;Look for replacements of TIU templates.
  1. I $D(NAMECHG(8927.1)) D
  1. .S WP=$G(FDA(801.41,IENS,25))
  1. .I WP'="" D TIURPL("{FLD:",WP,.NAMECHG,8927.1)
  1. .S WP=$G(FDA(801.41,IENS,35))
  1. ;
  1. ;Process ADDITIONAL FINDINGS
  1. S IENS="",ACTION=""
  1. F S IENS=$O(FDA(801.4118,IENS)) Q:IENS="" D I ACTION="Q" K FDA S PXRMDONE=1 Q
  1. . S TEXT=""
  1. . S (FINDING,OFINDING)=FDA(801.4118,IENS,.01)
  1. . S ABBR=$P(FINDING,".",1)
  1. . S PT01=$P(FINDING,".",2)
  1. . S FILENUM=$P(ALIST(ABBR),U,1)
  1. . I $D(NAMECHG(FILENUM,PT01)) D
  1. .. S FINDING=ABBR_"."_NAMECHG(FILENUM,PT01)
  1. .. S FDA(801.4118,IENS,.01)=FINDING
  1. . S IEN=+$$VFIND1^PXRMEXIU(FINDING,.ALIST)
  1. .I IEN>0 S TEMP=$$VDLGFIND^PXRMEXIU(ABBR,IEN,.ALIST) I TEMP<1 D
  1. ..S IEN=0
  1. ..S TEXT="ADDITIONAL FINDING entry "_FINDING_" "_$S(TEMP=0:"is inactive.",1:" does not have codes marked to be used in a dialog.")
  1. .I IEN>0 S FDA(801.4118,IENS,.01)=ABBR_".`"_IEN
  1. . I IEN=0 D Q:ACTION="Q"
  1. ..;Get replacement
  1. .. I TEXT="" S TEXT="ADDITIONAL FINDING entry "_FINDING_" does not exist."
  1. .. N DIC,DIR,DUOUT,MSG,X,Y
  1. .. S MSG(1)=" "
  1. .. S MSG(2)=TEXT
  1. .. D MES^XPDUTL(.MSG)
  1. .. S ACTION=$$GETACT^PXRMEXIU("DPQ",.DIR)
  1. .. I ACTION="S" S ACTION="Q"
  1. .. I ACTION="Q" Q
  1. .. I ACTION="D" K FDA(801.4118,IENS) Q
  1. .. S DIC=FILENUM
  1. .. S DIC(0)="AEMNQ"
  1. .. S DIC("S")="I $$FILESCR^PXRMDLG6(Y,FILENUM)=1"
  1. .. S Y=-1
  1. .. F Q:+Y'=-1 D
  1. ...;If this is being called during a KIDS install we need echoing on.
  1. ... I $D(XPDNM) X ^%ZOSF("EON")
  1. ... D ^DIC
  1. ... I $D(XPDNM) X ^%ZOSF("EOFF")
  1. ... I $D(DUOUT) S Y="" Q
  1. ... I Y=-1 D BMES^XPDUTL("You must input a replacement!")
  1. .. I Y="" S ACTION="Q" Q
  1. .. S FINDING=ABBR_"."_$P(Y,U,2)
  1. .. S FDA(801.4118,IENS,.01)=FINDING
  1. . ;Save the finding information for the history.
  1. . I FINDING'=OFINDING D
  1. .. S ^TMP("PXRMEXIA",$J,"DIAF",$P(IENS,",",1),OFINDING)=FINDING
  1. . ;Convert ICD9 codes to `ien format
  1. . ;I $P(FINDING,".")="ICD9" S FDA(801.4118,IENS,.01)="ICD9."_$$ICD9(FINDING)
  1. ;
  1. I ACTION="Q" S PXRMDONE=1 Q
  1. ;Process DIALOG COMPONENT
  1. S IENS="",ACTION=""
  1. F S IENS=$O(FDA(801.412,IENS)) Q:IENS="" D I ACTION="Q" K FDA S PXRMDONE=1 Q
  1. . S PT01=$G(FDA(801.412,IENS,2)) Q:PT01=""
  1. . S FILENUM=801.41,NEWNAM=$G(NAMECHG(FILENUM,PT01))
  1. .I NEWNAM'="" D
  1. .. S FDA(801.412,IENS,2)=NEWNAM,PT01=NEWNAM
  1. .S IEN=$$EXISTS^PXRMEXIU(FILENUM,PT01)
  1. .I IEN=0 D
  1. ..;Get replacement
  1. .. N DIC,DIR,DUOUT,MSG,X,Y
  1. .. S MSG(1)=" "
  1. .. S MSG(2)="COMPONENT DIALOG entry "_PT01_" does not exist."
  1. .. D MES^XPDUTL(.MSG)
  1. .. S ACTION=$$GETACT^PXRMEXIU("DPQ",.DIR)
  1. .. I ACTION="S" S ACTION="Q"
  1. .. I ACTION="Q" Q
  1. .. I ACTION="D" K FDA(801.412,IENS) Q
  1. .. S DIC=FILENUM
  1. .. S DIC(0)="AEMNQ"
  1. .. S DIC("S")="I ""EG""[$P(^PXRMD(801.41,Y,0),U,4)"
  1. .. S Y=-1
  1. .. F Q:+Y'=-1 D
  1. ...;If this is being called during a KIDS install we need echoing on.
  1. ... I $D(XPDNM) X ^%ZOSF("EON")
  1. ... D ^DIC
  1. ... I $D(XPDNM) X ^%ZOSF("EOFF")
  1. ... I $D(DUOUT) S Y="" Q
  1. ... I Y=-1 D BMES^XPDUTL("You must input a replacement!")
  1. .. I Y="" S ACTION="Q" Q
  1. .. I Y'="" S FDA(801.412,IENS,2)=$P(Y,U,2)
  1. ;Process Result Groups
  1. F S IENS=$O(FDA(801.41121,IENS)) Q:IENS="" D I ACTION="Q" K FDA S PXRMDONE=1 Q
  1. . S PT01=$G(FDA(801.41121,IENS,.01)) Q:PT01=""
  1. . S FILENUM=801.41,NEWNAM=$G(NAMECHG(FILENUM,PT01))
  1. .I NEWNAM'="" D
  1. .. S FDA(801.41121,IENS,2)=NEWNAM,PT01=NEWNAM
  1. .S IEN=$$EXISTS^PXRMEXIU(FILENUM,PT01)
  1. .I IEN=0 D
  1. ..;Get replacement
  1. .. N DIC,DIR,DUOUT,MSG,X,Y
  1. .. S MSG(1)=" "
  1. .. S MSG(2)="RESULT GROUP entry "_PT01_" does not exist."
  1. .. D MES^XPDUTL(.MSG)
  1. .. S ACTION=$$GETACT^PXRMEXIU("DPQ",.DIR)
  1. .. I ACTION="S" S ACTION="Q"
  1. .. I ACTION="Q" Q
  1. .. I ACTION="D" K FDA(801.41121,IENS) Q
  1. .. S DIC=FILENUM
  1. .. S DIC(0)="AEMNQ"
  1. .. S DIC("S")="I ""S""[$P(^PXRMD(801.41,Y,0),U,4)"
  1. .. S Y=-1
  1. .. F Q:+Y'=-1 D
  1. ...;If this is being called during a KIDS install we need echoing on.
  1. ... I $D(XPDNM) X ^%ZOSF("EON")
  1. ... D ^DIC
  1. ... I $D(XPDNM) X ^%ZOSF("EOFF")
  1. ... I $D(DUOUT) S Y="" Q
  1. ... I Y=-1 D BMES^XPDUTL("You must input a replacement!")
  1. .. I Y="" S ACTION="Q" Q
  1. .. I Y'="" S FDA(801.41121,IENS,.01)=$P(Y,U,2)
  1. Q
  1. ;
  1. ;===============================================
  1. ;Convert ICD9 codes to `ien format
  1. ICD9(CODE) ;
  1. N IEN
  1. S IEN=$$FIND1^DIC(80,"","AMX",$P(CODE,".",2,99))
  1. I 'IEN Q ""
  1. Q IEN
  1. ;
  1. SETWARN(TEXT) ;
  1. S TEXT(1)="PREVIOUSLY THE DIALOG WAS SET TO BOTH CURRENT AND HISTORICAL ENCOUNTERS."
  1. S TEXT(2)="DIALOG IS NOW SET TO CURRENT ENCOUNTER ONLY."
  1. S TEXT(3)="REVIEW THE DIALOG BEFORE USING IN CPRS."
  1. Q
  1. ;
  1. TAXARRAY(FINDING,CNT,ARRAY) ;
  1. ; add to code list to create a new taxonomy
  1. N CODE,CODESYS,IEN
  1. S CODESYS=$P(FINDING,"."),CODE=$P(FINDING,".",2,99)
  1. I $P(CODESYS,".")'["ICD9",$P(CODESYS,".")'["CPT" Q
  1. S CODESYSN=$S(CODESYS[9:"ICD",1:"CPT")
  1. S IEN=$$EXISTS^PXRMEXIU($S(CODESYSN="ICD":80,1:81),CODE)
  1. S CNT=CNT+1,ARRAY("CODE",CODESYSN,IEN)="I"_U_1
  1. Q
  1. ;
  1. TAXCONV(FDA,IENS) ;
  1. ; FINDING ITEM FDA(801.41,IENS,15)
  1. ; ADDITIONAL FINDINGS FDA(801.4118,IENS)
  1. N ADDIENS,ARRAY,CNT,ERROR,FINDING,FINDS,ISFNDFLD,LAST,NAME,OCNT,TAX,TAXNAME,TEMP,TFINDS
  1. S ISFNDFLD=0,CNT=0
  1. ;if finding is taxonomy add the correct fields to the element
  1. S FINDING=$G(FDA(801.41,IENS,15))
  1. I $P(FINDING,".")="TX" D TAXCONV1(.FDA,IENS,FINDING) Q
  1. ;
  1. I FINDING'="" D
  1. .D TAXARRAY(FINDING,.CNT,.ARRAY)
  1. .;if array defined then finding has a code kill the node off.
  1. .I $D(ARRAY) S ISFNDFLD=1 K FDA(801.41,IENS,15)
  1. ;loop through additional findings
  1. S FINDS="" F S FINDS=$O(FDA(801.4118,FINDS)) Q:FINDS="" D
  1. . S FINDING=FDA(801.4118,FINDS,.01)
  1. . S OCNT=CNT D TAXARRAY(FINDING,.CNT,.ARRAY) I CNT>OCNT S TFINDS(FINDS)=""
  1. ;kill off additional findings that are codes
  1. S ADDIENS=""
  1. S FINDS="" F S FINDS=$O(TFINDS(FINDS)) Q:FINDS="" D
  1. .K FDA(801.4118,FINDS)
  1. .I ADDIENS="" S ADDIENS=FINDS
  1. I '$D(ARRAY) Q
  1. ;build values to crate a new taxonomy
  1. S NAME=$G(FDA(801.41,IENS,.01))
  1. S TEMP=$$RTAXNAME^PXRMDUTL(NAME)
  1. S ARRAY("NAME")=TEMP
  1. S ARRAY("COUNT")=CNT
  1. S ARRAY("CLASS")=$G(FDA(801.41,IENS,100))
  1. S ARRAY("SOURCE")="Exchange installed of dialog "_NAME
  1. ;create new taxonomy API
  1. S TAX=$$CRETAX^PXRMTXIM("E",.ARRAY,.ERROR)
  1. I $D(ERROR) D Q
  1. .I $G(TAX)=0 D BMES^XPDUTL("ERROR: Taxonomy could not be created for dialog "_NAME_".") H 1 Q
  1. .D BMES^XPDUTL("ERROR: failed to add all the codes to the Taxonomy "_TEMP_". The codes that could not be added are:")
  1. .D BMES^XPDUTL(.ERROR)
  1. .H 1
  1. S TAXNAME=$P($G(^PXD(811.2,TAX,0)),U)
  1. D BMES^XPDUTL("Taxonomy "_TAXNAME_" created") H 1
  1. I ISFNDFLD=1 D Q
  1. .S FDA(801.41,IENS,15)="TX.`"_TAX
  1. .S FDA(801.41,IENS,123)="NO PICK LIST"
  1. S FINDS=$O(FDA(801.4118,""),-1)
  1. S LAST=$O(FDA(801.44,""),-1) I LAST="" Q
  1. S TEMP=$P($P(LAST,"+",2),",")+1,TEMP="+"_TEMP
  1. S FDA(801.4118,ADDIENS,.01)="TX.`"_TAX
  1. Q
  1. ;
  1. TAXCONV1(FDA,IENS,FINDING) ;
  1. N CNT,CPTSTATUS,DEFAULT,ENC,ENCTYPE,IEN,NODECNT,PROMPTS,POVSTATUS,START,TAX,TEXT,TAXIEN,TDX,TPR,TYPE,VALUE,X
  1. ;if taxonomy fields defined then quit
  1. I ($G(FDA(801.41,IENS,123))'="") Q
  1. ;if group set to not display a pick list.
  1. I FDA(801.41,IENS,4)["group" S FDA(801.41,IENS,123)="N" Q
  1. S TAX=$P(FINDING,".",2)
  1. S FDA(801.41,IENS,123)="ALL"
  1. ;
  1. S TAXIEN=$O(^PXD(811.2,"B",TAX,"")) I TAXIEN'>0 Q
  1. ;determine Taxonomy Type
  1. S TDX=$$TOK^PXRMDTAX(TAXIEN,"POV")
  1. S TPR=$$TOK^PXRMDTAX(TAXIEN,"CPT")
  1. D SETWARN(.TEXT)
  1. ;build default array for taxonomy
  1. S CPTSTATUS=$$GETSTAT^PXRMDTAX("CPT"),POVSTATUS=$$GETSTAT^PXRMDTAX("POV")
  1. I TDX=1 D GETTAXDF^PXRMDTAX(.DEFAULT,"POV",$S(POVSTATUS=2:1,1:0))
  1. I TPR=1 D GETTAXDF^PXRMDTAX(.DEFAULT,"CPT",$S(CPTSTATUS=2:1,1:0))
  1. I TDX,TPR D
  1. .I CPTSTATUS=POVSTATUS,POVSTATUS=2 S FDA(801.41,IENS,13)="2" Q
  1. .S FDA(801.41,IENS,13)="@"
  1. .I CPTSTATUS=0!(POVSTATUS=0) D BMES^XPDUTL(.TEXT)
  1. I TDX,TPR=0 D
  1. .I POVSTATUS=2 S FDA(801.41,IENS,13)="2" Q
  1. .S FDA(801.41,IENS,13)="@" I POVSTATUS=0 D BMES^XPDUTL(.TEXT)
  1. I TDX=0,TPR=1 D
  1. .I CPTSTATUS=2 S FDA(801.41,IENS,13)="2" Q
  1. .S FDA(801.41,IENS,13)="@" I CPTSTATUS=0 D BMES^XPDUTL(.TEXT)
  1. S NODECNT=$O(FDA(801.44,""),-1) I NODECNT="" Q
  1. ;
  1. ;build encounter tax field
  1. F TYPE="POV","CPT" D
  1. .I TYPE="POV",TDX=0 Q
  1. .I TYPE="CPT",TPR=0 Q
  1. .I TYPE="POV" S X=141
  1. .I TYPE="CPT" S X=142
  1. .S VALUE=$$ADDTAXF1^PXRMDTAX(TYPE,.DEFAULT)
  1. .S FDA(801.41,IENS,X)=VALUE
  1. .;
  1. .;build prompt array from default list
  1. .S TYPE="" F S TYPE=$O(DEFAULT(TYPE)) Q:TYPE="" D
  1. ..;I TPR=0,CODE="CPT" Q
  1. ..;I TDX=0,CODE="POV" Q
  1. ..S CNT=0 F S CNT=$O(DEFAULT(TYPE,"ADDFIND",CNT)) Q:CNT'>0 D
  1. ...S NODE=DEFAULT(TYPE,"ADDFIND",CNT),IEN=$P(NODE,U)
  1. ...I $D(PROMPTS(IEN))>0 I $L(PROMPTS(IEN),U)<$L(NODE,U) S PROMPTS(IEN)=NODE
  1. ...S PROMPTS(IEN)=NODE
  1. ;
  1. I $G(FDA(801.41,IENS,122))="YES" K FDA(801.41,IENS,122) Q
  1. I $D(FDA(801.412)) Q
  1. ;
  1. ;add prompts to the dialog element.
  1. S START=0,IEN=0,CNT=0,DNUM=0
  1. S IEN=0,CNT=0 F S IEN=$O(PROMPTS(IEN)) Q:IEN'>0 D
  1. .S START=START+1,DNUM=DNUM+1
  1. .S NAME=$P($G(^PXRMD(801.41,IEN,0)),U)
  1. .S NODE=PROMPTS(IEN),CNT=$L(NODE,U)
  1. .I $P(NODE,U,3)>0 Q
  1. .S NODECNT=NODECNT+1
  1. .S FDA(801.412,"+"_NODECNT_","_IENS,.01)=START
  1. .S FDA(801.412,"+"_NODECNT_","_IENS,2)="`"_IEN
  1. .I CNT=1 Q
  1. .F NUM=2:1:CNT D
  1. ..S VALUE=$P(NODE,U,NUM) I $G(VALUE)="" Q
  1. ..S FIELD=$S(NUM=2:9,NUM=4:.01,NUM=5:6,NUM=6:7,NUM=7:8,1:"") I $G(FIELD)="" Q
  1. ..I FIELD>6 S VALUE=$S(VALUE=1:"YES",1:"NO")
  1. ..S FDA(801.412,"+"_NODECNT_","_IENS,FIELD)=VALUE
  1. Q
  1. ;
  1. ;===============================================
  1. TIURPL(SRCH,WP,NAMEGHC,FILENUM) ;Replace TIU templates whose names have
  1. ;changed.
  1. N IND,RS,TEXT,TS,TYPE
  1. I FILENUM=8927.1 S TYPE="TIU TEMPLATE"
  1. E S TYPE="TIU OBJECT"
  1. S IND=1
  1. F S TEXT=$G(@WP@(IND)) Q:TEXT="" D
  1. .I TEXT[SRCH D
  1. ..S TS=""
  1. ..F S TS=$O(NAMECHG(FILENUM,TS)) Q:TS="" D
  1. ...S RS=NAMECHG(FILENUM,TS) Q:TEXT'[TS
  1. ...S @WP@(IND)=$$STRREP^PXRMUTIL(TEXT,TS,RS)
  1. ...;Save the replacement information for the history.
  1. ...S ^TMP("PXRMEXIA",$J,"DIATIU",TYPE,TS)=RS
  1. ...S ^TMP("PXRMEXIA",$J,"DIATIU",TYPE,TS,DNAM)=""
  1. .S IND=IND+1
  1. Q
  1. ;