1 | LREPIRP2 ;DALOI/CKA-EMERGING PATHOGENS HL7 REPORT CONVERSION ;5/14/2003
|
---|
2 | ;;5.2;LAB SERVICE;**281**;Sep 27, 1994
|
---|
3 | ; Reference to ^DIC(21 supported by IA #913
|
---|
4 | Q
|
---|
5 | ;NTE findings of 1,3,4,5,6,8, or 10
|
---|
6 | ;Read through the TMP($,"RPT"
|
---|
7 | ;Save in ^XTMP("LREPIREP"_date,path,dfn,"PID")
|
---|
8 | ; ^XTMP("LREPIREP"_date,path,dfn,"PV1",#)
|
---|
9 | ; ^XTMP("LREPIREP"_date,path,dfn,"PV1",#,"OBR",#)
|
---|
10 | ; ^XTMP("LREPIREP"_date,path,dfn,"PV1",#,"OBR",#,"OBX",#)
|
---|
11 | ;save PID, PV1, OBR, and OBX data in ^XTMP.
|
---|
12 | Q
|
---|
13 | PID ;PATIENT INFO
|
---|
14 | S NM=$P(LRTMP,HLFS,6),SSN=$P(LRTMP,HLFS,20)
|
---|
15 | S SSN=$E(SSN,6,9)
|
---|
16 | S DOB=$$CDT($P(LRTMP,HLFS,8)),NM=$P(NM,LRCS,2)_" "_$P(NM,LRCS,1)
|
---|
17 | S SX=$P(LRTMP,HLFS,9),AD=$P($P(LRTMP,HLFS,12),LRCS,1)
|
---|
18 | S ZP=$P($P(LRTMP,HLFS,12),LRCS,2),POS=$P(LRTMP,HLFS,28),POSN=""
|
---|
19 | I POS'="",$D(^DIC(21,"D",POS)) S POS=$O(^DIC(21,"D",POS,""))
|
---|
20 | S:POS'="" POSN=$P($G(^DIC(21,POS,0)),U,1)
|
---|
21 | S MSG=NM_$E(LRSP,1,30-$L(NM))_SSN_$E(LRSP,1,7-$L(SSN))_DOB_$E(LRSP,1,11-$L(DOB))_SX_$E(LRSP,1,3-$L(SX))
|
---|
22 | S:POSN'="" MSG=MSG_" "_POSN
|
---|
23 | S MSG=MSG_" "_AD_" "_ZP
|
---|
24 | S ^XTMP("LREPIREP"_LRDATE,LRTYPE,DFN,"PID")=MSG
|
---|
25 | K NM,DOB,SX,POS,AD,ZP,POSN
|
---|
26 | Q
|
---|
27 | PV1 ;PATIENT VISIT ENCOUNTER
|
---|
28 | S TYPE=$P(LRTMP,HLFS,3)
|
---|
29 | S ENC=$S(TYPE="O":"Accession ",1:"Admission ")_"Date: "
|
---|
30 | S TYPE=$S(TYPE="U":"Update",TYPE="I":"Inpatient",1:"Outpatient")
|
---|
31 | S MSG=TYPE_" "_ENC_$$CDT($P(LRTMP,HLFS,45))
|
---|
32 | I TYPE="Inpatient" D
|
---|
33 | .S MSG=MSG_" Discharge Date: "_$S($P(LRTMP,HLFS,46)="":"",1:$$CDT($P(LRTMP,HLFS,46)))
|
---|
34 | .S MSG=MSG_" Discharge Disposition: "_$P($P(LRTMP,HLFS,37),LRCS,2)
|
---|
35 | S ^XTMP("LREPIREP"_LRDATE,LRTYPE,DFN,"PV1",LRPV1)=MSG
|
---|
36 | K TYPE
|
---|
37 | Q
|
---|
38 | CDT(DATE) ;CONVERTS THE DATE AND TIME
|
---|
39 | S X=$E(DATE,5,6)_"-"_$E(DATE,7,8)_"-"_$E(DATE,1,4)
|
---|
40 | S:$E(DATE,9,12)'="" X=X_"@"_$E(DATE,9,12)
|
---|
41 | S:X="--" X=""
|
---|
42 | Q X
|
---|
43 | OBR ;OBSERVATION REPORTING
|
---|
44 | S TST=$P(LRTMP,HLFS,5),TSTNM=$P(TST,LRCS,2),MSG=""
|
---|
45 | S:TSTNM="" TSTNM=$P(TST,LRCS,5)
|
---|
46 | S TOP=$P($P(LRTMP,HLFS,16),LRCS,3)
|
---|
47 | S ENTRY=$P($P(LRTMP,HLFS,27),LRCS,2)
|
---|
48 | S:+ENTRY MSG="ORG # "_ENTRY_" "
|
---|
49 | S MSG=MSG_$$CDT($P(LRTMP,HLFS,8))_" "
|
---|
50 | S LRACCDT=$$CDT($P(LRTMP,HLFS,8))
|
---|
51 | S:$P(LRTMP,HLFS,19)'="" MSG=MSG_$P(LRTMP,HLFS,19)_" "
|
---|
52 | S MSG=MSG_TSTNM_" "_TOP
|
---|
53 | S ^XTMP("LREPIREP"_LRDATE,LRTYPE,DFN,"PV1",LRPV1,"OBR",LROBR)=MSG
|
---|
54 | K TST,TSTNM,TOP,ENTRY
|
---|
55 | Q
|
---|
56 | OBX ;RESULTS
|
---|
57 | I $P(LRTMP,HLFS,3)="ST" D
|
---|
58 | .S TST=$P(LRTMP,HLFS,4),TSTNM=$P(TST,LRCS,2)
|
---|
59 | .S:TSTNM="" TSTNM=$P(TST,LRCS,5)
|
---|
60 | .S OV=$P(LRTMP,HLFS,6)
|
---|
61 | I $P(LRTMP,HLFS,3)="CE" D
|
---|
62 | .S TSTNM=""
|
---|
63 | .S OV=$P($P(LRTMP,HLFS,6),LRCS,2)
|
---|
64 | S MSG="",ENTRY=$P(LRTMP,HLFS,5) S:+ENTRY MSG=ENTRY_" "
|
---|
65 | S MSG=MSG_TSTNM_$E(LRSP,1,30-$L(TSTNM))
|
---|
66 | S FD=$$CDT($P(LRTMP,HLFS,15)),RR=$P(LRTMP,HLFS,8)
|
---|
67 | S UN=$P(LRTMP,HLFS,7),AF=""
|
---|
68 | S MSG=" "_MSG_FD_" "_OV_$E(LRSP,1,10-$L(OV))_UN_$E(LRSP,1,10-$L(UN))_RR
|
---|
69 | S MSG=MSG_$E(LRSP,1,(40-$L(MSG)))_$P(LRTMP,HLFS,9)
|
---|
70 | S ^XTMP("LREPIREP"_LRDATE,LRTYPE,DFN,"PV1",LRPV1,"OBR",LROBR,"OBX",LROBX)=MSG
|
---|
71 | Q
|
---|