| 1 | LRSRVR2A ;DALIO/FHS - LAB DATA SERVER CONT'D RELMA EXTRACT ; Aug 17, 2006 | 
|---|
| 2 | ;;5.2;LAB SERVICE;**346**;Sep 27, 1994;Build 10 | 
|---|
| 3 | ; Called by LRSRVR2 | 
|---|
| 4 | ; | 
|---|
| 5 | ; | 
|---|
| 6 | CLEAN ; | 
|---|
| 7 | K ^TMP($J,"LR60") | 
|---|
| 8 | K ERR,LA7PCNT,LR60IEN,LR60NM,LR6421,LR64IEN | 
|---|
| 9 | K LRACTION,LRCC,LRCCNX,LOINCDTA,LRRNLT,LRCDEF,LREND | 
|---|
| 10 | K LRL,LRLNC,LRLNC80,LRLNCN,LRLNCX,LRNODE,LROUT,LROUT1,LRR64 | 
|---|
| 11 | K LRSPEC,LRSPEC60,LRSPECN,LRSPECTA,LRST,LRSTN,LRSTR,LRSTSYN | 
|---|
| 12 | K LRTA,LRUNIT,LRX,LRY,X,Y | 
|---|
| 13 | D CLEAN^LRSRVR | 
|---|
| 14 | D ^%ZISC | 
|---|
| 15 | Q | 
|---|
| 16 | ; | 
|---|
| 17 | ; | 
|---|
| 18 | HDR ; Set the header information | 
|---|
| 19 | S ^TMP($J,"LRDATA",1)="Report Generated.......: "_$$FMTE^XLFDT($$NOW^XLFDT)_" at "_LRSTN | 
|---|
| 20 | S ^TMP($J,"LRDATA",2)="Report requested.......: "_LRSUB | 
|---|
| 21 | S ^TMP($J,"LRDATA",3)="LOINC version..........: "_$$GET1^DID(95.3,"","","PACKAGE REVISION DATA") | 
|---|
| 22 | S ^TMP($J,"LRDATA",4)="VistA File version.....: "_$G(^LAB(95.3,"VR")) | 
|---|
| 23 | S ^TMP($J,"LRDATA",5)="Extract version........: 1.1" | 
|---|
| 24 | F I=6,12,13 S ^TMP($J,"LRDATA",I)=" " | 
|---|
| 25 | S ^TMP($J,"LRDATA",14)="Legend:" | 
|---|
| 26 | S X="Station #-60 ien-Spec ien-Index|Test Name|Spec|Time Aspect|Units|LOINC|NLT #|Battery Code|Battery Description|Lab Section|Subscript|Comment|Data Type|Reference low|Reference high|Therapeutic low|Therapeutic high|" | 
|---|
| 27 | S ^TMP($J,"LRDATA",15)=X | 
|---|
| 28 | ;S X="           1                   |    2    |  3 |     4     |  5  |  6  |  7  |    8       |     9             |     10    |   11    |   12  |    13   |     14      |     15       |      16       |       17       |" | 
|---|
| 29 | ;S ^TMP($J,"LRDATA",16)=X | 
|---|
| 30 | S X="Use Ref Lab|Site Comment|Test Synonyms|Test Type|Default LOINC|Extract Ver|" | 
|---|
| 31 | S ^TMP($J,"LRDATA",16)=X | 
|---|
| 32 | ;S X="      18   |     19     |       20    |    21   |      22     |    23     |" | 
|---|
| 33 | ;S ^TMP($J,"LRDATA",18)=X | 
|---|
| 34 | S ^TMP($J,"LRDATA",17)=$$REPEAT^XLFSTR("-",$L(X)) | 
|---|
| 35 | S ^TMP($J,"LRDATA",18)=" " | 
|---|
| 36 | I 'LRTXT D | 
|---|
| 37 | . S LRFILENM=$TR(LRSTN," ","_")_"-"_LRSUB_"-"_$P($$FMTHL7^XLFDT($$NOW^XLFDT),"-")_".TXT" | 
|---|
| 38 | . S ^TMP($J,"LRDATA",12)="Attached LMOF file.....: "_LRFILENM | 
|---|
| 39 | . S ^TMP($J,"LRDATA",19)=$$UUBEGFN(LRFILENM) | 
|---|
| 40 | Q | 
|---|
| 41 | ; | 
|---|
| 42 | ; | 
|---|
| 43 | SITENOTE ; Build site's test notes for first record | 
|---|
| 44 | ; | 
|---|
| 45 | N LRI,LRSTNDT | 
|---|
| 46 | K LRSTNOTE | 
|---|
| 47 | S (LRSTNOTE,LRI)=0 | 
|---|
| 48 | F  S LRI=$O(^LAB(60,LR60IEN,11,LRI)) Q:'LRI  D | 
|---|
| 49 | . S LRSTNDT=$P($G(^LAB(60,LR60IEN,11,LRI,0)),"^") | 
|---|
| 50 | . M LRSTNOTE(LRI)=^LAB(60,LR60IEN,11,LRI,1) | 
|---|
| 51 | . S LRSTNOTE(LRI,1,0)=$S(LRI>1:"^",1:"")_$$FMTE^XLFDT(LRSTNDT,"1M")_": "_$G(LRSTNOTE(LRI,1,0)) | 
|---|
| 52 | . K LRSTNOTE(LRI,0) | 
|---|
| 53 | I $D(LRSTNOTE) S LRSTNOTE=1 | 
|---|
| 54 | Q | 
|---|
| 55 | ; | 
|---|
| 56 | ; | 
|---|
| 57 | SYNNOTE ; Build site's test synonym's for first record | 
|---|
| 58 | ; | 
|---|
| 59 | K LRSTSYN | 
|---|
| 60 | S LRSTSYN=0 | 
|---|
| 61 | M LRSTSYN=^LAB(60,LR60IEN,5) | 
|---|
| 62 | K LRSTSYN(0),LRSTSYN("B") | 
|---|
| 63 | I $D(LRSTSYN) S LRSTSYN=1 | 
|---|
| 64 | Q | 
|---|
| 65 | ; | 
|---|
| 66 | ; | 
|---|
| 67 | SUFFIX ; If Result NLT does not have a suffix, i.e. it has .0000 then check for suffixed NLT codes which can also be used | 
|---|
| 68 | N LR64,LRRNLT,LRROOT,LRX,LRY | 
|---|
| 69 | S LRRNLT=$$GET1^DIQ(64,LRR64_",",1,"E") | 
|---|
| 70 | S LRROOT="^LAM(""E"","_LRRNLT_")" | 
|---|
| 71 | F  S LRROOT=$Q(@LRROOT) Q:LRROOT=""  Q:$P($QS(LRROOT,2),".")'=$P(LRRNLT,".")  D | 
|---|
| 72 | . S LR64=$QS(LRROOT,3) | 
|---|
| 73 | . I $G(^LAM(LR64,5,LRSPEC60,0)) S LRSPEC(LRSPEC60_"-"_LR64)=LRSPEC60_U_LRSPECN_U_LRSPECTA_U_LRUNIT_U_LR64 | 
|---|
| 74 | Q | 
|---|
| 75 | ; | 
|---|
| 76 | ; | 
|---|
| 77 | UUBEGFN(LRFILENM) ; Construct uuencode "begin" coding | 
|---|
| 78 | ; Call with LRFILENM = name of uuencoded file attachment | 
|---|
| 79 | ; | 
|---|
| 80 | ; Returns LRX = string with "begin..."_file name | 
|---|
| 81 | ; | 
|---|
| 82 | N LRX | 
|---|
| 83 | S LRX="begin 644 "_LRFILENM | 
|---|
| 84 | Q LRX | 
|---|