- IS00024(INTT,INDA,INA,INDEST,INQUE,INORDUZ,INORDIV) ;Compiled from script 'Generated: HL IHS IZV04 V01VXQ OUT-O' on AUG 15, 2018
- ;Part 1
- ;Copyright 2018 SAIC
- EN S X="ERROR^IS00024",@^%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="12440"
- 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 QRD^BYIMSEGS
- ;SET QRD1 = INSGX\^INTHL7FT(1,3)\\26\@QRD1
- S D0=INDA S X=$G(INA("QRD1"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,26)
- S @INV@("QRD1")=X K DXS,D0
- ;SET QRD2 = INSGX\^INTHL7FT(1,3)\\1\"R"
- S D0=INDA S X="R"
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,1)
- S @INV@("QRD2")=X K DXS,D0
- ;SET QRD3 = INSGX\^INTHL7FT(1,3)\\1\"I"
- S D0=INDA S X="I"
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,1)
- S @INV@("QRD3")=X K DXS,D0
- ;SET QRD4 = INSGX\^INTHL7FT(1,3)\\100\@QRD4
- S D0=INDA S X=$G(INA("QRD4"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,100)
- S @INV@("QRD4")=X K DXS,D0
- ;SET QRD7 = INSGX\^INTHL7FT(1,3)\\10\@QRD7
- S D0=INDA S X=$G(INA("QRD7"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,10)
- S @INV@("QRD7")=X K DXS,D0
- ;SET QRD8 = @QRD8
- S D0=INDA S X=$G(INA("QRD8"))
- S @INV@("QRD8")=X K DXS,D0
- ;SET QRD9 = INSGX\^INTHL7FT(1,3)\\60\@QRD9
- S D0=INDA S X=$G(INA("QRD9"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,60)
- S @INV@("QRD9")=X K DXS,D0
- ;SET QRD10 = INSGX\^INTHL7FT(17,3)\\60\@QRD10
- S D0=INDA S X=$G(INA("QRD10"))
- S X1="^INTHL7FT(17,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,60)
- S @INV@("QRD10")=X K DXS,D0
- ;SET QRD12 = INSGX\^INTHL7FT(1,3)\\1\"T"
- S D0=INDA S X="T"
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,1)
- S @INV@("QRD12")=X K DXS,D0
- D:'INVS MC^INHS
- K LINE S LINE="",CP=0 S L1="QRD" S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,1,L1,.CP) S L1=$G(@INV@("QRD1")) S:$TR(L1,$G(SUBDELIM))="" L1=""
- D SETPIECE^INHU(.LINE,DELIM,2,L1,.CP) S L1=$G(@INV@("QRD2")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,3,L1,.CP) S L1=$G(@INV@("QRD3"))
- S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,4,L1,.CP) S L1=$G(@INV@("QRD4")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,5,L1,.CP)
- S L1=$G(@INV@("QRD7")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,8,L1,.CP)
- S D0=INDA S X=@INV@("QRD8"),Y(1)=$G(X) S X=1,Y(2)=$G(X) S X=100,X=$E(Y(1),Y(2),X) S L1=X
- S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,9,L1,.CP) S L1=$G(@INV@("QRD9")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,10,L1,.CP)
- S L1=$G(@INV@("QRD10")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,11,L1,.CP) S L1=$G(@INV@("QRD12")) S:$TR(L1,$G(SUBDELIM))="" L1=""
- D SETPIECE^INHU(.LINE,DELIM,13,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 QRF^BYIMSEG1
- ;SET QRF1 = INSGX\^INTHL7FT(1,3)\\20\@QRF1
- S D0=INDA S X=$G(INA("QRF1"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,20)
- S @INV@("QRF1")=X K DXS,D0
- ;SET QRF5 = INSGX\^INTHL7FT(1,3)\\240\@QRF5
- S D0=INDA S X=$G(INA("QRF5"))
- S X1="^INTHL7FT(1,3)" X:$L($G(@X1)) $G(@X1) S X=$E(X,1,240)
- S @INV@("QRF5")=X K DXS,D0
- D:'INVS MC^INHS
- K LINE S LINE="",CP=0 S L1="QRF" S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,1,L1,.CP) S L1=$G(@INV@("QRF1")) S:$TR(L1,$G(SUBDELIM))="" L1=""
- D SETPIECE^INHU(.LINE,DELIM,2,L1,.CP) S L1=$G(@INV@("QRF5")) S:$TR(L1,$G(SUBDELIM))="" L1="" D SETPIECE^INHU(.LINE,DELIM,6,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
- IS00024(INTT,INDA,INA,INDEST,INQUE,INORDUZ,INORDIV) ;Compiled from script 'Generated: HL IHS IZV04 V01VXQ OUT-O' on AUG 15, 2018
- +1 ;Part 1
- +2 ;Copyright 2018 SAIC
- EN SET X="ERROR^IS00024"
- 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="12440"
- +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 QRD^BYIMSEGS
- +91 ;SET QRD1 = INSGX\^INTHL7FT(1,3)\\26\@QRD1
- +92 SET D0=INDA
- SET X=$GET(INA("QRD1"))
- +93 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,26)
- +94 SET @INV@("QRD1")=X
- KILL DXS,D0
- +95 ;SET QRD2 = INSGX\^INTHL7FT(1,3)\\1\"R"
- +96 SET D0=INDA
- SET X="R"
- +97 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,1)
- +98 SET @INV@("QRD2")=X
- KILL DXS,D0
- +99 ;SET QRD3 = INSGX\^INTHL7FT(1,3)\\1\"I"
- +100 SET D0=INDA
- SET X="I"
- +101 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,1)
- +102 SET @INV@("QRD3")=X
- KILL DXS,D0
- +103 ;SET QRD4 = INSGX\^INTHL7FT(1,3)\\100\@QRD4
- +104 SET D0=INDA
- SET X=$GET(INA("QRD4"))
- +105 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,100)
- +106 SET @INV@("QRD4")=X
- KILL DXS,D0
- +107 ;SET QRD7 = INSGX\^INTHL7FT(1,3)\\10\@QRD7
- +108 SET D0=INDA
- SET X=$GET(INA("QRD7"))
- +109 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,10)
- +110 SET @INV@("QRD7")=X
- KILL DXS,D0
- +111 ;SET QRD8 = @QRD8
- +112 SET D0=INDA
- SET X=$GET(INA("QRD8"))
- +113 SET @INV@("QRD8")=X
- KILL DXS,D0
- +114 ;SET QRD9 = INSGX\^INTHL7FT(1,3)\\60\@QRD9
- +115 SET D0=INDA
- SET X=$GET(INA("QRD9"))
- +116 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,60)
- +117 SET @INV@("QRD9")=X
- KILL DXS,D0
- +118 ;SET QRD10 = INSGX\^INTHL7FT(17,3)\\60\@QRD10
- +119 SET D0=INDA
- SET X=$GET(INA("QRD10"))
- +120 SET X1="^INTHL7FT(17,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,60)
- +121 SET @INV@("QRD10")=X
- KILL DXS,D0
- +122 ;SET QRD12 = INSGX\^INTHL7FT(1,3)\\1\"T"
- +123 SET D0=INDA
- SET X="T"
- +124 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,1)
- +125 SET @INV@("QRD12")=X
- KILL DXS,D0
- +126 IF 'INVS
- DO MC^INHS
- +127 KILL LINE
- SET LINE=""
- SET CP=0
- SET L1="QRD"
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,1,L1,.CP)
- SET L1=$GET(@INV@("QRD1"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- +128 DO SETPIECE^INHU(.LINE,DELIM,2,L1,.CP)
- SET L1=$GET(@INV@("QRD2"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,3,L1,.CP)
- SET L1=$GET(@INV@("QRD3"))
- +129 IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,4,L1,.CP)
- SET L1=$GET(@INV@("QRD4"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,5,L1,.CP)
- +130 SET L1=$GET(@INV@("QRD7"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,8,L1,.CP)
- +131 SET D0=INDA
- SET X=@INV@("QRD8")
- SET Y(1)=$GET(X)
- SET X=1
- SET Y(2)=$GET(X)
- SET X=100
- SET X=$EXTRACT(Y(1),Y(2),X)
- SET L1=X
- +132 IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,9,L1,.CP)
- SET L1=$GET(@INV@("QRD9"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,10,L1,.CP)
- +133 SET L1=$GET(@INV@("QRD10"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,11,L1,.CP)
- SET L1=$GET(@INV@("QRD12"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- +134 DO SETPIECE^INHU(.LINE,DELIM,13,L1,.CP)
- +135 SET LCT=LCT+1
- SET ^UTILITY("INH",$JOB,LCT)=LINE
- IF $DATA(LINE)>9
- MERGE ^UTILITY("INH",$JOB,LCT)=LINE
- +136 SET INSETID=0
- +137 DO QRF^BYIMSEG1
- +138 ;SET QRF1 = INSGX\^INTHL7FT(1,3)\\20\@QRF1
- +139 SET D0=INDA
- SET X=$GET(INA("QRF1"))
- +140 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,20)
- +141 SET @INV@("QRF1")=X
- KILL DXS,D0
- +142 ;SET QRF5 = INSGX\^INTHL7FT(1,3)\\240\@QRF5
- +143 SET D0=INDA
- SET X=$GET(INA("QRF5"))
- +144 SET X1="^INTHL7FT(1,3)"
- IF $LENGTH($GET(@X1))
- XECUTE $GET(@X1)
- SET X=$EXTRACT(X,1,240)
- +145 SET @INV@("QRF5")=X
- KILL DXS,D0
- +146 IF 'INVS
- DO MC^INHS
- +147 KILL LINE
- SET LINE=""
- SET CP=0
- SET L1="QRF"
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,1,L1,.CP)
- SET L1=$GET(@INV@("QRF1"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- +148 DO SETPIECE^INHU(.LINE,DELIM,2,L1,.CP)
- SET L1=$GET(@INV@("QRF5"))
- IF $TRANSLATE(L1,$GET(SUBDELIM))=""
- SET L1=""
- DO SETPIECE^INHU(.LINE,DELIM,6,L1,.CP)
- +149 SET LCT=LCT+1
- SET ^UTILITY("INH",$JOB,LCT)=LINE
- IF $DATA(LINE)>9
- MERGE ^UTILITY("INH",$JOB,LCT)=LINE
- +150 IF 'INVS
- DO MC^INHS
- +151 ;Entering END section.
- +152 IF $GET(INSTERR)
- QUIT $SELECT($GET(INREQERR)>INSTERR:INREQERR,1:INSTERR)
- +153 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")))
- +154 IF UIF<0
- DO ERROR^INHS("UIF creation failed",2)
- QUIT 2
- +155 QUIT 0