| 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
 | 
|---|