1 | LREPI3 ;DALOI/SED-EMERGING PATHOGENS HL7 SEGMENTS ;5/21/98
|
---|
2 | ;;5.2;LAB SERVICE;**132,175,260,281,320**;Sep 27, 1994
|
---|
3 | ; Reference to ^DGPT supported by IA #418
|
---|
4 | ; Reference to ^SC supported by IA #10040
|
---|
5 | ; Reference to ^DIC(21 supported by IA #4280
|
---|
6 | ; Reference to ^ICD9 supported by IA #10082
|
---|
7 | ; Reference to ICN supported by IA #2701
|
---|
8 | ; Reference to VAFHLPID supported by IA # 263
|
---|
9 | ; Reference to VAFHLPV1 supporte by IA # 3018
|
---|
10 | ; Reference to ^DIC(5 supported by IA # 10056
|
---|
11 | ; Reference to $$HOMELESS supported by IA #1528
|
---|
12 | ; Reference to VADPT suppoted by IA #10061
|
---|
13 | ; Reference to ^AUPNVPOV supported by IA # 3094
|
---|
14 | ; Reference to ^AUPNVSIT supported by IA #3530
|
---|
15 | ; Reference to $$STA^XUAF4(IEN) supported by IA #2171
|
---|
16 | ; Reference to $$PTR2CODE^DGUTL4 supported by IA #3799
|
---|
17 | NTE ;TO BUILD THE NTE SEGMENT TO DEFINE THE EPI
|
---|
18 | S LRDATA="NTE"_HLFS_LRNTE_HLFS_$P(^LAB(69.5,LRPATH,0),U,9)_LRCS_$P(^LAB(69.5,LRPATH,0),U,1)
|
---|
19 | S LRCNT=LRCNT+1,^TMP("HLS",$J,LRCNT)=$$UP^XLFSTR(LRDATA)
|
---|
20 | S ^TMP("LREPIREP",$J,LRCNT)=$$UP^XLFSTR(LRDATA)
|
---|
21 | S LRMSGSZ=LRMSGSZ+$L(LRDATA)
|
---|
22 | S LRNTE=LRNTE+1
|
---|
23 | Q
|
---|
24 | DG1 ;BUILD THE DG1 FOR ICD9 CODES
|
---|
25 | K ^TMP($J,"DG1")
|
---|
26 | S IFN=+$G(^TMP($J,LRPROT,DFN,LRENDT,LRPATH,LRINVD,LRND))
|
---|
27 | DG11 Q:+IFN'>0
|
---|
28 | Q:'$D(^DGPT(IFN))
|
---|
29 | ;SEARCH FOR LEGIONAIRS HERE
|
---|
30 | I $P($G(^DGPT(IFN,300)),U,3)=1 D
|
---|
31 | .S ICD9=$O(^ICD9("BA","482.80 ",0)) Q:+ICD9'>0
|
---|
32 | .S ^TMP($J,"DG1",ICD9)=$P($G(^DGPT(IFN,70)),"^",10)_"^"_$$HLDATE^HLFNC($P($G(^DGPT(IFN,0)),"^",2))
|
---|
33 | I $D(^DGPT(IFN,70)) F LRI=10,11,16:1:24 D
|
---|
34 | .S ICD9=$P(^DGPT(IFN,70),U,LRI) Q:+ICD9'>0
|
---|
35 | .S ^TMP($J,"DG1",ICD9)=$P($G(^DGPT(IFN,70)),"^",10)_"^"_$$HLDATE^HLFNC($P($G(^DGPT(IFN,0)),"^",2))
|
---|
36 | ;SEARCH SUB FIELDS
|
---|
37 | S LRMV=0 F S LRMV=$O(^DGPT(IFN,"M",LRMV)) Q:+LRMV'>0 D
|
---|
38 | .;SEARCH FOR LEGIONAIRS HERE IN SUB FILE
|
---|
39 | .I $P($G(^DGPT(IFN,"M",LRMV,300)),U,3)=1 D
|
---|
40 | ..S ICD9=$O(^ICD9("BA","482.80 ",0)) Q:+ICD9'>0
|
---|
41 | ..S ^TMP($J,"DG1",ICD9)=$P($G(^DGPT(IFN,70)),"^",10)_"^"_$$HLDATE^HLFNC($P($G(^DGPT(IFN,0)),"^",2))
|
---|
42 | .I $D(^DGPT(IFN,"M",LRMV,0)) F LRI=5:1:9,11:1:15 D
|
---|
43 | ..S ICD9=$P(^DGPT(IFN,"M",LRMV,0),U,LRI) Q:+ICD9'>0
|
---|
44 | ..S ^TMP($J,"DG1",ICD9)=$P($G(^DGPT(IFN,70)),"^",10)_"^"_$$HLDATE^HLFNC($P($G(^DGPT(IFN,0)),"^",2))
|
---|
45 | Q:'$D(^TMP($J,"DG1"))
|
---|
46 | BLD S ICD9=0 F S ICD9=$O(^TMP($J,"DG1",ICD9)) Q:+ICD9'>0 D
|
---|
47 | .S:'$D(DGCNT) DGCNT=1
|
---|
48 | .K LRDATA
|
---|
49 | .S LRDATA="DG1"_HLFS_DGCNT_HLFS_HLFS_$P(^ICD9(ICD9,0),U,1)
|
---|
50 | .S LRDATA=LRDATA_LRCS_$P(^ICD9(ICD9,0),U,3)_LRCS_"I9"
|
---|
51 | .I LRPROT=LRPROTX S LRDATA=LRDATA_HLFS_$P(^TMP($J,"DG1",ICD9),"^",2)_HLFS_HLFS_$S(ICD9=$P(^TMP($J,"DG1",ICD9),"^"):"PR",1:"")
|
---|
52 | .S ^TMP("HL7",$J,DGCNT)=$$UP^XLFSTR(LRDATA),DGCNT=DGCNT+1
|
---|
53 | K ^TMP($J,"DG1"),LRDATA,DGCNT,ICD9,LRMV
|
---|
54 | Q
|
---|
55 | PID ;TO BUILD PID SEGMENT
|
---|
56 | K MSG
|
---|
57 | S FLDS="1,2,3,5,7,8,10BT,19,22BT" S MSG=$$EN^VAFHLPID(DFN,FLDS,LRPID)
|
---|
58 | ;MADE CHANGE FOR PID SEGMENTS TOO LONG;CKA;06/30/04
|
---|
59 | D DEM^VADPT
|
---|
60 | I $D(VAFPID(1)) D
|
---|
61 | .S $P(MSG,HLFS,11)=VADM(12),MSG=MSG_VAFPID(1),$P(MSG,HLFS,23)=VADM(11)
|
---|
62 | S ICN=$$GETICN^MPIF001(DFN)
|
---|
63 | S:ICN<0 $P(MSG,HLFS,4)=$P(MSG,HLFS,4)_LRCS_""""""_LRCS_"VAMPI"
|
---|
64 | S:ICN>0 $P(MSG,HLFS,4)=$P(MSG,HLFS,4)_LRCS_ICN_LRCS_"VAMPI"
|
---|
65 | ;ADDITIONAL DATA ADDED HERE HOMELESSNESS
|
---|
66 | S:$$HOMELESS^SOWKHIRM(DFN) $P(MSG,HLFS,12)="HOMELESS"
|
---|
67 | ;NOW GET PERIOD OF SERVICE
|
---|
68 | K VAEL D ELIG^VADPT
|
---|
69 | S:$G(VAEL(2))'="" $P(MSG,HLFS,28)=$P($G(^DIC(21,+VAEL(2),0)),U,3)
|
---|
70 | K VAEL
|
---|
71 | ;GET ZIP IF THERE
|
---|
72 | K VAPA D ADD^VADPT
|
---|
73 | S $P(MSG,HLFS,12)=$P(MSG,HLFS,12)_LRCS_LRCS_LRCS_VAPA(5)_LRCS_$G(VAPA(6))_LRCS_LRCS_LRCS_LRCS
|
---|
74 | I VAPA(7)'="",VAPA(5)'="" S CTY=$P(VAPA(7),U,2),CTYN=$P(VAPA(7),U) I CTYN'="" S CTYCD=$P($G(^DIC(5,$P(VAPA(5),U),1,CTYN,0)),U,3) D
|
---|
75 | .S $P(MSG,HLFS,12)=$P(MSG,HLFS,12)_$G(CTYCD)_"^"_$G(CTY)
|
---|
76 | K VAPA,CTY,CTYN,CTYCD,LRRACE
|
---|
77 | I $P(MSG,HLFS,12)="~~~~~~~~" S $P(MSG,HLFS,12)=""
|
---|
78 | S LRRACE=$$PTR2CODE^DGUTL4($P(VADM(8),U))
|
---|
79 | I $L(MSG)>245 D
|
---|
80 | .S $P(MSG,HLFS,11)=VADM(12),$P(MSG,HLFS,23)=VADM(11)
|
---|
81 | S:$P(MSG,HLFS,11)="""""~""""~0005~""""~""""~CDC" $P(MSG,HLFS,11)=""
|
---|
82 | S:$P(MSG,HLFS,23)="""""~""""~0189~""""~""""~CDC" $P(MSG,HLFS,23)=""
|
---|
83 | S $P(MSG,HLFS,11)=LRRACE_"~"_$P(MSG,HLFS,11)
|
---|
84 | I $P(MSG,HLFS,11)="~" S $P(MSG,HLFS,11)=""
|
---|
85 | S LRPID=LRPID+1,LRCNT=LRCNT+1,^TMP("HLS",$J,LRCNT)=$$UP^XLFSTR(MSG)
|
---|
86 | S ^TMP("LREPIREP",$J,LRCNT)=$$UP^XLFSTR(MSG)
|
---|
87 | S LRMSGSZ=LRMSGSZ+$L(MSG)
|
---|
88 | K FLDS,VAEL,ICN,VAFPID,VADM
|
---|
89 | Q
|
---|
90 | PV1 ;TO BUILD PV1 SEGMENT
|
---|
91 | K PTF,Y,C,LRDATA,MSG,LRPATLOC
|
---|
92 | S LRDATA=""
|
---|
93 | I $P(^TMP($J,LRPROT,DFN,LRENDT),U)="I" D
|
---|
94 | .S FLDS="1,2,3,36,39,44,45" S LRDATA=$$IN^VAFHLPV1(DFN,LRENDT,FLDS,"","","","")
|
---|
95 | I $P(LRDATA,HLFS)="" S $P(LRDATA,HLFS)="PV1"
|
---|
96 | S $P(LRDATA,HLFS,2)=LRPV1
|
---|
97 | S $P(LRDATA,HLFS,7)=""
|
---|
98 | S $P(LRDATA,HLFS,3)=$P(^TMP($J,LRPROT,DFN,LRENDT),U)
|
---|
99 | I $P(LRDATA,HLFS,3)="O" D
|
---|
100 | .S LRPATLOC=$P(^TMP($J,LRPROT,DFN,LRENDT),U,2)
|
---|
101 | .S LRFILE=$P(LRPATLOC,";",2)
|
---|
102 | .S LRIFN=$P(LRPATLOC,";")
|
---|
103 | .I LRFILE="SC(" D
|
---|
104 | ..I $P($G(^SC(LRIFN,0)),U,4)'="" D
|
---|
105 | ...S LRPATLOC=$$STA^XUAF4($P($G(^SC(LRIFN,0)),U,4))
|
---|
106 | .I LRFILE="DIC(4" D
|
---|
107 | ..I $$STA^XUAF4(LRIFN)'="" D
|
---|
108 | ...S LRPATLOC=$$STA^XUAF4(LRIFN)
|
---|
109 | .S $P(LRDATA,HLFS,39)=LRPATLOC
|
---|
110 | .K LRPATLOC,LRFILE,LRIFN
|
---|
111 | S:$P(^TMP($J,LRPROT,DFN,LRENDT),U,3)="UPDT" $P(LRDATA,HLFS,3)="U"
|
---|
112 | S $P(LRDATA,HLFS,45)=$$HLDATE^HLFNC(LRENDT)
|
---|
113 | S:$P(LRDATA,HLFS,46)="""""" $P(LRDATA,HLFS,46)=""
|
---|
114 | ;MADE CHANGE FOR FUTURE DISCHARGE DATES;CKA 6/30/2004
|
---|
115 | S:$P(LRDATA,HLFS,46)>LRRPE $P(LRDATA,HLFS,46)=""
|
---|
116 | S PTF=$P(^TMP($J,LRPROT,DFN,LRENDT),U,2) I +PTF>0 D
|
---|
117 | .Q:'$D(^DGPT(PTF,0))
|
---|
118 | .Q:$P(^DGPT(PTF,0),U,6)'=3
|
---|
119 | .Q:'$D(^DGPT(PTF,70))
|
---|
120 | .I +$P(^DGPT(PTF,70),U)>0,+$P(^DGPT(PTF,70),U)<LRRPE S $P(LRDATA,HLFS,46)=$$HLDATE^HLFNC($P(^DGPT(PTF,70),U))
|
---|
121 | .S (Y,LRDTY)=$P(^DGPT(PTF,70),U,3)
|
---|
122 | .Q:+Y'>0
|
---|
123 | .S Y=$$EXTERNAL^DILFD(45,72,,Y) ;removed direct reference to ^DD(45,72
|
---|
124 | .;S C=$P(^DD(45,72,0),U,2) D Y^DIQ ;RLM
|
---|
125 | .S $P(LRDATA,HLFS,37)=LRDTY_LRCS_Y_LRCS_"VA45"
|
---|
126 | .S $P(LRDATA,HLFS,40)=$P(^DGPT(PTF,0),U,3)
|
---|
127 | S LRCNT=LRCNT+1,^TMP("HLS",$J,LRCNT)=$$UP^XLFSTR(LRDATA),LRPV1=LRPV1+1
|
---|
128 | S ^TMP("LREPIREP",$J,LRCNT)=$$UP^XLFSTR(LRDATA)
|
---|
129 | S LRMSGSZ=LRMSGSZ+$L(LRDATA)
|
---|
130 | I $P(LRDATA,HLFS,3)="O" D D MOVE^LREPI2
|
---|
131 | .S VIFN=0
|
---|
132 | .F S VIFN=$O(^AUPNVPOV("AA",DFN,9999999-$P(LRENDT,"."),VIFN)) Q:+VIFN'>0 D
|
---|
133 | ..S LRVISIT=$P(^AUPNVSIT($P(^AUPNVPOV(VIFN,0),U,3),812),U,2)
|
---|
134 | ..I LRVISIT'=26 S LRVISIT=0 Q
|
---|
135 | ..S ICD9N=$P($G(^AUPNVPOV(VIFN,0)),U)
|
---|
136 | ..Q:ICD9N=""
|
---|
137 | ..S ICD9=$P(^ICD9(ICD9N,0),U)
|
---|
138 | ..S:'$D(DGCNT) DGCNT=1
|
---|
139 | ..S LRDATA="DG1"_HLFS_DGCNT_HLFS_HLFS_ICD9
|
---|
140 | ..S LRDATA=LRDATA_LRCS_$P(^ICD9(ICD9N,0),U,3)_LRCS_"I9"
|
---|
141 | ..S LRDATA=LRDATA_HLFS_$$HLDATE^HLFNC(LRENDT)_HLFS_HLFS_$S($P(^AUPNVPOV(VIFN,0),U,12)="P":"PR",1:"")
|
---|
142 | ..S ^TMP("HL7",$J,DGCNT)=$$UP^XLFSTR(LRDATA)
|
---|
143 | .. S DGCNT=DGCNT+1
|
---|
144 | K DGCNT,VIFN,ICD9N,ICD9,LRDATA,LRVISIT
|
---|
145 | Q:$G(PTF)'>0
|
---|
146 | Q:'$D(^DGPT(PTF,0))
|
---|
147 | Q:$P(^DGPT(PTF,0),U,6)'=3
|
---|
148 | S IFN=PTF D DG11
|
---|
149 | D MOVE^LREPI2
|
---|
150 | K PTF,Y,C,LRDATA,LRDTY,IFN,ICD9,ICD9N,LROLLOC,VIFN
|
---|
151 | Q
|
---|
152 | ;
|
---|