Changeset 435 for ccr/trunk/p/C0CLA7Q.m


Ignore:
Timestamp:
Apr 20, 2009, 11:00:43 PM (15 years ago)
Author:
George Lilly
Message:

new LAB interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ccr/trunk/p/C0CLA7Q.m

    r434 r435  
    1212        ;
    1313        ; Check and retrieve lab results from LAB DATA file (#63)
    14         D GCPR^LA7QRY($G(C0CPTID),$G(C0CSDT),$G(C0CEDT),.C0CSC,.C0CSPEC,.C0CERR,$G(C0CDEST),$G(C0CHL7))
     14        S C0CDEST=$$GCPR^LA7QRY($G(C0CPTID),$G(C0CSDT),$G(C0CEDT),.C0CSC,.C0CSPEC,.C0CERR,$G(C0CDEST),$G(C0CHL7))
    1515        ;
    1616        ; If V LAB file present then check for lab results that are only in this file
     
    2727VCHECK  ; If V LAB file present then check for lab results that are only in this file.
    2828        ;
    29         N C0CDA,C0CEND,C0CROOT,C0CVLAB,LA7PTID,LA7SCRC,LA7SPEC,TMP
     29        N C0CDA,C0CEND,C0CROOT,C0CVLAB,LA7PTID,LA7SC,LA7SCRC,LA7SPEC
    3030        ;
    3131        S LA7PTID=C0CPTID
     
    3434        ;
    3535        ; Resolve search codes to lab datanames
    36         S LA7SCSRC=$G(C0CSC)
    37         S TMP=$$SCLIST^LA7QRY2(LA7SCSRC)
    38         Q:$D(LA7ERR) ""
    39         S LA7SC=TMP  D:LA7SC'="*" CHKSC^LA7QRY1
     36        S LA7SC=$G(C0CSC)
     37        I $T(SCLIST^LA7QRY2)'="" D
     38        . N TMP
     39        . S LA7SCSRC=$G(C0CSC)
     40        . S TMP=$$SCLIST^LA7QRY2(LA7SCSRC)
     41        . S LA7SC=TMP
     42        ;
     43        I LA7SC'="*" D CHKSC^LA7QRY1
    4044        ;
    4145        ; Convert specimen codes to file #61 Topography entries
     
    4347        I LA7SPEC'="*"  D SPEC^LA7QRY1
    4448        ;
    45         S C0CROOT="^AUPNVLAB(""ALR4"",DFN,COCSDT)",C0CEND=0
     49        S C0CROOT="^AUPNVLAB(""ALR4"",DFN,C0CSDT)",C0CEND=0
    4650        ;
    4751        F  S C0CROOT=$Q(@C0CROOT) Q:C0CROOT=""  D  Q:C0CEND
    4852        . I $QS(C0CROOT,1)'="ALR4"!($QS(C0CROOT,2)'=DFN) S C0CEND=1 Q  ; Left x-ref or patient
    4953        . I $QS(C0CROOT,3)>C0CEDT S C0CEND=1 Q  ; Exceeded end date/time
    50         . S C0CDA=$QS(C0CROOT,6)
     54        . S C0CDA=$QS(C0CROOT,4)
    5155        . I $D(^TMP("C0C-VLAB",$J,1,C0CDA)) Q  ; Already checked during scan of file #63
    5256        . D VCHK1
     
    6569        ; Call from LA7QRY2
    6670        ;
    67         N DFN,C0C60,C0C63,C0CACC,C0CDA,C0CDT,C0CLN,X
     71        N DFN,C0C60,C0C63,C0CACC,C0CDA,C0CDT,C0CLN,C0CPDA,C0CPTEST,C0CTEST,X
    6872        ;
    6973        S DFN=$P(^LR(LRDFN,0),"^",3)
     
    7882        . I C0CDA<1 Q
    7983        . S C0CLN=$P($G(^AUPNVLAB(C0CDA,11)),"^",13)
     84        . S C0CPDA=$P($G(^AUPNVLAB(C0CDA,12)),"^",8)
     85        . I C0CPDA="" S C0CPDA=C0CDA
     86        . S C0CTEST=$P($G(^AUPNVLAB(C0CDA,0)),"^")
     87        . S C0CPTEST=$P($G(^AUPNVLAB(C0CPDA,0)),"^")
    8088        . S ^TMP("C0C-VLAB",$J,1,C0CDA)=""
    81         . S ^TMP("C0C-VLAB",$J,2,LRDFN,LRSS,LRIDT,LRSB)=C0CLN_"^"_C0CDA
     89        . I C0CDA'=C0CPDA S ^TMP("C0C-VLAB",$J,1,C0CPDA)=""
     90        . S ^TMP("C0C-VLAB",$J,2,LRDFN,LRSS,LRIDT,LRSB)=C0CLN_"^"_C0CDA_"^"_C0CTEST_"^"_C0CPDA_"^"_C0CPTEST
    8291        ;
    8392        ; If LOINC found then update variable with LN code
     
    104113VSTORE  ; Store entry for building in HL7 message when parent is from V LAB file.
    105114        ;
    106         N PARENT
     115        N C0CPDA,C0CPTEST
    107116        ;
    108117        ; Determine parent test to use for OBR segment
    109         S PARENT=$P(C0CVLAB(12),"^",8)
    110         I PARENT="" S PARENT=$P(C0CVLAB(0),"^")
     118        S C0CPDA=$P(C0CVLAB(12),"^",8)
     119        I C0CPDA="" S C0CPDA=C0CDA
    111120        ;
    112         ;                                patient ien
    113         ;                                |                 collection date/time
    114         ;                                |                 |             parent test (ordered test)
    115         ;                                |                 |             |      ien of entry in V LAB file
    116         ;                                |                 |             |      |
    117         S ^TMP("C0C-VLAB",$J,3,$P(C0CVLAB(0),"^",2),$P(C0CVLAB(12),"^"),PARENT,C0CDA)=""
     121        ; Determine parent test
     122        S C0CPTEST=$P($G(^AUPNVLAB(C0CPDA,0)),"^")
     123        ;
     124        S ^TMP("C0C-VLAB",$J,3,$P(C0CVLAB(0),"^",2),$P(C0CVLAB(12),"^"),C0CPTEST,C0CDA)=C0CPDA
    118125        ;
    119126        Q
Note: See TracChangeset for help on using the changeset viewer.