1 | LREPIRS3 ;DALOI/CKA-EMERGING PATHOGENS LOCAL REPORT-GENERATE SPSHT ;9/9/03
|
---|
2 | ;;5.2;LAB SERVICE;**281**;Sep 27, 1994
|
---|
3 | ; Reference to ^DIC(21 supported by IA #913
|
---|
4 | Q
|
---|
5 | SPSHT ;
|
---|
6 | S X1=DT,X2=180 D C^%DTC
|
---|
7 | S ^XTMP("LREPILOCALSPSHT"_LRLRDT,0)=X_"^"_DT_"^EPI Local Report generation^"_$S($D(DUZ):DUZ,1:"UNKNOWN")
|
---|
8 | HDG1 ;
|
---|
9 | S LRHDG="",LRLC=1,LRX=0
|
---|
10 | I $D(LRSEG("PID")) S LRX("PID")=LRX,LRHDG="|"_LRX("PID")_"| |"
|
---|
11 | I $D(LRSEG("PID",1)) S LRHDG=LRHDG_"PID|"
|
---|
12 | I $D(LRSEG("PID",2)) S LRHDG=LRHDG_"SSN|"
|
---|
13 | I $D(LRSEG("PID",3)) S LRHDG=LRHDG_"MPI|"
|
---|
14 | I $D(LRSEG("PID",4)) S LRHDG=LRHDG_"Patient Name|"
|
---|
15 | I $D(LRSEG("PID",5)) S LRHDG=LRHDG_"Date of Birth|"
|
---|
16 | I $D(LRSEG("PID",6)) S LRHDG=LRHDG_"Sex|"
|
---|
17 | I $D(LRSEG("PID",7)) S LRHDG=LRHDG_"Race|"
|
---|
18 | I $D(LRSEG("PID",8)) S LRHDG=LRHDG_"Homeless|"
|
---|
19 | I $D(LRSEG("PID",9)) S LRHDG=LRHDG_"State|"
|
---|
20 | I $D(LRSEG("PID",10)) S LRHDG=LRHDG_"Zip|"
|
---|
21 | I $D(LRSEG("PID",11)) S LRHDG=LRHDG_"County|"
|
---|
22 | I $D(LRSEG("PID",12)) S LRHDG=LRHDG_"Ethnicity|"
|
---|
23 | I $D(LRSEG("PID",13)) S LRHDG=LRHDG_"POS|"
|
---|
24 | I LRHDG]"" S ^XTMP("LREPILOCALSPSHT"_LRLRDT,LRLC)=LRHDG S LRHDG="" S LRLC=LRLC+1
|
---|
25 | I $D(LRSEG("PV1")) S LRX=LRX+1,LRX("PV1")=LRX,LRHDG="|"_LRX_"| |"
|
---|
26 | I $D(LRSEG("PV1",1)) S LRHDG=LRHDG_"PV1|"
|
---|
27 | I $D(LRSEG("PV1",2)) S LRHDG=LRHDG_"Patient Class|"
|
---|
28 | I $D(LRSEG("PV1",3)) S LRHDG=LRHDG_"Hospital Location|"
|
---|
29 | I $D(LRSEG("PV1",4)) S LRHDG=LRHDG_"Discharge Disposition|"
|
---|
30 | I $D(LRSEG("PV1",5)) S LRHDG=LRHDG_"Facility|"
|
---|
31 | I $D(LRSEG("PV1",6)) S LRHDG=LRHDG_"Admit Date/Time|"
|
---|
32 | I $D(LRSEG("PV1",7)) S LRHDG=LRHDG_"Discharge Date/Time|"
|
---|
33 | I LRHDG]"" S ^XTMP("LREPILOCALSPSHT"_LRLRDT,LRLC)=LRHDG S LRHDG="" S LRLC=LRLC+1
|
---|
34 | I $D(LRSEG("DG1")) S LRX=LRX+1,LRX("DG1")=LRX,LRHDG="|"_LRX_"| |"
|
---|
35 | I $D(LRSEG("DG1",1)) S LRHDG=LRHDG_"DG1|"
|
---|
36 | I $D(LRSEG("DG1",2)) S LRHDG=LRHDG_"Diagnosis Code|"
|
---|
37 | I $D(LRSEG("DG1",3)) S LRHDG=LRHDG_"Diagnosis|"
|
---|
38 | I $D(LRSEG("DG1",4)) S LRHDG=LRHDG_"Admission Date|"
|
---|
39 | I LRHDG]"" S ^XTMP("LREPILOCALSPSHT"_LRLRDT,LRLC)=LRHDG S LRHDG="" S LRLC=LRLC+1
|
---|
40 | I $D(LRSEG("NTE")) S LRX=LRX+1,LRX("NTE")=LRX,LRHDG="|"_LRX_"| |"
|
---|
41 | I $D(LRSEG("NTE",1)) S LRHDG=LRHDG_"NTE|"
|
---|
42 | I $D(LRSEG("NTE",2)) S LRHDG=LRHDG_"Comment|"
|
---|
43 | I LRHDG]"" S ^XTMP("LREPILOCALSPSHT"_LRLRDT,LRLC)=LRHDG S LRHDG="" S LRLC=LRLC+1
|
---|
44 | I $D(LRSEG("OBR")) S LRX=LRX+1,LRX("OBR")=LRX,LRHDG="|"_LRX_"| |"
|
---|
45 | I $D(LRSEG("OBR",1)) S LRHDG=LRHDG_"OBR|"
|
---|
46 | I $D(LRSEG("OBR",2)) S LRHDG=LRHDG_"Test Name|"
|
---|
47 | I $D(LRSEG("OBR",3)) S LRHDG=LRHDG_"Accession Date/Time|"
|
---|
48 | I $D(LRSEG("OBR",4)) S LRHDG=LRHDG_"Specimen|"
|
---|
49 | I $D(LRSEG("OBR",5)) S LRHDG=LRHDG_"Accession Number|"
|
---|
50 | I LRHDG'="" S LRHDG=LRHDG_"OBR SUBID"
|
---|
51 | I LRHDG]"" S ^XTMP("LREPILOCALSPSHT"_LRLRDT,LRLC)=LRHDG S LRHDG="" S LRLC=LRLC+1
|
---|
52 | I $D(LRSEG("OBX")) S LRX=LRX+1,LRX("OBX")=LRX,LRHDG="|"_LRX_"| |"
|
---|
53 | I $D(LRSEG("OBX",1)) S LRHDG=LRHDG_"OBX|"
|
---|
54 | I $D(LRSEG("OBX",2)) S LRHDG=LRHDG_"Value Type|"
|
---|
55 | I $D(LRSEG("OBX",3)) S LRHDG=LRHDG_"Test Name|"
|
---|
56 | I $D(LRSEG("OBX",4)) S LRHDG=LRHDG_"LOINC Code|"
|
---|
57 | I $D(LRSEG("OBX",5)) S LRHDG=LRHDG_"LOINC Name|"
|
---|
58 | I $D(LRSEG("OBX",6)) S LRHDG=LRHDG_"Test Result|"
|
---|
59 | I $D(LRSEG("OBX",7)) S LRHDG=LRHDG_"Units|"
|
---|
60 | I $D(LRSEG("OBX",8)) S LRHDG=LRHDG_"Flags or Interp|"
|
---|
61 | I $D(LRSEG("OBX",9)) S LRHDG=LRHDG_"Verified Date/Time|"
|
---|
62 | I LRHDG'="" S LRHDG=LRHDG_"OBX SUBID"
|
---|
63 | I LRHDG]"" S ^XTMP("LREPILOCALSPSHT"_LRLRDT,LRLC)=LRHDG S LRHDG="" S LRLC=LRLC+1
|
---|
64 | S MSG=0,LRSPSHT="",LRPID="",LROBR=""
|
---|
65 | F S MSG=$O(^TMP("HLS",$J,MSG)) Q:'MSG S LRMSGLIN=^(MSG) D
|
---|
66 | .S LRSPSHT=""
|
---|
67 | .Q:$P(LRMSGLIN,"|")=""
|
---|
68 | .Q:'$D(LRSEG($P(LRMSGLIN,"|")))
|
---|
69 | .I $P(LRMSGLIN,"|")="PID" D
|
---|
70 | ..S ^XTMP("LREPILOCALSPSHT"_LRLRDT,LRLC)=LRSPSHT,LRLC=LRLC+1
|
---|
71 | .I $P(LRMSGLIN,"|")="PID" D
|
---|
72 | ..S LRSPSHT="********************************************************************************"
|
---|
73 | ..I $D(LRSEG("PID")) S LRPID=$P(LRMSGLIN,HLFS,2),LRSPSHT=LRPID_"|"_LRX("PID")_"| | |"
|
---|
74 | ..I $D(LRSEG("PID",2)) S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,20)_"|"
|
---|
75 | ..I $D(LRSEG("PID",3)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,4),LRCS,4)_"|"
|
---|
76 | ..I $D(LRSEG("PID",4)) S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,6)_"|"
|
---|
77 | ..I $D(LRSEG("PID",5)) S LRSPSHT=LRSPSHT_$$CDT^LREPIRP($P(LRMSGLIN,HLFS,8))_"|"
|
---|
78 | ..I $D(LRSEG("PID",6)) S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,9)_"|"
|
---|
79 | ..I $D(LRSEG("PID",7)) D K LRZ,LRY
|
---|
80 | ...S LRZ=0,DFN=$P($P(LRMSGLIN,HLFS,4),LRCS) F LRY=1:1 S LRZ=$O(^DPT(DFN,.02,LRZ)) Q:'LRZ
|
---|
81 | ...I LRY>2 S LRSPSHT=LRSPSHT_"MULTIPLE|"
|
---|
82 | ...E S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,11),LRCS,2)_"|"
|
---|
83 | ..I $D(LRSEG("PID",8)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,12),LRCS,1)_"|"
|
---|
84 | ..I $D(LRSEG("PID",9)) S LRSPSHT=LRSPSHT_$P($P($P(LRMSGLIN,HLFS,12),LRCS,4),U,2)_"|"
|
---|
85 | ..I $D(LRSEG("PID",10)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,12),LRCS,5)_"|"
|
---|
86 | ..I $D(LRSEG("PID",11)) S LRSPSHT=LRSPSHT_$P($P($P(LRMSGLIN,HLFS,12),LRCS,9),U,2)_"|"
|
---|
87 | ..I $D(LRSEG("PID",12)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,23),LRCS,2)_"|"
|
---|
88 | ..I $D(LRSEG("PID",13)) D I LRPOS="" S LRSPSHT=LRSPSHT_"||"
|
---|
89 | ...S LRPOS=$P(LRMSGLIN,HLFS,28)
|
---|
90 | ...Q:LRPOS=""
|
---|
91 | ...S LRPOSN=0
|
---|
92 | ...F S LRPOSN=$O(^DIC(21,LRPOSN)) Q:LRPOSN'>0 I $P($G(^DIC(21,LRPOSN,0)),U,3)=LRPOS S LRPOSNAM=$P(^(0),U) Q
|
---|
93 | ...S LRSPSHT=LRSPSHT_LRPOSNAM_"|"
|
---|
94 | .K LRPOS,LRPOSN,LRPOSNAM
|
---|
95 | .I $P(LRMSGLIN,"|")="PV1" D
|
---|
96 | ..I $D(LRSEG("PV1")) S LRSPSHT=LRPID_"|"_LRX("PV1")_"|"_$P(LRMSGLIN,HLFS,2)_"| |"
|
---|
97 | ..I $D(LRSEG("PV1",2)) D
|
---|
98 | ...S TYPE=$P(LRMSGLIN,HLFS,3)
|
---|
99 | ...S LRSPSHT=LRSPSHT_$S(TYPE="U":"Update",TYPE="I":"Inpatient",1:"Outpatient")_"|"
|
---|
100 | ...K TYPE
|
---|
101 | ..I $D(LRSEG("PV1",3)) S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,4)_"|"
|
---|
102 | ..I $D(LRSEG("PV1",4)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,37),LRCS,2)_"|"
|
---|
103 | ..I $D(LRSEG("PV1",5)) S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,40)_"|"
|
---|
104 | ..I $D(LRSEG("PV1",6)) S LRSPSHT=LRSPSHT_$$CDT^LREPIRP($P(LRMSGLIN,HLFS,45))_"|"
|
---|
105 | ..I $D(LRSEG("PV1",7)) S LRSPSHT=LRSPSHT_$$CDT^LREPIRP($P(LRMSGLIN,HLFS,46))_"|"
|
---|
106 | .I $P(LRMSGLIN,"|")="NTE" D
|
---|
107 | ..I $D(LRSEG("NTE")) S LRSPSHT=LRPID_"|"_LRX("NTE")_"|"_$P(LRMSGLIN,HLFS,2)_"| |"
|
---|
108 | ..I $D(LRSEG("NTE",2)) S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,3)_"|"
|
---|
109 | .I $P(LRMSGLIN,"|")="OBR" D
|
---|
110 | ..I $D(LRSEG("OBR")) S LROBR=$P(LRMSGLIN,HLFS,2),LRSPSHT=LRPID_"|"_LRX("OBR")_"|"_LROBR_"| |"
|
---|
111 | ..I $D(LRSEG("OBR",2)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,5),LRCS,2)_"|"
|
---|
112 | ..I $D(LRSEG("OBR",3)) S LRSPSHT=LRSPSHT_$$CDT^LREPIRP($P(LRMSGLIN,HLFS,8))_"|"
|
---|
113 | ..I $D(LRSEG("OBR",4)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,16),LRCS,3)_"|"
|
---|
114 | ..I $D(LRSEG("OBR",5)) S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,19)_"|"
|
---|
115 | ..S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,27),LRCS,2)
|
---|
116 | .I $P(LRMSGLIN,"|")="OBX" D
|
---|
117 | ..I $D(LRSEG("OBX")) S LRSPSHT=LRPID_"|"_LRX("OBX")_"|"_LROBR_"|"_$P(LRMSGLIN,HLFS,2)_"|"
|
---|
118 | ..I $P(LRMSGLIN,HLFS,3)="ST" D
|
---|
119 | ...S TSTNM=$P($P(LRMSGLIN,HLFS,4),LRCS,2)
|
---|
120 | ...S OV=$P(LRMSGLIN,HLFS,6)
|
---|
121 | ..I $P(LRMSGLIN,HLFS,3)="CE" D
|
---|
122 | ...S TSTNM=""
|
---|
123 | ...S OV=$P($P(LRMSGLIN,HLFS,6),LRCS,2)
|
---|
124 | ..S FD=$$CDT^LREPIRP($P(LRMSGLIN,HLFS,15)),RR=$P(LRMSGLIN,HLFS,9)
|
---|
125 | ..S UN=$P(LRMSGLIN,HLFS,7)
|
---|
126 | ..I $P($P(LRMSGLIN,HLFS,4),LRCS,9)="LOINC" D
|
---|
127 | ...S LOINC=$P($P(LRMSGLIN,HLFS,4),LRCS,7),LOINCN=$P($P(LRMSGLIN,HLFS,4),LRCS,8)
|
---|
128 | ..I $D(LRSEG("OBX",2)) S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,3)_"|"
|
---|
129 | ..I $D(LRSEG("OBX",3)) S LRSPSHT=LRSPSHT_TSTNM_"|"
|
---|
130 | ..I $D(LRSEG("OBX",4)) S LRSPSHT=LRSPSHT_$G(LOINC)_"|"
|
---|
131 | ..I $D(LRSEG("OBX",5)) S LRSPSHT=LRSPSHT_$G(LOINCN)_"|"
|
---|
132 | ..I $D(LRSEG("OBX",6)) S LRSPSHT=LRSPSHT_OV_"|"
|
---|
133 | ..I $D(LRSEG("OBX",7)) S LRSPSHT=LRSPSHT_UN_"|"
|
---|
134 | ..I $D(LRSEG("OBX",8)) S LRSPSHT=LRSPSHT_RR_"|"
|
---|
135 | ..I $D(LRSEG("OBX",9)) S LRSPSHT=LRSPSHT_FD_"|"
|
---|
136 | ..S LRSPSHT=LRSPSHT_$P(LRMSGLIN,HLFS,5)
|
---|
137 | ..K TST,TSTNM,LOINC,LOINCN,ENTRY,UN,RR,FD,OV
|
---|
138 | .I $P(LRMSGLIN,"|")="DG1" D
|
---|
139 | ..I $D(LRSEG("DG1")) S LRSPSHT=LRPID_"|"_LRX("DG1")_"|"_$P(LRMSGLIN,HLFS,2)_"| |"
|
---|
140 | ..I $D(LRSEG("DG1",2)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,4),LRCS,1)_"|"
|
---|
141 | ..I $D(LRSEG("DG1",3)) S LRSPSHT=LRSPSHT_$P($P(LRMSGLIN,HLFS,4),LRCS,2)_"|"
|
---|
142 | ..I $D(LRSEG("DG1",4)) S LRSPSHT=LRSPSHT_$$CDT^LREPIRP($P($P(LRMSGLIN,HLFS,5),LRCS))_"|"
|
---|
143 | .S ^XTMP("LREPILOCALSPSHT"_LRLRDT,LRLC)=LRSPSHT,LRLC=LRLC+1
|
---|
144 | K MSGLIN,LRSEG,LRZ
|
---|
145 | Q
|
---|