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

IS00012.m

Go to the documentation of this file.
  1. IS00012(INTT,INDA,INA,INDEST,INQUE,INORDUZ,INORDIV) ;Compiled from script 'Generated: HL IHS IZV04 BATCH HEADER-O' on AUG 15, 2018
  1. ;Part 1
  1. ;Copyright 2018 SAIC
  1. EN S X="ERROR^IS00012",@^%ZOSF("TRAP")
  1. G START
  1. ERROR ;
  1. S X="",@^%ZOSF("TRAP") X ^INTHOS(1,3) D ERROR^INHS($$GETERR^%ZTOS)
  1. Q 2
  1. START ;Initialize variables
  1. K ^UTILITY("INH",$J) S (MESSID,INA("MESSID"))=$$MESSID^INHD
  1. K INUIF6 M INUIF6=INDA
  1. K INREQERR,INHERR,INHERCNT,INV D SETDT^UTDT S DUZ(0)="@",DUZ("AG")="^1",DTIME=1 S (LCT,GERR)=0,INMODE="O",INVS=$P(^INRHSITE(1,0),U,12),INV=$S(INVS<2:"INV",1:"^UTILITY(""INV"",$J)"),(MULT,INSTERR)=0
  1. S INHLDUZ=$O(^VA(200,"B","GIS,USER",0)),DUZ=$S($G(INHLDUZ):INHLDUZ,1:.5)
  1. S BHLMIEN="12427"
  1. I $G(^INTHL7M(BHLMIEN,4,1,0))]"" X $G(^INTHL7M(BHLMIEN,4,1,0))
  1. K INSETID
  1. S INSMIN=$S($P($G(^INRHSITE(1,0)),U,14):$P(^(0),U,14),1:2500)
  1. S (DELIM,INDELIM)=$$FIELD^INHUT(),(SUBDELIM,INSUBDEL)=$$COMP^INHUT(),INSUBCOM=$$SUBCOMP^INHUT()
  1. S INDELIMS=$$FIELD^INHUT_$$COMP^INHUT_$$REP^INHUT_$$ESC^INHUT_$$SUBCOMP^INHUT
  1. ;Entering DATA section.
  1. S DELIM="|"
  1. S SUBDELIM="^"
  1. SET INSETID=0
  1. D FHS^BYIMSEGS
  1. ;SET FHS1 = INSGX\^INTHL7FT(1,3)\\4\@ENC
  1. S D0=INDA S X=$G(INA("ENC"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,4)
  1. S @INV@("FHS1")=X K DXS,D0
  1. ;SET FHS2 = INSGX\^INTHL7FT(1,3)\\180\@MSH3
  1. S D0=INDA S X=$G(INA("MSH3"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
  1. S @INV@("FHS2")=X K DXS,D0
  1. ;SET FHS3 = INSGX\^INTHL7FT(1,3)\\180\@MSH4
  1. S D0=INDA S X=$G(INA("MSH4"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
  1. S @INV@("FHS3")=X K DXS,D0
  1. ;SET FHS5 = INSGX\^INTHL7FT(6,3)\\26\@EVDT
  1. S D0=INDA S X=$G(INA("EVDT"))
  1. S X1="^INTHL7FT(6,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,26)
  1. S @INV@("FHS5")=X K DXS,D0
  1. D:'INVS MC^INHS
  1. K LINE S LINE="",CP=0 S L1="FHS" S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,1,L1,.CP) S L1=$G(@INV@("FHS1")) S:$TR(L1,$G(SUBDELIM))="" L1=""
  1. D SETPIECE^INHU(.LINE,DELIM,2,L1,.CP) S L1=$G(@INV@("FHS2")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,3,L1,.CP) S L1=$G(@INV@("FHS3"))
  1. S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,4,L1,.CP) S L1=$G(@INV@("FHS5")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,6,L1,.CP)
  1. S LCT=LCT+1,^UTILITY("INH",$J,LCT)=LINE I $D(LINE)>9 M ^UTILITY("INH",$J,LCT)=LINE
  1. SET INSETID=0
  1. D FHS^BYIMSEGS
  1. ;SET BHS1 = INSGX\^INTHL7FT(1,3)\\4\@ENC
  1. S D0=INDA S X=$G(INA("ENC"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,4)
  1. S @INV@("BHS1")=X K DXS,D0
  1. ;SET BHS2 = INSGX\^INTHL7FT(1,3)\\180\@MSH3
  1. S D0=INDA S X=$G(INA("MSH3"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
  1. S @INV@("BHS2")=X K DXS,D0
  1. ;SET BHS3 = INSGX\^INTHL7FT(1,3)\\180\@MSH4
  1. S D0=INDA S X=$G(INA("MSH4"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
  1. S @INV@("BHS3")=X K DXS,D0
  1. ;SET BHS5 = INSGX\^INTHL7FT(6,3)\\26\@EVDT
  1. S D0=INDA S X=$G(INA("EVDT"))
  1. S X1="^INTHL7FT(6,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,26)
  1. S @INV@("BHS5")=X K DXS,D0
  1. D:'INVS MC^INHS
  1. K LINE S LINE="",CP=0 S L1="BHS" S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,1,L1,.CP) S L1=$G(@INV@("BHS1")) S:$TR(L1,$G(SUBDELIM))="" L1=""
  1. D SETPIECE^INHU(.LINE,DELIM,2,L1,.CP) S L1=$G(@INV@("BHS2")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,3,L1,.CP) S L1=$G(@INV@("BHS3"))
  1. S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,4,L1,.CP) S L1=$G(@INV@("BHS5")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,6,L1,.CP)
  1. S LCT=LCT+1,^UTILITY("INH",$J,LCT)=LINE I $D(LINE)>9 M ^UTILITY("INH",$J,LCT)=LINE
  1. D:'INVS MC^INHS
  1. ;Entering END section.
  1. I $G(INSTERR) Q $S($G(INREQERR)>INSTERR:INREQERR,1:INSTERR)
  1. S UIF=$$NEWO^INHD(INDEST,"^UTILITY(""INH"",$J)",+$P($G(^INRHT(INTT,0)),U,12),INTT,MESSID,$G(INQUE),$G(INORDUZ),$G(INORDIV),.INUIF6,.INUIF7,$G(INA("INMIDGEN")))
  1. I UIF<0 D ERROR^INHS("UIF creation failed",2) Q 2
  1. Q 0