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

BKMVSUP1.m

Go to the documentation of this file.
  1. BKMVSUP1 ;PRXM/HC/WOM - Continuation of BKMVSUP, HIV SUPPLEMENT; [ 1/19/2005 7:16 PM ] ; 10 Jun 2005 12:31 PM
  1. ;;2.2;HIV MANAGEMENT SYSTEM;**2**;Apr 01, 2015;Build 3
  1. Q
  1. CD4(DFN) ; EP - Retrieve CD4 taxonomies
  1. S LINE=" Last 6 CD4: "
  1. ; Retrieve CD4 taxonomies
  1. K BKMT("CD4"),BKMT("CD4ABS")
  1. S GLOBAL="BKMT(""CD4"",VSTDT\1,""ALL"",VSTDT,TEST)"
  1. D LABTAX^BKMIXX(DFN,"BGP CD4 TAX","","",GLOBAL)
  1. D LOINC^BKMIXX(DFN,"BGP CD4 LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""CD4"",VSTDT\1,""ALL"",VSTDT,TEST)"
  1. D CPTTAX^BKMIXX(DFN,"BGP CD4 CPTS","","",GLOBAL)
  1. ; Retrieve CD4 ABS taxonomies
  1. S GLOBAL="BKMT(""CD4"",VSTDT\1,""ABS"",VSTDT,TEST)"
  1. D LABTAX^BKMIXX(DFN,"BKMV CD4 ABS TESTS TAX","","",GLOBAL)
  1. D LOINC^BKMIXX(DFN,"BKMV CD4 ABS LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""CD4"",VSTDT\1,""ABS"",VSTDT,TEST)"
  1. D CPTTAX^BKMIXX(DFN,"BKMV CD4 ABS CPTS","","",GLOBAL)
  1. ;
  1. ; Print 6 most recent results - ABS should be listed in preference to All
  1. ; When printing ABS list results - none should be listed for All
  1. ; Only one result per day should be printed (consistent with Flow Sheet)
  1. ;
  1. N MAX,LDT,CNT,Y,LDTTM,TYPE,RESULT
  1. S MAX=6,(LDT,CNT)=""
  1. F S LDT=$O(BKMT("CD4",LDT),-1) Q:'LDT D Q:CNT=MAX
  1. . S Y=$P($$FMTE^XLFDT(LDT,"5Z"),"@"),CNT=CNT+1
  1. . S LINE=$$LINE^BKMVSUP(LINE,"Date: ",24)_Y
  1. . I $D(BKMT("CD4",LDT,"ABS")) D
  1. .. S LINE=$$LINE^BKMVSUP(LINE,"Result: ",43)
  1. .. S LDTTM="",RESULT=""
  1. .. F S LDTTM=$O(BKMT("CD4",LDT,"ABS",LDTTM),-1) Q:LDTTM="" D Q:RESULT]""
  1. ... S TYPE=""
  1. ... F S TYPE=$O(BKMT("CD4",LDT,"ABS",LDTTM,TYPE)) Q:TYPE="" D Q:RESULT]""
  1. .... S RESULT=$P(BKMT("CD4",LDT,"ABS",LDTTM,TYPE),U)
  1. .... I RESULT]"" S LINE=LINE_$E(RESULT,1,37) Q
  1. .. ; Only save one result per day for Flow Sheet
  1. .. I TYPE="" S TYPE=$O(BKMT("CD4",LDT,"ABS",""),-1) ; set TYPE if no results found
  1. .. S BKMT("CD4ABS",LDT,TYPE,"ABS")=RESULT
  1. . I '$D(BKMT("CD4",LDT,"ABS")),$D(BKMT("CD4",LDT,"ALL")) D
  1. .. S LDTTM="",RESULT=""
  1. .. F S LDTTM=$O(BKMT("CD4",LDT,"ALL",LDTTM),-1) Q:LDTTM="" D Q:RESULT]""
  1. ... S TYPE=""
  1. ... F S TYPE=$O(BKMT("CD4",LDT,"ALL",LDTTM,TYPE)) Q:TYPE="" D Q:RESULT]""
  1. .... S RESULT=$P(BKMT("CD4",LDT,"ALL",LDTTM,TYPE),U)
  1. .. ; Only save one result per day for Flow Sheet
  1. .. I TYPE="" S TYPE=$O(BKMT("CD4",LDT,"ALL",""),-1) ; set TYPE if no results found
  1. .. S BKMT("CD4ABS",LDT,TYPE,"ALL")=RESULT
  1. . K BKMT("CD4",LDT)
  1. . I LNCNT>MAXCT D NEWPG^BKMVSUP
  1. . I CNT<MAX,$O(BKMT("CD4",LDT),-1) D UPD^BKMVSUP
  1. K BKMT("CD4")
  1. I LNCNT>MAXCT D NEWPG^BKMVSUP
  1. D UPD^BKMVSUP,BLANK^BKMVSUP(1)
  1. ; BKMT("CD4ABS") is later used for the Flow Sheet
  1. Q
  1. VIRAL(DFN) ; EP - Retrieve Viral taxonomies
  1. I LNCNT>MAXCT D NEWPG^BKMVSUP
  1. S LINE=" Last 6 HIV/RNA Viral Load: " D UPD^BKMVSUP
  1. ; Retrieve Viral Load taxonomies
  1. K BKMT("VL")
  1. S GLOBAL="BKMT(""VL"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BGP HIV VIRAL LOAD TAX","","",GLOBAL)
  1. D LOINC^BKMIXX(DFN,"BGP VIRAL LOAD LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""VL"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BGP HIV VIRAL LOAD CPTS","","",GLOBAL)
  1. D LTAXPRT("VL",6,1,"","","",1)
  1. D UPD^BKMVSUP
  1. ; BKMT("VL") is later used for the Flow Sheet
  1. Q
  1. ;
  1. RPR(DFN) ; EP - Retrieve RPR taxonomies
  1. S LINE=" RPR: "
  1. K BKMT("RPR")
  1. S GLOBAL="BKMT(""RPR"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BKM RPR TAX","","",GLOBAL) ;***
  1. D LOINC^BKMIXX(DFN,"BKM RPR LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""RPR"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BKM RPR CPTS","","",GLOBAL)
  1. ; Print results
  1. D LTAXPRT("RPR",1,1,,,,1)
  1. ; If no results found check refusal file
  1. I '$D(BKMT("RPR")) D
  1. . S GLOBAL="BKMT(""RPR"",VSTDT,TEST,""LAB"")"
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM RPR TAX","","",GLOBAL) ;taxonomy not loaded yet
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM RPR LOINC CODES","","",GLOBAL)
  1. . ; Print results
  1. . D LTAXPRT("RPR",1,1,1,,,1)
  1. K BKMT("RPR")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. PAP(DFN) ; EP - Retrieve PAP taxonomies
  1. ; Q:$P(^DPT(DFN,0),U,2)'="F" ; - removed and replaced with N/A as per IHS
  1. S LINE=" PAP: "
  1. I $P(^DPT(DFN,0),U,2)'="F" S LINE=LINE_"Not Applicable" Q ;Females only
  1. K BKMT("PAP")
  1. S GLOBAL="BKMT(""PAP"",VSTDT,""LAB"",TEST)"
  1. D LABTAX^BKMIXX(DFN,"BGP PAP SMEAR TAX","","",GLOBAL)
  1. D LOINC^BKMIXX(DFN,"BGP PAP LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""PAP"",VSTDT,""CPT"",TEST)"
  1. D CPTTAX^BKMIXX(DFN,"BGP CPT PAP","","",GLOBAL)
  1. S GLOBAL="BKMT(""PAP"",VSTDT,""ICD"",TEST)"
  1. D ICDTAX^BKMIXX1(DFN,"BGP PAP SMEAR DXS","","",GLOBAL)
  1. S GLOBAL="BKMT(""PAP"",VSTDT,""PROC"",TEST)"
  1. D PRCTAX^BKMIXX1(DFN,"BQI PAP PROCEDURES","","",GLOBAL)
  1. ;
  1. N LDT,CNT,Y,TST
  1. S (LDT,CNT)=""
  1. F S LDT=$O(BKMT("PAP",LDT),-1) Q:'LDT D Q:CNT
  1. . I $O(BKMT("PAP",LDT,""))="" Q
  1. . S CNT=1,Y=$P($$FMTE^XLFDT(LDT,"5Z"),"@")
  1. . S LINE=$$LINE^BKMVSUP(LINE,"Date: ",24)_Y,LINE=$$LINE^BKMVSUP(LINE,"Result: ",41)
  1. . ;Only print lab results
  1. . I $D(BKMT("PAP",LDT,"LAB")) D
  1. .. S TST=$O(BKMT("PAP",LDT,"LAB",""),-1)
  1. .. S LINE=LINE_$E($P(BKMT("PAP",LDT,"LAB",TST),U),1,37) Q
  1. ; If no results found check refusal file
  1. I '$D(BKMT("PAP")) D
  1. . S GLOBAL="BKMT(""PAP"",VSTDT,TEST,""LAB"")"
  1. . D REFUSAL^BKMIXX2(DFN,60,"BGP PAP SMEAR TAX","","",GLOBAL)
  1. . D REFUSAL^BKMIXX2(DFN,60,"BGP PAP LOINC CODES","","",GLOBAL)
  1. . ;Print results
  1. . D LTAXPRT("PAP",1,1,1)
  1. K BKMT("PAP")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. CHL(DFN) ; EP - Retrieve Chlamydia taxonomies
  1. S LINE=" Chlamydia: "
  1. K BKMT("CHL")
  1. S GLOBAL="BKMT(""CHL"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BGP CHLAMYDIA TESTS TAX","","",GLOBAL)
  1. D LOINC^BKMIXX(DFN,"BGP CHLAMYDIA LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""CHL"",VSTDT,TEST,""ICD"")"
  1. ;D PRCTAX^BKMIXX1(DFN,"BGP CHLAMYDIA TEST PROCEDURES","","",GLOBAL)
  1. D ICDTAX^BKMIXX1(DFN,"BQI CHLAMYDIA SCREEN DXS","","",GLOBAL)
  1. S GLOBAL="BKMT(""CHL"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BTPW CHLAMYDIA CPTS","","",GLOBAL)
  1. ; Print results
  1. D LTAXPRT("CHL",1,1,,,,1)
  1. ; If no results found check refusal file
  1. I '$D(BKMT("CHL")) D
  1. . S GLOBAL="BKMT(""CHL"",VSTDT,TEST,""LAB"")"
  1. . D REFUSAL^BKMIXX2(DFN,60,"BGP CHLAMYDIA TESTS TAX","","",GLOBAL)
  1. . D REFUSAL^BKMIXX2(DFN,60,"BGP CHLAMYDIA LOINC CODES","","",GLOBAL)
  1. . ; Print results
  1. . D LTAXPRT("CHL",1,1,1)
  1. K BKMT("CHL")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. GON(DFN) ; EP - Retrieve Gonorrhea taxonomies
  1. S LINE=" Gonorrhea: "
  1. K BKMT("GON")
  1. S GLOBAL="BKMT(""GON"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BKM GONORRHEA TEST TAX","","",GLOBAL) ;***
  1. D LOINC^BKMIXX(DFN,"BKM GONORRHEA LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""GON"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BKM GONORRHEA TESTS CPTS","","",GLOBAL)
  1. ; Print results
  1. D LTAXPRT("GON",1,1,,,,1)
  1. ; If no results found check refusal file
  1. I '$D(BKMT("GON")) D
  1. . S GLOBAL="BKMT(""GON"",VSTDT,TEST,""LAB"")"
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM GONORRHEA LOINC CODES","","",GLOBAL)
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM GONORRHEA TEST TAX","","",GLOBAL)
  1. . ; Print results
  1. . D LTAXPRT("GON",1,1,1)
  1. K BKMT("GON")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. CMV(DFN) ; EP - Retrieve CMV taxonomies
  1. S LINE=" CMV: "
  1. K BKMT("CMV")
  1. S GLOBAL="BKMT(""CMV"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BKM CMV TEST TAX","","",GLOBAL) ;***
  1. D LOINC^BKMIXX(DFN,"BKM CMV LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""CMV"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BKM CMV TEST CPTS","","",GLOBAL)
  1. ; Print results
  1. D LTAXPRT("CMV",1,1,,,,1)
  1. ; If no results found check refusal file
  1. I '$D(BKMT("CMV")) D
  1. . S GLOBAL="BKMT(""CMV"",VSTDT,TEST,""LAB"")"
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM CMV LOINC CODES","","",GLOBAL)
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM CMV TEST TAX","","",GLOBAL)
  1. . ; Print results
  1. . D LTAXPRT("CMV",1,1,1)
  1. K BKMT("CMV")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. TOX(DFN) ; EP - Retrieve Toxoplasmosis taxonomies
  1. S LINE=" Toxoplasmosis: "
  1. K BKMT("TOX")
  1. S GLOBAL="BKMT(""TOX"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BKM TOXOPLASMOSIS TESTS TAX","","",GLOBAL) ;***
  1. D LOINC^BKMIXX(DFN,"BKM TOXOPLASMOSIS LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""TOX"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BKM TOXOPLASMOSIS CPTS","","",GLOBAL)
  1. ; Print results
  1. D LTAXPRT("TOX",1,1,,,,1)
  1. ; If no results found check refusal file
  1. I '$D(BKMT("TOX")) D
  1. . S GLOBAL="BKMT(""TOX"",VSTDT,TEST,""LAB"")"
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM TOXOPLASMOSIS LOINC CODES","","",GLOBAL)
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM TOXOPLASMOSIS TESTS TAX","","",GLOBAL)
  1. . ; Print results
  1. . D LTAXPRT("TOX",1,1,1)
  1. K BKMT("TOX")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. COC(DFN) ; EP - Retrieve Cocci taxonomies
  1. S LINE=" Cocci: "
  1. K BKMT("COC")
  1. S GLOBAL="BKMT(""COC"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BKM COCCI ANTIBODY TAX","","",GLOBAL) ;***
  1. D LOINC^BKMIXX(DFN,"BKM COCCI ANTIBODY LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""COC"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BKM COCCI ANTIBODY CPTS","","",GLOBAL)
  1. ; Print results
  1. I $D(BKMT("COC")) D LTAXPRT("COC",1,1,,,,1) Q
  1. ; Check refusals
  1. S GLOBAL="BKMT(""COC"",VSTDT,TEST,""LAB"")"
  1. D REFUSAL^BKMIXX2(DFN,60,"BKM COCCI ANTIBODY LOINC CODES","","",GLOBAL)
  1. D REFUSAL^BKMIXX2(DFN,60,"BKM COCCI ANTIBODY TAX","","",GLOBAL)
  1. ; Print results
  1. D LTAXPRT("COC",1,1,1)
  1. K BKMT("COC")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. PPD(DFN) ; EP - Retrieve PPD taxonomies (T.21)
  1. S LINE=" PPD: "
  1. K BKMT("PPD")
  1. S GLOBAL="BKMT(""PPD"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BKM PPD TAX","","",GLOBAL) ;***
  1. D LOINC^BKMIXX(DFN,"BKM PPD LOINC CODES","","",GLOBAL)
  1. S GLOBAL="BKMT(""PPD"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BKM PPD CPTS","","",GLOBAL)
  1. S GLOBAL="BKMT(""PPD"",VSTDT,TEST,""CVX"")"
  1. D CVXTAX^BKMIXX1(DFN,"BKM PPD CVX CODES","","",GLOBAL)
  1. I $D(BKMT("PPD")) D LTAXPRT("PPD",1,1,,,,1)
  1. I '$D(BKMT("PPD")) D
  1. . ; If patient had no PPD T.21 in Labs, also check Skin Tests.
  1. . S GLOBAL="BKMT(""PPD"",VSTDT,TEST,""SKIN"")"
  1. . D SKNTAX^BKMIXX1(DFN,"21","","",GLOBAL)
  1. . ; Following code was modified to display Result and Reading in that order
  1. . I $D(BKMT("PPD")) D Q
  1. .. N BKMTL
  1. .. S BKMTL="BKMT(""PPD"")"
  1. .. F S BKMTL=$Q(@BKMTL) Q:$P(BKMTL,",")'="BKMT(""PPD""" D
  1. ... I $P(@BKMTL,U,2)]"" S @BKMTL=$P(@BKMTL,U,2)_" "_$P(@BKMTL,U)
  1. .. D LTAXPRT("PPD",1,1)
  1. . ; If nothing found check diagnosis taxonomy BKM PPD ICDS and include the text "(by Diagnosis)"
  1. . S GLOBAL="BKMT(""PPD"",VSTDT,TEST,""ICD"")"
  1. . D ICDTAX^BKMIXX1(DFN,"BKM PPD ICDS","","",GLOBAL)
  1. . I $D(BKMT("PPD")) D LTAXPRT("PPD",1,1,"",""," (by Diagnosis)") Q
  1. . ; Check refusals
  1. . S GLOBAL="BKMT(""PPD"",VSTDT,TEST,""LAB"")"
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM PPD LOINC CODES","","",GLOBAL)
  1. . D REFUSAL^BKMIXX2(DFN,60,"BKM PPD TAX","","",GLOBAL)
  1. . D REFUSAL^BKMIXX2(DFN,9999999.14,"BKM PPD CVX CODES","","",GLOBAL)
  1. . D REFUSAL^BKMIXX2(DFN,9999999.28,"21","","",GLOBAL)
  1. . ; Print results
  1. . D LTAXPRT("PPD",1,1,1)
  1. K BKMT("PPD")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. PHENO(DFN) ; EP - Retrieve HIV Phenotype Taxonomies (T.16)
  1. S LINE=" HIV Phenotype: "
  1. K BKMT("PHENO")
  1. S GLOBAL="BKMT(""PHENO"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BKMV HIV PHENOTYPE TESTS TAX","","",GLOBAL)
  1. S GLOBAL="BKMT(""PHENO"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BKMV HIV PHENOTYPE CPTS","","",GLOBAL)
  1. ; Print results
  1. I $D(BKMT("PHENO")) D LTAXPRT("PHENO",5) I LINE'="" D UPD^BKMVSUP Q
  1. ;I $D(BKMT("PHENO")) D LTAXPRT("PHENO",1,1) Q
  1. K BKMT("PHENO")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. GENO(DFN) ; EP - Retrieve HIV Genotype Taxonomies
  1. S LINE=" HIV Genotype: "
  1. K BKMT("GENO")
  1. S GLOBAL="BKMT(""GENO"",VSTDT,TEST,""LAB"")"
  1. D LABTAX^BKMIXX(DFN,"BKMV HIV GENOTYPE TESTS TAX","","",GLOBAL)
  1. S GLOBAL="BKMT(""GENO"",VSTDT,TEST,""CPT"")"
  1. D CPTTAX^BKMIXX(DFN,"BKMV HIV GENOTYPE CPTS","","",GLOBAL)
  1. ; Print results
  1. I $D(BKMT("GENO")) D LTAXPRT("GENO",5) I LINE'="" D UPD^BKMVSUP Q
  1. ;I $D(BKMT("GENO")) D LTAXPRT("GENO",1,1) Q
  1. K BKMT("GENO")
  1. I LINE'="" D UPD^BKMVSUP
  1. Q
  1. LTAXPRT(TYP,MAX,RES,REF,TBEF,TAFT,ONE,DTP) ; EP - Print lab related taxonomies for a patient
  1. ;
  1. ; TYP = Type of test (subscript in BKMT array)
  1. ; MAX = Maximum number of results to print
  1. ; $G(RES)=1 - Print results
  1. ; TBEF = text before
  1. ; REF = Refusal flag
  1. ; TAFT = text after
  1. ; ONE = Only display one result per day
  1. ; DTP = Date text - replaces standard "Date: " display
  1. ;
  1. N LDT,CNT,Y,TST,TYPE,END
  1. S MAX=$G(MAX,1),REF=$G(REF),ONE=$G(ONE),RES=$G(RES),DTP=$G(DTP)
  1. S (LDT,CNT)=""
  1. F S LDT=$O(BKMT(TYP,LDT),-1) Q:'LDT D Q:CNT>MAX
  1. . S Y=$P($$FMTE^XLFDT(LDT,"5Z"),"@")
  1. . I RES,'ONE,'REF D GETRES(TYP,LDT)
  1. . I ONE D ONERES(TYP,LDT)
  1. . S TST=""
  1. . F S TST=$O(BKMT(TYP,LDT,TST)) Q:TST="" D Q:CNT>MAX
  1. .. S TYPE=""
  1. .. F S TYPE=$O(BKMT(TYP,LDT,TST,TYPE)) Q:TYPE="" S CNT=CNT+1 Q:CNT>MAX D
  1. ... S LINE=$$LINE^BKMVSUP(LINE,$S(DTP]"":DTP,1:"Date: "),24)_Y
  1. ... I RES D
  1. .... S LINE=$$LINE^BKMVSUP(LINE,"",41)
  1. .... I $G(TBEF)]"" S LINE=LINE_TBEF
  1. .... I REF S LINE=LINE_"[Refusal type: "_$E($P(BKMT(TYP,LDT,TST,TYPE),U),1,37)_"]"
  1. .... E S LINE=LINE_"Result: "_$E($P(BKMT(TYP,LDT,TST,TYPE),U),1,37)
  1. .... I $G(TAFT)]"" S LINE=LINE_TAFT
  1. .... I CNT<MAX D UPD^BKMVSUP
  1. .... I LNCNT>MAXCT D NEWPG^BKMVSUP
  1. ... I 'RES,CNT<MAX D
  1. .... I $O(BKMT(TYP,LDT),-1)!($O(BKMT(TYP,LDT,TST,TYPE))]"")!($O(BKMT(TYP,LDT,TST))]"") D UPD^BKMVSUP
  1. Q:CNT
  1. I LNCNT>MAXCT D NEWPG^BKMVSUP
  1. Q
  1. ;
  1. ONERES(TYP,LDT) ; Display only one result per day
  1. ; Pare down array to the one entry to be displayed
  1. N STOP,TST,TYPE,RES,LDTTM
  1. O1 S (STOP,TST)=""
  1. F S TST=$O(BKMT(TYP,LDT,TST)) Q:TST="" D Q:STOP
  1. . S TYPE=""
  1. . F S TYPE=$O(BKMT(TYP,LDT,TST,TYPE)) Q:TYPE="" D Q:STOP
  1. .. S RES=BKMT(TYP,LDT,TST,TYPE)
  1. .. I $P(RES,U)'="" D S STOP=1 Q
  1. ... K BKMT(TYP,LDT) S BKMT(TYP,LDT,TST,TYPE)=RES
  1. ... ; Remove other entries for this date
  1. ... S LDTTM=LDT
  1. ... F S LDTTM=$O(BKMT(TYP,LDTTM),-1) Q:LDTTM\1'=(LDT\1) K BKMT(TYP,LDTTM)
  1. Q:STOP
  1. ; Check remaining entries on this date for results
  1. S LDTTM=$O(BKMT(TYP,LDT),-1)
  1. I LDTTM\1=(LDT\1) K BKMT(TYP,LDT) S LDT=LDTTM G O1
  1. ; No results found - save one entry
  1. S TST=$O(BKMT(TYP,LDT,"")) Q:TST=""
  1. S TYPE=$O(BKMT(TYP,LDT,TST,"")) Q:TYPE=""
  1. S RES=$G(BKMT(TYP,LDT,TST,TYPE))
  1. K BKMT(TYP,LDT) S BKMT(TYP,LDT,TST,TYPE)=RES
  1. Q
  1. ;
  1. GETRES(TYP,LDT) ; If more than one entry/day get entry with result
  1. N TEST,LPEND
  1. S LPEND="BKMT("""_TYP_""","_LDT,TEST=LPEND_")"
  1. ; Loop through entries for the date and remove any tests w/o results until you either
  1. ; find a test with a result or get to the last test for the date
  1. F S TEST=$Q(@TEST) Q:$P(TEST,",",1,2)'=LPEND Q:@TEST]"" D
  1. . ; If this isn't the last test for the date and there is no result remove it
  1. . I $P($Q(@TEST),",",1,2)=LPEND K @TEST
  1. Q
  1. ;
  1. XIT ; QUIT POINT
  1. Q