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

XUMFI0.m

Go to the documentation of this file.
  1. XUMFI0 ;CIOFO-SF/RAM - Master File Interface ;06/28/00
  1. ;;8.0;KERNEL;**369,416**;Jul 10, 1995;Build 5
  1. ;
  1. Q
  1. ;
  1. INIT ; -- initialize
  1. ;
  1. K ^TMP("DILIST",$J),^TMP("DIERR",$J)
  1. K ^TMP("HLS",$J),^TMP("HLA",$J)
  1. ;
  1. S IEN=$G(IEN),IFN=$G(IFN)
  1. S TYPE=$G(TYPE),ERROR=$G(ERROR),CNT=1
  1. S UPDATE=$S(TYPE#2:0,1:1)
  1. S QUERY='UPDATE
  1. S GROUP=$S(UPDATE:0,TYPE[5:1,TYPE[7:1,1:0)
  1. S ARRAY=$S(UPDATE:0,TYPE[3:1,TYPE[7:1,1:0)
  1. S ALL=$S(IEN["ALL":1,1:0)
  1. S PROTOCOL=$G(^TMP("XUMF MFS",$J,"PARAM","PROTOCOL"))
  1. S MFR=$S(UPDATE:0,TYPE>10:1,1:0)
  1. S MFQ=$S(UPDATE:0,'MFR:1,1:0)
  1. S MFK=$S(TYPE=10:1,1:0)
  1. S MTYP=$S(MFR:"HLA",MFK:"HLA",1:"HLS")
  1. ;
  1. ; -- get variables from HL7 package
  1. I $O(HL(""))="" D INIT^HLFNC2(PROTOCOL,.HL)
  1. I $O(HL(""))="" S ERROR="1^"_$P(HL,"^",2) Q
  1. S HLFS=HL("FS"),HLCS=$E(HL("ECH")),HLSCS=$E(HL("ECH"),4)
  1. ;
  1. Q:ERROR
  1. I UPDATE,'IEN,TYPE=10 Q
  1. ;
  1. ; -- check parameters
  1. I 'QUERY,'UPDATE S ERROR="1^invalid message type" Q
  1. I 'IFN S ERROR="1^invalid file number" Q
  1. I 'IEN,'ALL,'MFK S ERROR="1^invalid IEN" Q
  1. I '$$VFILE^DILFD(IFN) S ERROR="1^invalid file number" Q
  1. I UPDATE,'IEN S ERROR="1^update message requires an IEN" Q
  1. ;
  1. ; -- get root of file
  1. S ROOT=$$ROOT^DILFD(IFN,,1)
  1. ;
  1. ; -- if IEN array input, merge with param
  1. I 'ALL,'IEN,$O(IEN(0)) M ^TMP("XUMF MFS",$J,"PARAM","IEN")=IEN
  1. ;
  1. ; -- if CDSYS and ALL get entries
  1. S CDSYS=$G(^TMP("XUMF MFS",$J,"PARAM","CDSYS"))
  1. I ALL,CDSYS'="" D
  1. .S I=0 F S I=$O(@ROOT@("XUMFIDX",CDSYS,I)) Q:'I D
  1. ..S J=$O(@ROOT@("XUMFIDX",CDSYS,I,0))
  1. ..S ^TMP("XUMF MFS",$J,"PARAM","IEN",J)=""
  1. ;
  1. ; -- get ALL file 'national' entries
  1. I ALL,'$D(^TMP("XUMF MFS",$J,"PARAM","IEN")) D
  1. .S I=0 F S I=$O(@ROOT@("XUMF","N",I)) Q:'I D
  1. ..S ^TMP("XUMF MFS",$J,"PARAM","IEN",I)=""
  1. ;
  1. Q
  1. ;