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

XUMF04Q.m

Go to the documentation of this file.
  1. XUMF04Q ;BP/RAM - INSTITUTION QUERY ;06/28/00
  1. ;;8.0;KERNEL;**549,1018**;Jul 10, 1995;Build 12
  1. ;
  1. ;;IHS/OIT/FBD - 6/4/2015 - AS PART OF IHS PATCH XU*8.0*1018, ADDED LINE EN+2
  1. ; SKIP VA QUERY/RESPONSE ON IHS INSTITUTION FILE
  1. Q
  1. ;
  1. EN ; -- QUERY and PROCESS RESPONSE
  1. ;
  1. Q:$G(DUZ("AG"))="I" ;XU*8.0*1018
  1. Q:$$KSP^XUPARAM("INST")=12000
  1. Q:$P($$PARAM^HLCS2,U,3)="T"
  1. ;
  1. N XUMFCD
  1. ;
  1. M ^TMP("XUMF 04",$$NOW^XLFDT,$J,4)=^DIC(4)
  1. ;
  1. W !!!,"GET FACILITY TYPE",!!!
  1. ; load facility type
  1. D LOAD^XUMF(4.1)
  1. ;
  1. W !!!,"GET INSTITUTION BY STATION NUMBER - PLEASE WAIT",!!!
  1. ; load va station number
  1. D MAIN^XUMF04Q
  1. W !!!,"PROCESS STATION NUMBER",!!!
  1. D MAIN^XUMF04H
  1. ;
  1. W !!!,"GET INSTITUTUION BY NPI",!!!
  1. ; load NPI
  1. S XUMFCD="NPI"
  1. D MAIN^XUMF04Q
  1. W !!!,"PROCESS NPI",!!!
  1. D MAIN^XUMF04H
  1. W !!!,"DONE",!!!
  1. ;
  1. Q
  1. ;
  1. BG ; -- background job
  1. ;
  1. N ZTRTN,ZTDESC,ZTDTH
  1. ;
  1. S ZTRTN="EN^XUMF04Q"
  1. S ZTDESC="XUMF load all national Institution data"
  1. S ZTDTH=$$NOW^XLFDT
  1. S ZTIO=""
  1. ;
  1. D ^%ZTLOAD
  1. ;
  1. Q
  1. ;
  1. MAIN ; -- QUERY MESSAGE
  1. ;
  1. N CNT,ERR,I,X,HLFS,HLCS,ERROR,HLRESLTA,IFN,IEN,TYPE
  1. N VALUE,HLSCS,PROTOCOL,TEST
  1. ;
  1. D INIT,BUILD,SEND,EXIT
  1. ;
  1. Q
  1. ;
  1. INIT ; -- initialize
  1. ;
  1. K ^TMP("HLS",$J)
  1. ;
  1. K HL,HLCS,HLDOM,HLECH,HLFS,HLINST,HLINSTN,HLL,HLMTIEN,HLNEXT
  1. K HLNODE,HLP,HLPARAM,HLPROD,HLQ,HLQUIT,HLRESLT,HLSCS
  1. ;
  1. S PROTOCOL=$O(^ORD(101,"B","XUMF 04 MFQ",0))
  1. D INIT^HLFNC2(PROTOCOL,.HL)
  1. S TEST=$S($P($$PARAM^HLCS2,U,3)="T":1,1:0)
  1. S HLL("LINKS",1)="XUMF 04 MFR^XUMF "_$S('TEST:"FORUM",1:"TEST")
  1. ;
  1. S ERROR=0,CNT=1
  1. S HLFS=HL("FS"),HLCS=$E(HL("ECH")),HLSCS=$E(HL("ECH"),4)
  1. ;
  1. Q
  1. ;
  1. BUILD ; -- build message
  1. ;
  1. D QRD
  1. ;
  1. Q
  1. ;
  1. MSA ; -- MSA segment
  1. ;
  1. S ^TMP("HLS",$J,CNT)=$$MSA^XUMF04(ERROR,HLFS,.HL)
  1. S CNT=CNT+1
  1. ;
  1. Q
  1. ;
  1. QRD ; -- QRD segment
  1. ;
  1. S ^TMP("HLS",$J,CNT)=$$QRD^XUMF04(HLFS,$G(XUMFCD))
  1. S CNT=CNT+1
  1. ;
  1. Q
  1. ;
  1. ;
  1. ;
  1. SEND ; -- send HL7 message
  1. ;
  1. S HLP("PRIORITY")="I"
  1. ;
  1. D DIRECT^HLMA(PROTOCOL,"GM",1,.HLRESLT,"",.HLP)
  1. ;
  1. ; check for error
  1. I ($P($G(HLRESLT),U,3)'="") D Q
  1. .S ERROR=1_U_$P(HLRESLT,HLFS,3)_U_$P(HLRESLT,HLFS,2)_U_$P(HLRESLT,U)
  1. ;
  1. ; successful call, message ID returned
  1. S ERROR="0^"_$P($G(HLRESLT),U,1)
  1. ;
  1. Q
  1. ;
  1. EXIT ; -- exit
  1. ;
  1. D CLEAN^DILF
  1. ;
  1. K ^TMP("HLS",$J)
  1. ;
  1. Q
  1. ;
  1. DMIS ; - load DMIS
  1. ;
  1. Q:$$KSP^XUPARAM("INST")=12000
  1. Q:$P($$PARAM^HLCS2,U,3)="T"
  1. ;
  1. N XUMFCD
  1. S XUMFCD="DMIS"
  1. D MAIN^XUMF04Q
  1. D MAIN^XUMF04H
  1. ;
  1. Q
  1. ;