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

XUMFR.m

Go to the documentation of this file.
  1. XUMFR ;OIFO-OAK/RAM - pre/post update subroutines;04/15/02 ;10/12/05 12:12
  1. ;;8.0;KERNEL;**335,383**;Jul 10, 1995
  1. ;
  1. Q
  1. ;
  1. NULL ; -- do nothing
  1. ;
  1. Q
  1. ;
  1. PRE ; -- pre update
  1. ;
  1. N ARRAY
  1. ;
  1. K ^TMP("XUMF PRE",$J)
  1. ;
  1. D DATA(.ARRAY)
  1. ;
  1. M ^TMP("XUMF PRE",$J)=ARRAY
  1. ;
  1. Q
  1. ;
  1. POST ; -- post update
  1. ;
  1. N ARRAY,I,X,FLAG
  1. ;
  1. D DATA(.ARRAY)
  1. ;
  1. S (FLAG,I)=0
  1. F S I=$O(ARRAY(I)) Q:'I D Q:FLAG
  1. .I ARRAY(I)'=^TMP("XUMF PRE",$J,I) S FLAG=1 Q
  1. ;
  1. I FLAG D
  1. .S I=0
  1. .F S I=$O(ARRAY(I)) Q:'I D
  1. ..S X(I+100)=ARRAY(I) K ARRAY(I)
  1. .M X=^TMP("XUMF PRE",$J)
  1. .D XM(.X,$G(KEY))
  1. ;
  1. K ^TMP("XUMF PRE",$J)
  1. ;
  1. Q
  1. ;
  1. DATA(ARRAY) ; -- array(sequence)=fieldLabel_": "_value
  1. ;
  1. N SEG,SEQ,FLD,FILE,IENS,FIELD,VALUE,LKUP,IDX,ZDTYP
  1. ;
  1. S SEG="",SEQ=0
  1. F S SEG=$O(^TMP("XUMF MFS",$J,"PARAM","SEG",SEG)) Q:SEG="" D
  1. .F S SEQ=$O(^TMP("XUMF MFS",$J,"PARAM","SEG",SEG,"SEQ",SEQ)) Q:'SEQ D
  1. ..;
  1. ..S FLD=$O(^TMP("XUMF MFS",$J,"PARAM","SEG",SEG,"SEQ",SEQ,0))
  1. ..;
  1. ..I 'FLD D
  1. ...S FILE=^TMP("XUMF MFS",$J,"PARAM","SEG",SEG,"SEQ",SEQ,"FILE")
  1. ...S IENS=$G(^TMP("XUMF MFS",$J,"PARAM","IENS",SEG,SEQ))
  1. ...S FIELD=^TMP("XUMF MFS",$J,"PARAM","SEG",SEG,"SEQ",SEQ,"FIELD")
  1. ...S LKUP=$G(^TMP("XUMF MFS",$J,"PARAM","SEG",SEG,"SEQ",SEQ,"LKUP"))
  1. ...I LKUP S FIELD=FIELD_":"_LKUP
  1. ...S VALUE=$$GET1^DIQ(FILE,IENS,FIELD)
  1. ...S ARRAY(SEQ)=$$FIELD^XUMF(FILE,$P(FIELD,":"),"LABEL")_": "_VALUE
  1. ..I FLD D
  1. ...S ZDTYP=$G(^TMP("XUMF MFS",$J,"PARAM","SEG",SEG,"SEQ",SEQ,FLD))
  1. ...S LKUP=$P(ZDTYP,U,2)
  1. ...I LKUP S FLD=FLD_":"_LKUP
  1. ...S VALUE=$$GET1^DIQ(IFN,IEN_",",FLD)
  1. ...S ARRAY(SEQ)=$$FIELD^XUMF(IFN,$P(FLD,":"),"LABEL")_": "_VALUE
  1. ;
  1. Q
  1. ;
  1. XM(X,XUMFKEY) ; -- MailMan notification
  1. ;
  1. N GROUP,XMDUZ
  1. ;
  1. S HLCS=$G(HLCS) S:HLCS="" HLCS="~"
  1. S XUMFKEY=" "_$P($G(XUMFKEY),HLCS)
  1. ;
  1. S GROUP=$$GET1^DIQ(4.001,IEN_",",.06)
  1. S:GROUP'="" GROUP="G."_GROUP
  1. S X(.1)="HL7 message ID: "_$G(HL("MID")),X(.2)=""
  1. ;S X(.3)="PRE UPDATE VALUES:",X(.4)=""
  1. S X(99.1)="",X(99.2)="POST UPDATE VALUES:",X(99.3)=""
  1. S XMSUB="MFS UPDATE - "_$$FILE^XUMF(IFN,"NAME")_XUMFKEY
  1. S XMY("G.XUMF SERVER")="",XMDUZ=.5
  1. S:GROUP'="" XMY(GROUP)=""
  1. S XMTEXT="X("
  1. ;
  1. D ^XMD
  1. ;
  1. Q
  1. ;
  1. MD5 ;MD5 Hash value
  1. D EN^XUMF5I(IEN)
  1. Q