Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LA7VHLU5

LA7VHLU5.m

Go to the documentation of this file.
  1. LA7VHLU5 ;DALOI/JMC - HL7 segment builder utility ;10/09/09 10:25
  1. ;;5.2;AUTOMATED LAB INSTRUMENTS;**46,64,68,74,92**;Sep 27, 1994;Build 6
  1. ;
  1. ;
  1. ;5.2;AUTOMATED LAB INSTRUMENTS; CHANGE FOR PATCH LA*5.2*92; Feb 10 2016;
  1. ;
  1. ;
  1. DEFCODE(LRSS,LRSB,LA7CODE,LA761) ; Determine default codes when data is not mapped
  1. ;
  1. ; Call with LRSS = file #63 subscript
  1. ; LRSB = file #63 dataname/location
  1. ; LA7CODE = current codes stored with data (order nlt!result nlt!loinc code!method suffix)
  1. ; LA761 = specimen, pointer to file #61
  1. ;
  1. N I,LA760,LA7DFCDE,LA7MISS,LA7NLT,LA7X,LA7Y
  1. ;
  1. I LA7CODE="" S LA7CODE="!!!"
  1. ;
  1. ; Replace any missing codes with defaults
  1. ; If no missing codes then return codes passed in.
  1. S LA7MISS=""
  1. F I=1:1:3 I $P(LA7CODE,"!",I)="" S $P(LA7MISS,"^",I)=I
  1. ;
  1. I LA7MISS'="" D
  1. . I LRSS="CH" D CHSUB Q
  1. . I LRSS="MI" D MISUB Q
  1. . I LRSS="SP" D SPSUB Q
  1. . I LRSS="CY" D CYSUB Q
  1. . I LRSS="EM" D EMSUB Q
  1. ;
  1. Q LA7CODE
  1. ;
  1. ;
  1. CHSUB ; Determine codes for CH subscript.
  1. ;
  1. ; Find a file #60 test which uses this dataname. Since there can be
  1. ; multiple tests check each until an order and result NLT code is found.
  1. S LA760=0
  1. F S LA760=$O(^LAB(60,"C",LRSS_";"_LRSB_";1",LA760)) Q:'LA760 D
  1. . ; Default order NLT
  1. . I $P(LA7MISS,"^") D
  1. . . S LA7X=$$NLT^LRVER1(LA760)
  1. . . I LA7X'="" S $P(LA7CODE,"!")=LA7X,$P(LA7MISS,"^")=""
  1. . ; Default result NLT
  1. . I $P(LA7MISS,"^",2) D
  1. . . S LA7X=+$P($G(^LAB(60,LA760,64)),"^",2),LA7Y=""
  1. . . I LA7X S LA7Y=$$GET1^DIQ(64,LA7X_",",1)
  1. . . I LA7Y'="" S $P(LA7CODE,"!",2)=LA7Y,$P(LA7MISS,"^",2)=""
  1. ;
  1. ; If no result NLT code then use order NLT as default
  1. I $P(LA7CODE,"!",2)="" S $P(LA7CODE,"!",2)=$P(LA7CODE,"!")
  1. ;
  1. ; If no order NLT code found on file #60 entries then use this default
  1. I $P(LA7CODE,"!")="" S $P(LA7CODE,"!")="81323.0000"
  1. ;
  1. ; Default result LOINC code based on result NLT code
  1. ; If none on NLT result code then try order NLT code
  1. ;START OF CHANGE FOR LA*5.2*92
  1. N LA760C1,LA7XC,LA7YC S LA760C1=0
  1. I $P(LA7CODE,"!",2)'="" F S LA760C1=$O(^LAB(60,"C",LRSS_";"_LRSB_";1",LA760C1)) Q:'LA760C1 S LA7XC=+$P($G(^LAB(60,LA760C1,64)),"^",2) I LA7XC S LA7YC=$$GET1^DIQ(64,LA7XC_",",1) I LA7YC'=""&(LA7YC=$P(LA7CODE,"!",2)) Q
  1. ;END OF CHANGE FOR LA*5.2*92
  1. I $P(LA7MISS,"^",3) D
  1. . S LA7NLT=$P(LA7CODE,"!",2),LA7X=""
  1. . ;START OF CHANGE FOR LA*5.2*92
  1. . ;I LA7NLT'="" S LA7X=$$LNC^LRVER1(LA7NLT,$P(LA7CODE,"!",4),LA761)
  1. . I LA7NLT'="" S LA7X=$$LNC^LRVER1(LA7NLT,$P(LA7CODE,"!",4),LA761,$G(LA760C1))
  1. . ;END OF CHANGE FOR LA*5.2*92
  1. . I LA7X S $P(LA7CODE,"!",3)=LA7X Q
  1. . S LA7NLT=$P(LA7CODE,"!"),LA7X=""
  1. . ;START OF CHANGE FOR LA*5.2*92
  1. . ;I LA7NLT'="" S LA7X=$$LNC^LRVER1(LA7NLT,$P(LA7CODE,"!",4),LA761)
  1. . I LA7NLT'="" S LA7X=$$LNC^LRVER1(LA7NLT,$P(LA7CODE,"!",4),LA761,$G(LA760C1))
  1. . ;END OF CHANGE FOR LA*5.2*92
  1. . I LA7X S $P(LA7CODE,"!",3)=LA7X
  1. ;START OF CHANGE FOR LA*5.2*92
  1. K LA760C1,LA7XC,LA7YC
  1. ;END OF CHANGE FOR LA*5.2*92
  1. ;
  1. Q
  1. ;
  1. ;
  1. MISUB ; Determine codes for MI subscript
  1. ;
  1. ; Bacteriology report
  1. I LRSB=11 S LA7DFCDE="87993.0000^93928.0000^" D DEFAULT Q
  1. ;
  1. ; Urine Screen
  1. I LRSB=11.57 S LA7DFCDE="87993.0000^93948.0000^630" D DEFAULT Q
  1. ;
  1. ; Sputum screen
  1. I LRSB=11.58 S LA7DFCDE="87993.0000^93949.0000^6460" D DEFAULT Q
  1. ;
  1. ; Gram stain
  1. I LRSB=11.6 S LA7DFCDE="87993.0000^87754.0000^664" D DEFAULT Q
  1. ;
  1. ; Bacteriology organism
  1. I LRSB=12 S LA7DFCDE="87993.0000^87570.0000^11475" D DEFAULT Q
  1. ;
  1. ; Bacteria colony count
  1. I +LRSB=12,$P(LRSB,",",2)=1 S LA7DFCDE="^87719.0000^564" D DEFAULT Q
  1. ;
  1. ; Bacteriology smear/prep
  1. I LRSB=11.7 S LA7DFCDE="87993.0000^93967.0000^" D DEFAULT Q
  1. ;
  1. ; Bacteriology test
  1. I LRSB=1.5 S LA7DFCDE="87993.0000^93969.0000^" D DEFAULT Q
  1. ;
  1. ; Parasite report
  1. I LRSB=14 S LA7DFCDE="87925.0000^93929.0000^" D DEFAULT Q
  1. ;
  1. ; Parasite organism
  1. I LRSB=16 S LA7DFCDE="87925.0000^87576.0000^20932" D DEFAULT Q
  1. ;
  1. ; Parasite organism stage
  1. I +LRSB=16,$P(LRSB,",",2)=.01 S LA7DFCDE="87925.0000^92930.0000^" D DEFAULT Q
  1. ;
  1. ; Parasite organism stage quantity
  1. I +LRSB=16,$P(LRSB,",",2)=1 S LA7DFCDE="87925.0000^93997.0000^" D DEFAULT Q
  1. ;
  1. ; Parasitology smear/prep
  1. I LRSB=15.51 S LA7DFCDE="87925.0000^93971.0000^" D DEFAULT Q
  1. ;
  1. ; Parasitology test
  1. I LRSB=16.4 S LA7DFCDE="87925.0000^93972.0000^" D DEFAULT Q
  1. ;
  1. ; Mycology report
  1. I LRSB=18 S LA7DFCDE="87994.0000^93930.0000^" D DEFAULT Q
  1. ;
  1. ; Mycology smear/prep
  1. I LRSB=19.6 S LA7DFCDE="87994.0000^93984.0000^" D DEFAULT Q
  1. ;
  1. ; Mycology test
  1. I LRSB=20.4 S LA7DFCDE="87994.0000^93974.0000^" D DEFAULT Q
  1. ;
  1. ; Fungal organism
  1. I LRSB=20 S LA7DFCDE="87994.0000^87578.0000^580" D DEFAULT Q
  1. ;
  1. ; Fungal colony count
  1. I +LRSB=20,$P(LRSB,",",2)=1 S LA7DFCDE="87994.0000^87723.0000^19101" D DEFAULT Q
  1. ;
  1. ; Mycobacterium report
  1. I LRSB=22 S LA7DFCDE="87995.0000^93931.0000^" D DEFAULT Q
  1. ;
  1. ; Acid Fast stain
  1. I LRSB=24 S LA7DFCDE="87995.0000^87756.0000^11545" D DEFAULT Q
  1. ;
  1. ; Acid Fast stain quantity
  1. I LRSB=25 S LA7DFCDE="87995.0000^87583.0000^" D DEFAULT Q
  1. ;
  1. ; Mycobacterium organism
  1. I +LRSB=26,'$P(LRSB,",",2) S LA7DFCDE="87995.0000^87589.0000^543" D DEFAULT Q
  1. ;
  1. ; Mycobacterium colony count
  1. I +LRSB=26,$P(LRSB,",",2)=1 S LA7DFCDE="87995.0000^87719.0000^564" D DEFAULT Q
  1. ;
  1. ; Bact or TB organism's susceptibilities
  1. I ($P(LRSB,",")=12!($P(LRSB,",")=26)),$P(LRSB,",",2)>2,$P(LRSB,",",2)<2.999 D Q
  1. . S LA7X=""
  1. . I $P(LRSB,",")=12 D
  1. . . S LA7DFCDE="87565.0000^^"
  1. . . S LA7X=$O(^LAB(62.06,"AD",$P(LRSB,",",2),0))
  1. . I $P(LRSB,",")=26 D
  1. . . S LA7DFCDE="87568.0000^^"
  1. . . S LA7X=$O(^LAB(62.06,"AD1",$P(LRSB,",",2),0))
  1. . I LA7X D
  1. . . S X=$$GET1^DIQ(62.06,LA7X_",","64:1")
  1. . . I X S $P(LA7DFCDE,"^",2)=X
  1. . D DEFAULT
  1. ;
  1. ; TB test
  1. I LRSB=26.4 S LA7DFCDE="87995.0000^93977.0000^" D DEFAULT Q
  1. ;
  1. ; Virology report
  1. I LRSB=33 S LA7DFCDE="87996.0000^93932.0000^" D DEFAULT Q
  1. ;
  1. ; Viral agent
  1. I $P(LRSB,",")=36 S LA7DFCDE="87996.0000^87590.0000^6584" D DEFAULT Q
  1. ;
  1. ; Virology test
  1. I LRSB=36.4 S LA7DFCDE="87996.0000^93981.0000^" D DEFAULT Q
  1. ;
  1. ; Sterility results
  1. I LRSB=11.52 S LA7DFCDE="93982.0000^93982.0000^" D DEFAULT Q
  1. ;
  1. Q
  1. ;
  1. ;
  1. SPSUB ; Determine codes for SP subscript
  1. ;
  1. ; specimens
  1. I $P(LRSB,",")=.012 S LA7DFCDE="88515.0000^88539.0000^22633" D DEFAULT Q
  1. I LRSB=10 S LA7DFCDE="88515.0000^88539.0000^22633" D DEFAULT Q
  1. ;
  1. ; brief clinical history
  1. I LRSB=.013 S LA7DFCDE="88515.0000^88542.0000^22636" D DEFAULT Q
  1. ;
  1. ; preoperative diagnosis
  1. I LRSB=.014 S LA7DFCDE="88515.0000^88544.0000^10219" D DEFAULT Q
  1. ;
  1. ; operative findings
  1. I LRSB=.015 S LA7DFCDE="88515.0000^88546.0000^10215" D DEFAULT Q
  1. ;
  1. ; postoperative diagnosis
  1. I LRSB=.016 S LA7DFCDE="88515.0000^88547.0000^10218" D DEFAULT Q
  1. ;
  1. ; gross description
  1. I LRSB=1 S LA7DFCDE="88515.0000^88549.0000^22634" D DEFAULT Q
  1. ;
  1. ; microscopic description
  1. I LRSB=1.1 S LA7DFCDE="88515.0000^88563.0000^22635" D DEFAULT Q
  1. ;
  1. ; frozen section
  1. I LRSB=1.3 S LA7DFCDE="88515.0000^88569.0000^22635" D DEFAULT Q
  1. ;
  1. ; surgical path diagnosis
  1. I LRSB=1.4 S LA7DFCDE="88515.0000^88571.0000^22637" D DEFAULT Q
  1. ;
  1. ; supplementary report
  1. I LRSB=1.2!(LRSB="10,5") S LA7DFCDE="88589.0000^88589.0000^22639" D DEFAULT Q
  1. ;
  1. ; specimen weight
  1. I LRSB="10,2" S LA7DFCDE="88515.0000^81233.0000^3154" D DEFAULT Q
  1. ;
  1. Q
  1. ;
  1. ;
  1. CYSUB ; Determine codes for CY subscript
  1. ;
  1. ; specimens
  1. I $P(LRSB,",")=.012 S LA7DFCDE="88593.0000^88539.0000^22633" D DEFAULT Q
  1. I LRSB=10 S LA7DFCDE="88593.0000^88539.0000^22633" D DEFAULT Q
  1. ;
  1. ; brief clinical history
  1. I LRSB=.013 S LA7DFCDE="88593.0000^88542.0000^22636" D DEFAULT Q
  1. ;
  1. ; preoperative diagnosis
  1. I LRSB=.014 S LA7DFCDE="88593.0000^88544.0000^10219" D DEFAULT Q
  1. ;
  1. ; operative findings
  1. I LRSB=.015 S LA7DFCDE="88593.0000^88542.0000^10215" D DEFAULT Q
  1. ;
  1. ; postoperative diagnosis
  1. I LRSB=.016 S LA7DFCDE="88593.0000^88547.0000^10218" D DEFAULT Q
  1. ;
  1. ; gross description
  1. I LRSB=1!(LRSB=20) S LA7DFCDE="88593.0000^88549.0000^22634" D DEFAULT Q
  1. ;
  1. ; microscopic examination
  1. I LRSB=1.1 S LA7DFCDE="88593.0000^88563.0000^22635" D DEFAULT Q
  1. ;
  1. ; supplementary report
  1. I LRSB=1.2 S LA7DFCDE="88589.0000^88589.0000^22639" D DEFAULT Q
  1. ;
  1. ; cytopathology diagnosis
  1. I LRSB=1.4 S LA7DFCDE="88593.0000^88571.0000^22637" D DEFAULT Q
  1. ;
  1. Q
  1. ;
  1. ;
  1. EMSUB ; Determine codes for EM subscript
  1. ;
  1. ; specimens
  1. I $P(LRSB,",")=.012 S LA7DFCDE="88597.0000^88057.0000^22633" D DEFAULT Q
  1. I LRSB=10 S LA7DFCDE="88597.0000^88057.0000^22633" D DEFAULT Q
  1. ;
  1. ; brief clinical history
  1. I LRSB=.013 S LA7DFCDE="88597.0000^88542.0000^22636" D DEFAULT Q
  1. ;
  1. ; preoperative diagnosis
  1. I LRSB=.014 S LA7DFCDE="88597.0000^88544.0000^10219" D DEFAULT Q
  1. ;
  1. ; operative findings
  1. I LRSB=.015 S LA7DFCDE="88597.0000^88542.0000^10215" D DEFAULT Q
  1. ;
  1. ; postoperative diagnosis
  1. I LRSB=.016 S LA7DFCDE="88597.0000^88547.0000^10218" D DEFAULT Q
  1. ;
  1. ; gross description
  1. I LRSB=1!(LRSB=20) S LA7DFCDE="88597.0000^88549.0000^22634" D DEFAULT Q
  1. ;
  1. ; microscopic examination
  1. I LRSB=1.1 S LA7DFCDE="88597.0000^88563.0000^22635" D DEFAULT Q
  1. ;
  1. ; supplementary report
  1. I LRSB=1.2 S LA7DFCDE="88589.0000^88589.0000^22639" D DEFAULT Q
  1. ;
  1. ; em diagnosis
  1. I LRSB=1.4 S LA7DFCDE="88597.0000^88571.0000^22637" D DEFAULT Q
  1. ;
  1. Q
  1. ;
  1. ;
  1. DEFAULT ; Resolve codes and set defaults as needed
  1. ;
  1. ; Expects LA7DFCDE=default order NLT^default result NLT^default LOINC code
  1. ;
  1. I $P(LA7MISS,"^") S $P(LA7CODE,"!")=$P(LA7DFCDE,"^")
  1. I $P(LA7MISS,"^",2) S $P(LA7CODE,"!",2)=$P(LA7DFCDE,"^",2)
  1. I $P(LA7MISS,"^",3) D
  1. . ;START OF CHANGE FOR LA*5.2*92
  1. . ;S $P(LA7CODE,"!",3)=$$LNC^LRVER1($P(LA7CODE,"!",2),$P(LA7CODE,"!",4),LA761)
  1. . S $P(LA7CODE,"!",3)=$$LNC^LRVER1($P(LA7CODE,"!",2),$P(LA7CODE,"!",4),LA761,0)
  1. . ;END OF CHANGE FOR LA*5.2*92
  1. . I '$P(LA7CODE,"!",3) S $P(LA7CODE,"!",3)=$P(LA7DFCDE,"^",3)
  1. Q