1 | LA7VORU2 ;DALOI/JMC - LAB ORU (Result) message builder cont'd ; 11-21-986
|
---|
2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**46,64**;Sep 27, 1994
|
---|
3 | ;
|
---|
4 | AP ; Observation/Result segment for Lab AP Results
|
---|
5 | ;
|
---|
6 | N LA7DATA,LA7IDT,LRSB,LRSS
|
---|
7 | ;
|
---|
8 | S LRDFN=LA("LRDFN"),LRSS=LA("SUB"),(LA7IDT,LRIDT)=LA("LRIDT")
|
---|
9 | ;
|
---|
10 | S (LA7NLT,LA("NLT"))=$P($$DEFCODE^LA7VHLU5(LRSS,.012,"",""),"!")
|
---|
11 | D OBR^LA7VORU
|
---|
12 | D NTE^LA7VORU
|
---|
13 | ;
|
---|
14 | APORM ; Entry point when building OBX segments for ORM message
|
---|
15 | S LA7OBXSN=0
|
---|
16 | ;
|
---|
17 | ; Surgical pathology (SP) subscript reports
|
---|
18 | I LRSS="SP" D SP
|
---|
19 | ;
|
---|
20 | ; Cytology (CY) subscript reports
|
---|
21 | I LRSS="CY" F LRSB=.012,.013,.014,.015,.016,1,1.1,1.2,1.4 D OBX^LA7VORU1
|
---|
22 | ;
|
---|
23 | ; Cytology (EM) subscript reports
|
---|
24 | I LRSS="EM" F LRSB=.012,.013,.014,.015,.016,1.1,1.2,1.4 D OBX^LA7VORU1
|
---|
25 | ;
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | ;
|
---|
29 | SP ; Process "SP" subscript
|
---|
30 | N LA7ORG,LA7P,LA7SR,LA7SS
|
---|
31 | ;
|
---|
32 | ; Process main report
|
---|
33 | I LA7NVAF'=1 F LRSB=.012,.013,.014,.015,.016,1,1.1,1.3,1.4 D OBX^LA7VORU1
|
---|
34 | I LA7NVAF=1 D SPDOD
|
---|
35 | ;
|
---|
36 | ; Process supplementary reports
|
---|
37 | S LRSB=1.2,LA7SR=0
|
---|
38 | F S LA7SR=$O(^LR(LRDFN,LRSS,LRIDT,1.2,LA7SR)) Q:'LA7SR D
|
---|
39 | . N LA7IDT
|
---|
40 | . ; If don't release this report then skip.
|
---|
41 | . I $P($G(^LR(LRDFN,LRSS,LRIDT,1.2,LA7SR,0)),"^",2)'=1 Q
|
---|
42 | . S LA7IDT=LRIDT_","_LA7SR D OBX^LA7VORU1
|
---|
43 | ;
|
---|
44 | ; Process organ/tissue subfile
|
---|
45 | S LA7ORG=0
|
---|
46 | F S LA7ORG=$O(^LR(LRDFN,LRSS,LRIDT,2,LA7ORG)) Q:'LA7ORG D
|
---|
47 | . N LA7IDT
|
---|
48 | . S LRSB=10,LA7IDT=LRIDT_","_LA7ORG D OBX^LA7VORU1
|
---|
49 | . S LRSB="10,2",LA7IDT=LRIDT_","_LA7ORG D OBX^LA7VORU1
|
---|
50 | . ; Procedures
|
---|
51 | . S LA7P=0,LRSB="10,1.5"
|
---|
52 | . F S LA7P=$O(^LR(LRDFN,LRSS,LRIDT,2,LA7ORG,4,LA7P)) Q:'LA7P D
|
---|
53 | . . S LA7IDT=LRIDT_","_LA7ORG_","_LA7P D OBX^LA7VORU1
|
---|
54 | . ; Special studies
|
---|
55 | . S LA7SS=0,LRSB="10,5"
|
---|
56 | . F S LA7SS=$O(^LR(LRDFN,LRSS,LRIDT,2,LA7ORG,5,LA7SS)) Q:'LA7SS D
|
---|
57 | . . S LA7IDT=LRIDT_","_LA7ORG_","_LA7SS D OBX^LA7VORU1
|
---|
58 | ;
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | ;
|
---|
62 | SPDOD ; Build OBX segment's to special DoD specifications.
|
---|
63 | ;
|
---|
64 | N LA7DA
|
---|
65 | ;
|
---|
66 | S LRSB=.012 D OBX^LA7VORU1
|
---|
67 | ;
|
---|
68 | ; Send word-processing fields as series of OBX's for DoD.
|
---|
69 | ; DoD cannot handle formatted text (FT) data type.
|
---|
70 | F LRSB=.012,.013,.014,.015,.016,1,1.1,1.3,1.4 D
|
---|
71 | . N LA7IDT,LA7SB
|
---|
72 | . S LA7DA=0,LA7SB=$S(LRSB=.013:.2,LRSB=.014:.3,LRSB=.015:.4,LRSB=.016:.5,1:LRSB)
|
---|
73 | . F S LA7DA=$O(^LR(LRDFN,LRSS,LRIDT,LA7SB,LA7DA)) Q:'LA7DA D
|
---|
74 | . . S LA7IDT=LRIDT_","_LA7DA D OBX^LA7VORU1
|
---|
75 | ;
|
---|
76 | Q
|
---|