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

IS00030.m

Go to the documentation of this file.
  1. IS00030(INTT,INDA,INA,INDEST,INQUE,INORDUZ,INORDIV) ;Compiled from script 'Generated: HL IHS IZV04 QBP OUT-O' on AUG 15, 2018
  1. ;Part 1
  1. ;Copyright 2018 SAIC
  1. EN S X="ERROR^IS00030",@^%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="12446"
  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 MUMPS section.
  1. D VST^BHLV
  1. ;Entering DATA section.
  1. S DELIM="|"
  1. S SUBDELIM="^"
  1. SET INSETID=0
  1. D MSH^BYIMSEGS
  1. ;SET MSH1 = 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@("MSH1")=X K DXS,D0
  1. ;SET MSH2 = 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@("MSH2")=X K DXS,D0
  1. ;SET MSH3 = 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@("MSH3")=X K DXS,D0
  1. ;SET MSH4 = INSGX\^INTHL7FT(1,3)\\180\@MSH5
  1. S D0=INDA S X=$G(INA("MSH5"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
  1. S @INV@("MSH4")=X K DXS,D0
  1. ;SET MSH5 = INSGX\^INTHL7FT(1,3)\\180\@MSH6
  1. S D0=INDA S X=$G(INA("MSH6"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
  1. S @INV@("MSH5")=X K DXS,D0
  1. ;SET MSH6 = INSGX\^INTHL7FT(1,3)\\20\@MSH7
  1. S D0=INDA S X=$G(INA("MSH7"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,20)
  1. S @INV@("MSH6")=X K DXS,D0
  1. ;SET MSH7 = INSGX\^INTHL7FT(1,3)\\20\@MSH8
  1. S D0=INDA S X=$G(INA("MSH8"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,20)
  1. S @INV@("MSH7")=X K DXS,D0
  1. ;SET MSH8 = INSGX\^INTHL7FT(1,3)\\50\@MSH9
  1. S D0=INDA S X=$G(INA("MSH9"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,50)
  1. S @INV@("MSH8")=X K DXS,D0
  1. ;SET MSH9 = INSGX\^INTHL7FT(1,3)\\20\@MSH10
  1. S D0=INDA S X=$G(INA("MSH10"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,20)
  1. S @INV@("MSH9")=X K DXS,D0
  1. ;SET MSH10 = $E(INTERNAL(@PRID),1,1)
  1. S D0=INDA S X=$G(INA("PRID")),X=X S X=X,Y(1)=$G(X) S X=1,Y(2)=$G(X) S X=1,X=$E(Y(1),Y(2),X)
  1. S @INV@("MSH10")=X K DXS,D0
  1. ;SET MSH11 = @MSH12
  1. S D0=INDA S X=$G(INA("MSH12"))
  1. S @INV@("MSH11")=X K DXS,D0
  1. ;SET MSH12 = ""
  1. S D0=INDA S X=""
  1. S @INV@("MSH12")=X K DXS,D0
  1. ;SET MSH13 = ""
  1. S D0=INDA S X=""
  1. S @INV@("MSH13")=X K DXS,D0
  1. ;SET MSH14 = $E(INTERNAL(@ACA),1,2)
  1. S D0=INDA S X=$G(INA("ACA")),X=X S X=X,Y(1)=$G(X) S X=1,Y(2)=$G(X) S X=2,X=$E(Y(1),Y(2),X)
  1. S @INV@("MSH14")=X K DXS,D0
  1. ;SET MSH15 = $E(INTERNAL(@APA),1,2)
  1. S D0=INDA S X=$G(INA("APA")),X=X S X=X,Y(1)=$G(X) S X=1,Y(2)=$G(X) S X=2,X=$E(Y(1),Y(2),X)
  1. S @INV@("MSH15")=X K DXS,D0
  1. ;SET MSH16 = INSGX\^INTHL7FT(1,3)\\3\"USA"
  1. S D0=INDA S X="USA"
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,3)
  1. S @INV@("MSH16")=X K DXS,D0
  1. D:'INVS MC^INHS
  1. K LINE S LINE="",CP=0 S L1="MSH" S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,1,L1,.CP) S L1=$G(@INV@("MSH1")) S:$TR(L1,$G(SUBDELIM))="" L1=""
  1. D SETPIECE^INHU(.LINE,DELIM,2,L1,.CP) S L1=$G(@INV@("MSH2")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,3,L1,.CP) S L1=$G(@INV@("MSH3"))
  1. S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,4,L1,.CP) S L1=$G(@INV@("MSH4")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,5,L1,.CP)
  1. S L1=$G(@INV@("MSH5")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,6,L1,.CP) S L1=$G(@INV@("MSH6")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,7,L1,.CP)
  1. S L1=$G(@INV@("MSH7")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,8,L1,.CP) S L1=$G(@INV@("MSH8")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,9,L1,.CP)
  1. S L1=$G(@INV@("MSH9")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,10,L1,.CP) S L1=$G(@INV@("MSH10")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,11,L1,.CP)
  1. S D0=INDA S X=@INV@("MSH11"),Y(1)=$G(X) S X=1,Y(2)=$G(X) S X=10,X=$E(Y(1),Y(2),X) S L1=X
  1. S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,12,L1,.CP) S L1=$G(@INV@("MSH12")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,13,L1,.CP)
  1. S L1=$G(@INV@("MSH13")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,14,L1,.CP) S L1=$G(@INV@("MSH14")) S:$TR(L1,$G(SUBDELIM))="" L1=""
  1. D SETPIECE^INHU(.LINE,DELIM,15,L1,.CP) S L1=$G(@INV@("MSH15")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,16,L1,.CP) S L1=$G(@INV@("MSH16"))
  1. S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,17,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 PID^BYIMSEGS
  1. ;SET QPD1 = INSGX\^INTHL7F(17087,5)\\60\"OUTPUT TRANSFORM"
  1. S D0=INDA S X="OUTPUT TRANSFORM"
  1. S X1="^INTHL7F(17087,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,60)
  1. S @INV@("QPD1")=X K DXS,D0
  1. ;SET QPD2 = INSGX\^INTHL7F(16750,5)\\12\"OUPUT TRANSFORM"
  1. S D0=INDA S X="OUPUT TRANSFORM"
  1. S X1="^INTHL7F(16750,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,12)
  1. S @INV@("QPD2")=X K DXS,D0
  1. ;SET QPD3 = INSGX\^INTHL7FT(1,3)\\250\@PID3
  1. S D0=INDA S X=$G(INA("PID3"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,250)
  1. S @INV@("QPD3")=X K DXS,D0
  1. ;SET QPD4 = INSGX\^INTHL7FT(7,3)\\250\@PID5
  1. S D0=INDA S X=$G(INA("PID5"))
  1. S X1="^INTHL7FT(7,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,250)
  1. S @INV@("QPD4")=X K DXS,D0
  1. ;SET QPD5 = INSGX\^INTHL7FT(7,3)\\250\#.2403
  1. S D0=INDA S Y(1)=$S($D(^DPT(D0,.24)):^(.24),1:"") S X=$P(Y(1),U,3)
  1. S X1="^INTHL7FT(7,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,250)
  1. S @INV@("QPD5")=X K DXS,D0
  1. ;SET QPD6 = INSGX\^INTHL7FT(1,3)\\8\@PID7
  1. S D0=INDA S X=$G(INA("PID7"))
  1. S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,8)
  1. S @INV@("QPD6")=X K DXS,D0
  1. ;SET QPD7 = $E(INTERNAL(SEX),1,1)
  1. S D0=INDA S Y(1)=$S($D(^DPT(D0,0)):^(0),1:"") S X=$P(Y(1),U,2),X=X S X=X,Y(2)=$G(X) S X=1,Y(3)=$G(X) S X=1,X=$E(Y(2),Y(3),X)
  1. S @INV@("QPD7")=X K DXS,D0
  1. ;SET QPD8.1 = $E(#.111,1,106)
  1. S D0=INDA S Y(1)=$S($D(^DPT(D0,.11)):^(.11),1:"") S X=$P(Y(1),U,1),Y(2)=$G(X) S X=1,Y(3)=$G(X) S X=106,X=$E(Y(2),Y(3),X)
  1. S @INV@("QPD8.1")=X K DXS,D0
  1. ;SET QPD8.2 = $E(#.112,1,160)
  1. S D0=INDA S Y(1)=$S($D(^DPT(D0,.11)):^(.11),1:"") S X=$P(Y(1),U,2),Y(2)=$G(X) S X=1,Y(3)=$G(X) S X=160,X=$E(Y(2),Y(3),X)
  1. S @INV@("QPD8.2")=X K DXS,D0
  1. ;SET QPD8.3 = $E(#.114,1,106)
  1. S D0=INDA S Y(1)=$S($D(^DPT(D0,.11)):^(.11),1:"") S X=$P(Y(1),U,4),Y(2)=$G(X) S X=1,Y(3)=$G(X) S X=106,X=$E(Y(2),Y(3),X)
  1. S @INV@("QPD8.3")=X K DXS,D0
  1. ;SET QPD8.4 = INSGX\^INTHL7F(14459,5)\\106\#.115
  1. S D0=INDA S Y(1)=$S($D(^DPT(D0,.11)):^(.11),1:"") S X=$P($G(^DIC(5,+$P(Y(1),U,5),0)),U)
  1. S X1="^INTHL7F(14459,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,106)
  1. S @INV@("QPD8.4")=X K DXS,D0
  1. ;SET QPD8.5 = $E(#.116,1,106)
  1. S D0=INDA S Y(1)=$S($D(^DPT(D0,.11)):^(.11),1:"") S X=$P(Y(1),U,6),Y(2)=$G(X) S X=1,Y(3)=$G(X) S X=106,X=$E(Y(2),Y(3),X)
  1. S @INV@("QPD8.5")=X K DXS,D0
  1. D:'INVS MC^INHS
  1. K LINE S LINE="",CP=0 S L1="QPD" S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,1,L1,.CP) S L1=$G(@INV@("QPD1")) S:$TR(L1,$G(SUBDELIM))="" L1=""
  1. D SETPIECE^INHU(.LINE,DELIM,2,L1,.CP) S L1=$G(@INV@("QPD2")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,3,L1,.CP) S L1=$G(@INV@("QPD3"))
  1. S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,4,L1,.CP) S L1=$G(@INV@("QPD4")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,5,L1,.CP)
  1. S L1=$G(@INV@("QPD5")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,6,L1,.CP) S L1=$G(@INV@("QPD6")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,7,L1,.CP)
  1. S L1=$G(@INV@("QPD7")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,8,L1,.CP) S L1=$G(@INV@("QPD8.1"))
  1. S D0=INDA S X="^" S L1=L1_X
  1. S L1=L1_$G(@INV@("QPD8.2"))
  1. S D0=INDA S X="^" S L1=L1_X
  1. S L1=L1_$G(@INV@("QPD8.3"))
  1. S D0=INDA S X="^" S L1=L1_X
  1. S L1=L1_$G(@INV@("QPD8.4"))
  1. S D0=INDA S X="^" S L1=L1_X
  1. S L1=L1_$G(@INV@("QPD8.5")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,9,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 RCP^BYIMSEGS
  1. ;SET RCP1 = $E(INTERNAL("1"),1,1)
  1. S D0=INDA S X="1",X=X S X=X,Y(1)=$G(X) S X=1,Y(2)=$G(X) S X=1,X=$E(Y(1),Y(2),X)
  1. S @INV@("RCP1")=X K DXS,D0
  1. ;SET RCP2 = INSGX\^INTHL7F(17019,5)\\10\"OUTPUT TRANSFORM"
  1. S D0=INDA S X="OUTPUT TRANSFORM"
  1. S X1="^INTHL7F(17019,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,10)
  1. S @INV@("RCP2")=X K DXS,D0
  1. ;SET RCP3 = INSGX\^INTHL7F(17020,5)\\60\"OUTPUT TRANSFORM"
  1. S D0=INDA S X="OUTPUT TRANSFORM"
  1. S X1="^INTHL7F(17020,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,60)
  1. S @INV@("RCP3")=X K DXS,D0
  1. D:'INVS MC^INHS
  1. K LINE S LINE="",CP=0 S L1="RCP" S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,1,L1,.CP) S L1=$G(@INV@("RCP1")) S:$TR(L1,$G(SUBDELIM))="" L1=""
  1. D SETPIECE^INHU(.LINE,DELIM,2,L1,.CP) S L1=$G(@INV@("RCP2")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,3,L1,.CP) S L1=$G(@INV@("RCP3"))
  1. S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,4,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