- IS00030(INTT,INDA,INA,INDEST,INQUE,INORDUZ,INORDIV) ;Compiled from script 'Generated: HL IHS IZV04 QBP OUT-O' on AUG 15, 2018
- ;Part 1
- ;Copyright 2018 SAIC
- EN S X="ERROR^IS00030",@^%ZOSF("TRAP")
- G START
- ERROR ;
- S X="",@^%ZOSF("TRAP") X ^INTHOS(1,3) D ERROR^INHS($$GETERR^%ZTOS)
- Q 2
- START ;Initialize variables
- K ^UTILITY("INH",$J) S (MESSID,INA("MESSID"))=$$MESSID^INHD
- K INUIF6 M INUIF6=INDA
- 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
- S INHLDUZ=$O(^VA(200,"B","GIS,USER",0)),DUZ=$S($G(INHLDUZ):INHLDUZ,1:.5)
- S BHLMIEN="12446"
- I $G(^INTHL7M(BHLMIEN,4,1,0))]"" X $G(^INTHL7M(BHLMIEN,4,1,0))
- K INSETID
- S INSMIN=$S($P($G(^INRHSITE(1,0)),U,14):$P(^(0),U,14),1:2500)
- S (DELIM,INDELIM)=$$FIELD^INHUT(),(SUBDELIM,INSUBDEL)=$$COMP^INHUT(),INSUBCOM=$$SUBCOMP^INHUT()
- S INDELIMS=$$FIELD^INHUT_$$COMP^INHUT_$$REP^INHUT_$$ESC^INHUT_$$SUBCOMP^INHUT
- ;Entering MUMPS section.
- D VST^BHLV
- ;Entering DATA section.
- S DELIM="|"
- S SUBDELIM="^"
- SET INSETID=0
- D MSH^BYIMSEGS
- ;SET MSH1 = INSGX\^INTHL7FT(1,3)\\4\@ENC
- S D0=INDA S X=$G(INA("ENC"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,4)
- S @INV@("MSH1")=X K DXS,D0
- ;SET MSH2 = INSGX\^INTHL7FT(1,3)\\180\@MSH3
- S D0=INDA S X=$G(INA("MSH3"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
- S @INV@("MSH2")=X K DXS,D0
- ;SET MSH3 = INSGX\^INTHL7FT(1,3)\\180\@MSH4
- S D0=INDA S X=$G(INA("MSH4"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
- S @INV@("MSH3")=X K DXS,D0
- ;SET MSH4 = INSGX\^INTHL7FT(1,3)\\180\@MSH5
- S D0=INDA S X=$G(INA("MSH5"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
- S @INV@("MSH4")=X K DXS,D0
- ;SET MSH5 = INSGX\^INTHL7FT(1,3)\\180\@MSH6
- S D0=INDA S X=$G(INA("MSH6"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,180)
- S @INV@("MSH5")=X K DXS,D0
- ;SET MSH6 = INSGX\^INTHL7FT(1,3)\\20\@MSH7
- S D0=INDA S X=$G(INA("MSH7"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,20)
- S @INV@("MSH6")=X K DXS,D0
- ;SET MSH7 = INSGX\^INTHL7FT(1,3)\\20\@MSH8
- S D0=INDA S X=$G(INA("MSH8"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,20)
- S @INV@("MSH7")=X K DXS,D0
- ;SET MSH8 = INSGX\^INTHL7FT(1,3)\\50\@MSH9
- S D0=INDA S X=$G(INA("MSH9"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,50)
- S @INV@("MSH8")=X K DXS,D0
- ;SET MSH9 = INSGX\^INTHL7FT(1,3)\\20\@MSH10
- S D0=INDA S X=$G(INA("MSH10"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,20)
- S @INV@("MSH9")=X K DXS,D0
- ;SET MSH10 = $E(INTERNAL(@PRID),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)
- S @INV@("MSH10")=X K DXS,D0
- ;SET MSH11 = @MSH12
- S D0=INDA S X=$G(INA("MSH12"))
- S @INV@("MSH11")=X K DXS,D0
- ;SET MSH12 = ""
- S D0=INDA S X=""
- S @INV@("MSH12")=X K DXS,D0
- ;SET MSH13 = ""
- S D0=INDA S X=""
- S @INV@("MSH13")=X K DXS,D0
- ;SET MSH14 = $E(INTERNAL(@ACA),1,2)
- 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)
- S @INV@("MSH14")=X K DXS,D0
- ;SET MSH15 = $E(INTERNAL(@APA),1,2)
- 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)
- S @INV@("MSH15")=X K DXS,D0
- ;SET MSH16 = INSGX\^INTHL7FT(1,3)\\3\"USA"
- S D0=INDA S X="USA"
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,3)
- S @INV@("MSH16")=X K DXS,D0
- D:'INVS MC^INHS
- 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=""
- 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"))
- 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)
- 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)
- 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)
- 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)
- 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
- 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)
- 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=""
- 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"))
- S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,17,L1,.CP)
- S LCT=LCT+1,^UTILITY("INH",$J,LCT)=LINE I $D(LINE)>9 M ^UTILITY("INH",$J,LCT)=LINE
- SET INSETID=0
- D PID^BYIMSEGS
- ;SET QPD1 = INSGX\^INTHL7F(17087,5)\\60\"OUTPUT TRANSFORM"
- S D0=INDA S X="OUTPUT TRANSFORM"
- S X1="^INTHL7F(17087,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,60)
- S @INV@("QPD1")=X K DXS,D0
- ;SET QPD2 = INSGX\^INTHL7F(16750,5)\\12\"OUPUT TRANSFORM"
- S D0=INDA S X="OUPUT TRANSFORM"
- S X1="^INTHL7F(16750,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,12)
- S @INV@("QPD2")=X K DXS,D0
- ;SET QPD3 = INSGX\^INTHL7FT(1,3)\\250\@PID3
- S D0=INDA S X=$G(INA("PID3"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,250)
- S @INV@("QPD3")=X K DXS,D0
- ;SET QPD4 = INSGX\^INTHL7FT(7,3)\\250\@PID5
- S D0=INDA S X=$G(INA("PID5"))
- S X1="^INTHL7FT(7,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,250)
- S @INV@("QPD4")=X K DXS,D0
- ;SET QPD5 = INSGX\^INTHL7FT(7,3)\\250\#.2403
- S D0=INDA S Y(1)=$S($D(^DPT(D0,.24)):^(.24),1:"") S X=$P(Y(1),U,3)
- S X1="^INTHL7FT(7,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,250)
- S @INV@("QPD5")=X K DXS,D0
- ;SET QPD6 = INSGX\^INTHL7FT(1,3)\\8\@PID7
- S D0=INDA S X=$G(INA("PID7"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,8)
- S @INV@("QPD6")=X K DXS,D0
- ;SET QPD7 = $E(INTERNAL(SEX),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)
- S @INV@("QPD7")=X K DXS,D0
- ;SET QPD8.1 = $E(#.111,1,106)
- 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)
- S @INV@("QPD8.1")=X K DXS,D0
- ;SET QPD8.2 = $E(#.112,1,160)
- 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)
- S @INV@("QPD8.2")=X K DXS,D0
- ;SET QPD8.3 = $E(#.114,1,106)
- 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)
- S @INV@("QPD8.3")=X K DXS,D0
- ;SET QPD8.4 = INSGX\^INTHL7F(14459,5)\\106\#.115
- 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)
- S X1="^INTHL7F(14459,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,106)
- S @INV@("QPD8.4")=X K DXS,D0
- ;SET QPD8.5 = $E(#.116,1,106)
- 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)
- S @INV@("QPD8.5")=X K DXS,D0
- D:'INVS MC^INHS
- 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=""
- 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"))
- 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)
- 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)
- 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"))
- S D0=INDA S X="^" S L1=L1_X
- S L1=L1_$G(@INV@("QPD8.2"))
- S D0=INDA S X="^" S L1=L1_X
- S L1=L1_$G(@INV@("QPD8.3"))
- S D0=INDA S X="^" S L1=L1_X
- S L1=L1_$G(@INV@("QPD8.4"))
- S D0=INDA S X="^" S L1=L1_X
- S L1=L1_$G(@INV@("QPD8.5")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,9,L1,.CP)
- S LCT=LCT+1,^UTILITY("INH",$J,LCT)=LINE I $D(LINE)>9 M ^UTILITY("INH",$J,LCT)=LINE
- SET INSETID=0
- D RCP^BYIMSEGS
- ;SET RCP1 = $E(INTERNAL("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)
- S @INV@("RCP1")=X K DXS,D0
- ;SET RCP2 = INSGX\^INTHL7F(17019,5)\\10\"OUTPUT TRANSFORM"
- S D0=INDA S X="OUTPUT TRANSFORM"
- S X1="^INTHL7F(17019,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,10)
- S @INV@("RCP2")=X K DXS,D0
- ;SET RCP3 = INSGX\^INTHL7F(17020,5)\\60\"OUTPUT TRANSFORM"
- S D0=INDA S X="OUTPUT TRANSFORM"
- S X1="^INTHL7F(17020,5)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,60)
- S @INV@("RCP3")=X K DXS,D0
- D:'INVS MC^INHS
- 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=""
- 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"))
- S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,4,L1,.CP)
- S LCT=LCT+1,^UTILITY("INH",$J,LCT)=LINE I $D(LINE)>9 M ^UTILITY("INH",$J,LCT)=LINE
- D:'INVS MC^INHS
- ;Entering END section.
- I $G(INSTERR) Q $S($G(INREQERR)>INSTERR:INREQERR,1:INSTERR)
- 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")))
- I UIF<0 D ERROR^INHS("UIF creation failed",2) Q 2
- Q 0
- 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
- +2 ;Copyright 2018 SAIC
- EN SET X="ERROR^IS00030"
- SET @^%ZOSF("TRAP")
- +1 GOTO START
- ERROR ;
- +1 SET X=""
- SET @^%ZOSF("TRAP")
- XECUTE ^INTHOS(1,3)
- DO ERROR^INHS($$GETERR^%ZTOS)
- +2 QUIT 2
- START ;Initialize variables
- +1 KILL ^UTILITY("INH",$JOB)
- SET (MESSID,INA("MESSID"))=$$MESSID^INHD
- +2 KILL INUIF6
- MERGE INUIF6=INDA
- +3 KILL INREQERR,INHERR,INHERCNT,INV
- DO SETDT^UTDT
- SET DUZ(0)="@"
- SET DUZ("AG")="^1"
- SET DTIME=1
- SET (LCT,GERR)=0
- SET INMODE="O"
- SET INVS=$PIECE(^INRHSITE(1,0),U,12)
- SET INV=$SELECT(INVS<2:"INV",1:"^UTILITY(""INV"",$J)")
- SET (MULT,INSTERR)=0
- +4 SET INHLDUZ=$ORDER(^VA(200,"B","GIS,USER",0))
- SET DUZ=$SELECT($GET(INHLDUZ):INHLDUZ,1:.5)
- +5 SET BHLMIEN="12446"
- +6 IF $GET(^INTHL7M(BHLMIEN,4,1,0))]""
- XECUTE $GET(^INTHL7M(BHLMIEN,4,1,0))
- +7 KILL INSETID
- +8 SET INSMIN=$SELECT($PIECE($GET(^INRHSITE(1,0)),U,14):$PIECE(^(0),U,14),1:2500)
- +9 SET (DELIM,INDELIM)=$$FIELD^INHUT()
- SET (SUBDELIM,INSUBDEL)=$$COMP^INHUT()
- SET INSUBCOM=$$SUBCOMP^INHUT()
- +10 SET INDELIMS=$$FIELD^INHUT_$$COMP^INHUT_$$REP^INHUT_$$ESC^INHUT_$$SUBCOMP^INHUT
- +11 ;Entering MUMPS section.
- +12 DO VST^BHLV
- +13 ;Entering DATA section.
- +14 SET DELIM="|"
- +15 SET SUBDELIM="^"
- +16 SET INSETID=0
- +17 DO MSH^BYIMSEGS
- +18 ;SET MSH1 = INSGX\^INTHL7FT(1,3)\\4\@ENC
- +19 SET D0=INDA
- SET X=$GET(INA("ENC"))
- +20 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,4)
- +21 SET @INV@("MSH1")=X
- KILL DXS,D0
- +22 ;SET MSH2 = INSGX\^INTHL7FT(1,3)\\180\@MSH3
- +23 SET D0=INDA
- SET X=$GET(INA("MSH3"))
- +24 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,180)
- +25 SET @INV@("MSH2")=X
- KILL DXS,D0
- +26 ;SET MSH3 = INSGX\^INTHL7FT(1,3)\\180\@MSH4
- +27 SET D0=INDA
- SET X=$GET(INA("MSH4"))
- +28 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,180)
- +29 SET @INV@("MSH3")=X
- KILL DXS,D0
- +30 ;SET MSH4 = INSGX\^INTHL7FT(1,3)\\180\@MSH5
- +31 SET D0=INDA
- SET X=$GET(INA("MSH5"))
- +32 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,180)
- +33 SET @INV@("MSH4")=X
- KILL DXS,D0
- +34 ;SET MSH5 = INSGX\^INTHL7FT(1,3)\\180\@MSH6
- +35 SET D0=INDA
- SET X=$GET(INA("MSH6"))
- +36 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,180)
- +37 SET @INV@("MSH5")=X
- KILL DXS,D0
- +38 ;SET MSH6 = INSGX\^INTHL7FT(1,3)\\20\@MSH7
- +39 SET D0=INDA
- SET X=$GET(INA("MSH7"))
- +40 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,20)
- +41 SET @INV@("MSH6")=X
- KILL DXS,D0
- +42 ;SET MSH7 = INSGX\^INTHL7FT(1,3)\\20\@MSH8
- +43 SET D0=INDA
- SET X=$GET(INA("MSH8"))
- +44 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,20)
- +45 SET @INV@("MSH7")=X
- KILL DXS,D0
- +46 ;SET MSH8 = INSGX\^INTHL7FT(1,3)\\50\@MSH9
- +47 SET D0=INDA
- SET X=$GET(INA("MSH9"))
- +48 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,50)
- +49 SET @INV@("MSH8")=X
- KILL DXS,D0
- +50 ;SET MSH9 = INSGX\^INTHL7FT(1,3)\\20\@MSH10
- +51 SET D0=INDA
- SET X=$GET(INA("MSH10"))
- +52 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,20)
- +53 SET @INV@("MSH9")=X
- KILL DXS,D0
- +54 ;SET MSH10 = $E(INTERNAL(@PRID),1,1)
- +55 SET D0=INDA
- SET X=$GET(INA("PRID"))
- SET X=X
- SET X=X
- SET Y(1)=$GET(X)
- SET X=1
- SET Y(2)=$GET(X)
- SET X=1
- SET X=$EXTRACT(Y(1),Y(2),X)
- +56 SET @INV@("MSH10")=X
- KILL DXS,D0
- +57 ;SET MSH11 = @MSH12
- +58 SET D0=INDA
- SET X=$GET(INA("MSH12"))
- +59 SET @INV@("MSH11")=X
- KILL DXS,D0
- +60 ;SET MSH12 = ""
- +61 SET D0=INDA
- SET X=""
- +62 SET @INV@("MSH12")=X
- KILL DXS,D0
- +63 ;SET MSH13 = ""
- +64 SET D0=INDA
- SET X=""
- +65 SET @INV@("MSH13")=X
- KILL DXS,D0
- +66 ;SET MSH14 = $E(INTERNAL(@ACA),1,2)
- +67 SET D0=INDA
- SET X=$GET(INA("ACA"))
- SET X=X
- SET X=X
- SET Y(1)=$GET(X)
- SET X=1
- SET Y(2)=$GET(X)
- SET X=2
- SET X=$EXTRACT(Y(1),Y(2),X)
- +68 SET @INV@("MSH14")=X
- KILL DXS,D0
- +69 ;SET MSH15 = $E(INTERNAL(@APA),1,2)
- +70 SET D0=INDA
- SET X=$GET(INA("APA"))
- SET X=X
- SET X=X
- SET Y(1)=$GET(X)
- SET X=1
- SET Y(2)=$GET(X)
- SET X=2
- SET X=$EXTRACT(Y(1),Y(2),X)
- +71 SET @INV@("MSH15")=X
- KILL DXS,D0
- +72 ;SET MSH16 = INSGX\^INTHL7FT(1,3)\\3\"USA"
- +73 SET D0=INDA
- SET X="USA"
- +74 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,3)
- +75 SET @INV@("MSH16")=X
- KILL DXS,D0
- +76 IF 'INVS
- DO MC^INHS
- +77 KILL LINE
- SET LINE=""
- SET CP=0
- SET L1="MSH"
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,1,L1,.CP)
- SET L1=$GET(@INV@("MSH1"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- +78 DO SETPIECE^INHU(.LINE,DELIM,2,L1,.CP)
- SET L1=$GET(@INV@("MSH2"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,3,L1,.CP)
- SET L1=$GET(@INV@("MSH3"))
- +79 IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,4,L1,.CP)
- SET L1=$GET(@INV@("MSH4"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,5,L1,.CP)
- +80 SET L1=$GET(@INV@("MSH5"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,6,L1,.CP)
- SET L1=$GET(@INV@("MSH6"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,7,L1,.CP)
- +81 SET L1=$GET(@INV@("MSH7"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,8,L1,.CP)
- SET L1=$GET(@INV@("MSH8"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,9,L1,.CP)
- +82 SET L1=$GET(@INV@("MSH9"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,10,L1,.CP)
- SET L1=$GET(@INV@("MSH10"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,11,L1,.CP)
- +83 SET D0=INDA
- SET X=@INV@("MSH11")
- SET Y(1)=$GET(X)
- SET X=1
- SET Y(2)=$GET(X)
- SET X=10
- SET X=$EXTRACT(Y(1),Y(2),X)
- SET L1=X
- +84 IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,12,L1,.CP)
- SET L1=$GET(@INV@("MSH12"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,13,L1,.CP)
- +85 SET L1=$GET(@INV@("MSH13"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,14,L1,.CP)
- SET L1=$GET(@INV@("MSH14"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- +86 DO SETPIECE^INHU(.LINE,DELIM,15,L1,.CP)
- SET L1=$GET(@INV@("MSH15"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,16,L1,.CP)
- SET L1=$GET(@INV@("MSH16"))
- +87 IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,17,L1,.CP)
- +88 SET LCT=LCT+1
- SET ^UTILITY("INH",$JOB,LCT)=LINE
- IF $DATA(LINE)>9
- MERGE ^UTILITY("INH",$JOB,LCT)=LINE
- +89 SET INSETID=0
- +90 DO PID^BYIMSEGS
- +91 ;SET QPD1 = INSGX\^INTHL7F(17087,5)\\60\"OUTPUT TRANSFORM"
- +92 SET D0=INDA
- SET X="OUTPUT TRANSFORM"
- +93 SET X1="^INTHL7F(17087,5)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,60)
- +94 SET @INV@("QPD1")=X
- KILL DXS,D0
- +95 ;SET QPD2 = INSGX\^INTHL7F(16750,5)\\12\"OUPUT TRANSFORM"
- +96 SET D0=INDA
- SET X="OUPUT TRANSFORM"
- +97 SET X1="^INTHL7F(16750,5)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,12)
- +98 SET @INV@("QPD2")=X
- KILL DXS,D0
- +99 ;SET QPD3 = INSGX\^INTHL7FT(1,3)\\250\@PID3
- +100 SET D0=INDA
- SET X=$GET(INA("PID3"))
- +101 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,250)
- +102 SET @INV@("QPD3")=X
- KILL DXS,D0
- +103 ;SET QPD4 = INSGX\^INTHL7FT(7,3)\\250\@PID5
- +104 SET D0=INDA
- SET X=$GET(INA("PID5"))
- +105 SET X1="^INTHL7FT(7,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,250)
- +106 SET @INV@("QPD4")=X
- KILL DXS,D0
- +107 ;SET QPD5 = INSGX\^INTHL7FT(7,3)\\250\#.2403
- +108 SET D0=INDA
- SET Y(1)=$SELECT($DATA(^DPT(D0,.24)):^(.24),1:"")
- SET X=$PIECE(Y(1),U,3)
- +109 SET X1="^INTHL7FT(7,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,250)
- +110 SET @INV@("QPD5")=X
- KILL DXS,D0
- +111 ;SET QPD6 = INSGX\^INTHL7FT(1,3)\\8\@PID7
- +112 SET D0=INDA
- SET X=$GET(INA("PID7"))
- +113 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,8)
- +114 SET @INV@("QPD6")=X
- KILL DXS,D0
- +115 ;SET QPD7 = $E(INTERNAL(SEX),1,1)
- +116 SET D0=INDA
- SET Y(1)=$SELECT($DATA(^DPT(D0,0)):^(0),1:"")
- SET X=$PIECE(Y(1),U,2)
- SET X=X
- SET X=X
- SET Y(2)=$GET(X)
- SET X=1
- SET Y(3)=$GET(X)
- SET X=1
- SET X=$EXTRACT(Y(2),Y(3),X)
- +117 SET @INV@("QPD7")=X
- KILL DXS,D0
- +118 ;SET QPD8.1 = $E(#.111,1,106)
- +119 SET D0=INDA
- SET Y(1)=$SELECT($DATA(^DPT(D0,.11)):^(.11),1:"")
- SET X=$PIECE(Y(1),U,1)
- SET Y(2)=$GET(X)
- SET X=1
- SET Y(3)=$GET(X)
- SET X=106
- SET X=$EXTRACT(Y(2),Y(3),X)
- +120 SET @INV@("QPD8.1")=X
- KILL DXS,D0
- +121 ;SET QPD8.2 = $E(#.112,1,160)
- +122 SET D0=INDA
- SET Y(1)=$SELECT($DATA(^DPT(D0,.11)):^(.11),1:"")
- SET X=$PIECE(Y(1),U,2)
- SET Y(2)=$GET(X)
- SET X=1
- SET Y(3)=$GET(X)
- SET X=160
- SET X=$EXTRACT(Y(2),Y(3),X)
- +123 SET @INV@("QPD8.2")=X
- KILL DXS,D0
- +124 ;SET QPD8.3 = $E(#.114,1,106)
- +125 SET D0=INDA
- SET Y(1)=$SELECT($DATA(^DPT(D0,.11)):^(.11),1:"")
- SET X=$PIECE(Y(1),U,4)
- SET Y(2)=$GET(X)
- SET X=1
- SET Y(3)=$GET(X)
- SET X=106
- SET X=$EXTRACT(Y(2),Y(3),X)
- +126 SET @INV@("QPD8.3")=X
- KILL DXS,D0
- +127 ;SET QPD8.4 = INSGX\^INTHL7F(14459,5)\\106\#.115
- +128 SET D0=INDA
- SET Y(1)=$SELECT($DATA(^DPT(D0,.11)):^(.11),1:"")
- SET X=$PIECE($GET(^DIC(5,+$PIECE(Y(1),U,5),0)),U)
- +129 SET X1="^INTHL7F(14459,5)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,106)
- +130 SET @INV@("QPD8.4")=X
- KILL DXS,D0
- +131 ;SET QPD8.5 = $E(#.116,1,106)
- +132 SET D0=INDA
- SET Y(1)=$SELECT($DATA(^DPT(D0,.11)):^(.11),1:"")
- SET X=$PIECE(Y(1),U,6)
- SET Y(2)=$GET(X)
- SET X=1
- SET Y(3)=$GET(X)
- SET X=106
- SET X=$EXTRACT(Y(2),Y(3),X)
- +133 SET @INV@("QPD8.5")=X
- KILL DXS,D0
- +134 IF 'INVS
- DO MC^INHS
- +135 KILL LINE
- SET LINE=""
- SET CP=0
- SET L1="QPD"
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,1,L1,.CP)
- SET L1=$GET(@INV@("QPD1"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- +136 DO SETPIECE^INHU(.LINE,DELIM,2,L1,.CP)
- SET L1=$GET(@INV@("QPD2"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,3,L1,.CP)
- SET L1=$GET(@INV@("QPD3"))
- +137 IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,4,L1,.CP)
- SET L1=$GET(@INV@("QPD4"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,5,L1,.CP)
- +138 SET L1=$GET(@INV@("QPD5"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,6,L1,.CP)
- SET L1=$GET(@INV@("QPD6"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,7,L1,.CP)
- +139 SET L1=$GET(@INV@("QPD7"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,8,L1,.CP)
- SET L1=$GET(@INV@("QPD8.1"))
- +140 SET D0=INDA
- SET X="^"
- SET L1=L1_X
- +141 SET L1=L1_$GET(@INV@("QPD8.2"))
- +142 SET D0=INDA
- SET X="^"
- SET L1=L1_X
- +143 SET L1=L1_$GET(@INV@("QPD8.3"))
- +144 SET D0=INDA
- SET X="^"
- SET L1=L1_X
- +145 SET L1=L1_$GET(@INV@("QPD8.4"))
- +146 SET D0=INDA
- SET X="^"
- SET L1=L1_X
- +147 SET L1=L1_$GET(@INV@("QPD8.5"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,9,L1,.CP)
- +148 SET LCT=LCT+1
- SET ^UTILITY("INH",$JOB,LCT)=LINE
- IF $DATA(LINE)>9
- MERGE ^UTILITY("INH",$JOB,LCT)=LINE
- +149 SET INSETID=0
- +150 DO RCP^BYIMSEGS
- +151 ;SET RCP1 = $E(INTERNAL("1"),1,1)
- +152 SET D0=INDA
- SET X="1"
- SET X=X
- SET X=X
- SET Y(1)=$GET(X)
- SET X=1
- SET Y(2)=$GET(X)
- SET X=1
- SET X=$EXTRACT(Y(1),Y(2),X)
- +153 SET @INV@("RCP1")=X
- KILL DXS,D0
- +154 ;SET RCP2 = INSGX\^INTHL7F(17019,5)\\10\"OUTPUT TRANSFORM"
- +155 SET D0=INDA
- SET X="OUTPUT TRANSFORM"
- +156 SET X1="^INTHL7F(17019,5)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,10)
- +157 SET @INV@("RCP2")=X
- KILL DXS,D0
- +158 ;SET RCP3 = INSGX\^INTHL7F(17020,5)\\60\"OUTPUT TRANSFORM"
- +159 SET D0=INDA
- SET X="OUTPUT TRANSFORM"
- +160 SET X1="^INTHL7F(17020,5)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,60)
- +161 SET @INV@("RCP3")=X
- KILL DXS,D0
- +162 IF 'INVS
- DO MC^INHS
- +163 KILL LINE
- SET LINE=""
- SET CP=0
- SET L1="RCP"
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,1,L1,.CP)
- SET L1=$GET(@INV@("RCP1"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- +164 DO SETPIECE^INHU(.LINE,DELIM,2,L1,.CP)
- SET L1=$GET(@INV@("RCP2"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,3,L1,.CP)
- SET L1=$GET(@INV@("RCP3"))
- +165 IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,4,L1,.CP)
- +166 SET LCT=LCT+1
- SET ^UTILITY("INH",$JOB,LCT)=LINE
- IF $DATA(LINE)>9
- MERGE ^UTILITY("INH",$JOB,LCT)=LINE
- +167 IF 'INVS
- DO MC^INHS
- +168 ;Entering END section.
- +169 IF $GET(INSTERR)
- QUIT $SELECT($GET(INREQERR)>INSTERR:INREQERR,1:INSTERR)
- +170 SET UIF=$$NEWO^INHD(INDEST,"^UTILITY(""INH"",$J)",+$PIECE($GET(^INRHT(INTT,0)),U,12),INTT,MESSID,$GET(INQUE),$GET(INORDUZ),$GET(INORDIV),.INUIF6,.INUIF7,$GET(INA("INMIDGEN")))
- +171 IF UIF<0
- DO ERROR^INHS("UIF creation failed",2)
- QUIT 2
- +172 QUIT 0