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

BKMIXX2.m

Go to the documentation of this file.
  1. BKMIXX2 ;PRXM/HC/BWF - TAXONOMY ACCESS UTILITIES ; 13 Apr 2005 4:53 PM
  1. ;;2.2;HIV MANAGEMENT SYSTEM;;Apr 01, 2015;Build 40
  1. ; Generic Taxonomy Utilities
  1. ; Checks V-Files for patients that meet a Taxonomy's criteria, within
  1. ; a specific date range.
  1. ;
  1. ;**************NOTE***********************
  1. ; Input for all entry points are the same
  1. ;*****************************************
  1. ;
  1. ; Input:
  1. ; DFN = IEN from Patient file (#90000001)
  1. ; (required)
  1. ; TAX = Name of Taxonomy (From Lab Taxonomy ^ATXLAB or ICD Taxonomy ^ATXAX)
  1. ; (required)
  1. ; EDATE = End date of the report. The default is "Today"
  1. ; (optional)
  1. ; SDATE = Start date of the report.
  1. ; (optional)
  1. ; TARGET = Target root (global or local) for collection of data
  1. ; (optional)
  1. ; Example: ^TMP("RTN NAME",$J,"DESC",DFN,VSTDT,VISIT) or TEMP(VSTDT,VISIT)
  1. ; Output:
  1. ; LDATE = Last date found in the selected date range
  1. ; (optional - pass by reference)
  1. ; LIEN = Last IEN found in the selected date range
  1. ; (optional - pass by reference)
  1. ; CNT = Count of number of records found in selected date range
  1. ; (optional - pass by reference)
  1. ;
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; REFILE = FILE# to which the Refusal refers
  1. ; (required)
  1. ;
  1. REFUSAL(DFN,REFILE,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; PEP
  1. ;Refusal Taxonomy Check (by File)
  1. ;
  1. N TXIEN,TEST,VISIT,VSTDT,RESULT,REFLAG
  1. N QFLAG,REFVAL,REFVAL1,REFVAL2,REFILE1,REFTYPE,IENS,EXIST
  1. I DFN="" Q
  1. I TAX="" Q
  1. S TXIEN=$O(^ATXAX("B",TAX,"")),REFLAG=1
  1. ;Lab codes can be found in a different Taxonomy global
  1. I TXIEN="",REFILE=60 S TXIEN=$O(^ATXLAB("B",TAX,"")),REFLAG=0 I TXIEN="" Q
  1. ;Exam codes do not use a Taxonomy, but the same variables are used.
  1. I TXIEN="",REFILE=9999999.15 S TXIEN=$O(^AUTTEXAM("C",TAX,"")),REFLAG=2 I TXIEN="" Q
  1. ;Skin Test codes also do not use a Taxonomy, but the same variables are used.
  1. I TXIEN="",REFILE=9999999.28 S TXIEN=$O(^AUTTSK("C",TAX,"")),REFLAG=2 I TXIEN="" Q
  1. ;Most Patient Education Codes do not use a Taxonomy. Some need to be calculated separately.
  1. I TXIEN="" Q:REFILE'=9999999.09 D BLDTAX1^BKMIXX5(TAX,"TXIEN") S REFLAG=3 I $D(TXIEN)=0 Q
  1. S TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S TEST=$O(^AUPNPREF("AC",DFN,TEST)) Q:TEST="" D
  1. .S REFVAL="",REFVAL1=""
  1. .S REFILE1=$$GET1^DIQ(9000022,TEST,.05,"I")
  1. .;Skip NULL references as they are checked later.
  1. .I REFILE1]"",REFILE1'=REFILE Q
  1. .S REFVAL=$$GET1^DIQ(9000022,TEST,.06,"I")
  1. .;Exam Codes are checked differently because they do not use Taxonomies.
  1. .I REFLAG=2,REFVAL'=TXIEN Q
  1. .;^ATXLAB stores the LAB code IEN directly.
  1. .I REFLAG=0 D Q:QFLAG=1
  1. ..S QFLAG=1
  1. ..I REFVAL]"" S:$D(^ATXLAB(TXIEN,21,"B",REFVAL)) QFLAG=0 Q
  1. ..;Currently LAB/PAP SMEAR tests do not have REFVAL set.
  1. ..;Setting this so calling program will know 'some' LAB was refused.
  1. ..I REFVAL="" S QFLAG=0 Q
  1. .I REFLAG=1 D Q:QFLAG=1
  1. ..S QFLAG=1 ; Quit if REFILE not listed or REFVAL not found.
  1. ..I REFILE=71 D Q ;Radiology and Mammogram
  1. ...I REFVAL]"" S REFVAL1=$$GET1^DIQ(71,REFVAL,9,"I")
  1. ...;I REFVAL1]"" S:$$ICD^BKMIXX5(REFVAL1,TXIEN,1)'=0 QFLAG=0 Q
  1. ...I REFVAL1]"" D
  1. ....I $$PATCH^XPDUTL("ATX*5.1*11") S EXIST=$$ICD^ATXAPI(REFVAL1,TXIEN,1)
  1. ....E S EXIST=$$ICD^BKMIXX5(REFVAL1,TXIEN,1)
  1. ....I EXIST'=0 S QFLAG=0
  1. ..I REFILE=9999999.14 D Q ;Immunizations
  1. ...I REFVAL]"" S REFVAL1=$$GET1^DIQ(9999999.14,REFVAL,.03,"E")
  1. ...I REFVAL1]"" S:$D(^ATXAX(TXIEN,21,"B",REFVAL1)) QFLAG=0 Q
  1. ..I REFILE=9999999.15 D Q ;Exams
  1. ...I REFVAL]"" S REFVAL1=$$GET1^DIQ(9999999.15,REFVAL,.01,"E")
  1. ...I REFVAL1]"" S:$D(^ATXAX(TXIEN,21,"B",REFVAL1)) QFLAG=0 Q
  1. ..I REFILE=9999999.09 D Q ;Patient Education
  1. ...I REFVAL]"" S REFVAL1=$$GET1^DIQ(9999999.09,REFVAL,.01,"E")
  1. ...I REFVAL1]"",REFLAG=1 S:$D(^ATXAX(TXIEN,21,"B",REFVAL1)) QFLAG=0 Q
  1. ...I REFVAL1]"",REFLAG=3 S REFVAL2=$$GET1^DIQ(9999999.09,REFVAL,.01,"I") S:$D(TXIEN(REFVAL2)) QFLAG=0 Q
  1. ..I REFILE=50 D Q ;NDC codes or MED IENS
  1. ...;Use Taxonomy to build a list of DRUG code IENs.
  1. ...D BLDTAX^BKMIXX5(TAX,"IENS")
  1. ...I REFVAL]"" S:$D(IENS(REFVAL)) QFLAG=0 Q
  1. ..I REFILE=81 D Q ;CPT Codes
  1. ...;Use Taxonomy to build a list of CPTs
  1. ...D BLDTAX^BKMIXX5(TAX,"IENS")
  1. ...I REFVAL]"" S:$D(IENS(REFVAL)) QFLAG=0 Q
  1. ..I REFILE=60 D Q ;LOINC codes
  1. ...;Use LOINC Taxonomy to build a list of LAB code IENs.
  1. ...D BLDTAX^BKMIXX5(TAX,"IENS")
  1. ...I REFVAL]"" S:$D(IENS(REFVAL)) QFLAG=0 Q
  1. ...;Currently LAB/PAP SMEAR tests do not have REFVAL set.
  1. ...;Setting this so calling program will know 'some' LAB was refused.
  1. ...I REFVAL="" S QFLAG=0 Q
  1. .; Not related to Visit File (#9000010)
  1. .S VISIT="N/A"
  1. .; VSTDT is the Date of Patient Refusal
  1. .S VSTDT=$$GET1^DIQ(9000022,TEST,.03,"I")
  1. .I VSTDT="" S VSTDT="Unknown"
  1. .I $G(SDATE)'="",(VSTDT<SDATE) Q
  1. .I $G(EDATE)'="",(VSTDT\1>EDATE) Q
  1. .I VSTDT>LDATE S LDATE=VSTDT,LIEN=TEST
  1. .I VSTDT=LDATE,TEST>LIEN S LDATE=VSTDT,LIEN=TEST
  1. .S RESULT=$$GET1^DIQ(9000022,TEST,.07,"E")
  1. .I RESULT="" S RESULT="Not Specified"
  1. .I REFVAL="" S REFVAL="Not Specified"
  1. .S REFTYPE=$$GET1^DIQ(9000022,TEST,.01,"E")
  1. .S CNT=CNT+1
  1. .I $G(TARGET)]"" S @TARGET=RESULT_U_REFTYPE
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; TAX = PROVIDER CLASS (external) to search for
  1. ; (required)
  1. ;
  1. ; Taxonomies not available for this type of data.
  1. ; Variables are still named the same for consistency with other functions.
  1. ;
  1. PRVTAX(DFN,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; PEP
  1. ; Provider Check (using Provider Class)
  1. ;
  1. N TXIEN,TEST,VISIT,VSTDT,RESULT,PRV,PRVCLS
  1. I DFN="" Q
  1. I TAX="" Q
  1. S TXIEN=$O(^DIC(7,"D",TAX,""))
  1. I TXIEN="" Q
  1. S TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S TEST=$O(^AUPNVPRV("AC",DFN,TEST)) Q:TEST="" D
  1. .S PRV=$$GET1^DIQ(9000010.06,TEST,.01,"I")
  1. .I PRV="" Q
  1. .S PRVCLS=$$GET1^DIQ(200,PRV,53.5,"I")
  1. .I PRVCLS'=TXIEN Q
  1. .S VISIT=$$GET1^DIQ(9000010.06,TEST,.03,"I")
  1. .S VSTDT=$$GET1^DIQ(9000010,VISIT_",",.01,"I")
  1. .I $G(SDATE)'="",(VSTDT<SDATE) Q
  1. .I $G(EDATE)'="",(VSTDT\1>EDATE) Q
  1. .I VSTDT>LDATE S LDATE=VSTDT,LIEN=TEST
  1. .I VSTDT=LDATE,TEST>LIEN S LDATE=VSTDT,LIEN=TEST
  1. .;Nothing identified in file as a 'RESULT'. Using "N/A" for now for consistency with other functions.
  1. .;S RESULT=$$GET1^DIQ(9000010.06,TEST,.04,"I")
  1. .S RESULT="N/A"
  1. .S CNT=CNT+1
  1. .I $G(TARGET)]"" S @TARGET=RESULT
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; TAX = CODE/CLINIC STOP (external) to search for
  1. ; (required)
  1. ;
  1. ; Taxonomies not available for this type of data.
  1. ; Variables are still named the same for consistency with other functions.
  1. ;
  1. CLNTAX(DFN,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; PEP
  1. ; Clinic Check (using Code/Clinic Stop)
  1. ;
  1. N TXIEN,TEST,VISIT,VSTDT,RESULT,CLN,CLNSCD
  1. I DFN="" Q
  1. I TAX="" Q
  1. ;Not really needed, but set to maintain same variable list as other functions.
  1. S TXIEN=TAX
  1. I TXIEN="" Q
  1. S TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S TEST=$O(^AUPNVSIT("AC",DFN,TEST)) Q:TEST="" D
  1. .S CLN=$$GET1^DIQ(9000010,TEST,.08,"I")
  1. .I CLN="" Q
  1. .S CLNSCD=$$GET1^DIQ(40.7,CLN,1,"E")
  1. .I CLNSCD'=TXIEN Q
  1. .S VISIT=TEST
  1. .S VSTDT=$$GET1^DIQ(9000010,VISIT_",",.01,"I")
  1. .I $G(SDATE)'="",(VSTDT<SDATE) Q
  1. .I $G(EDATE)'="",(VSTDT\1>EDATE) Q
  1. .I VSTDT>LDATE S LDATE=VSTDT,LIEN=TEST
  1. .I VSTDT=LDATE,TEST>LIEN S LDATE=VSTDT,LIEN=TEST
  1. .;Nothing identified in file as a 'RESULT'. Using "N/A" for now for consistency with other functions.
  1. .;S RESULT=$$GET1^DIQ(9000010,TEST,.04,"I")
  1. .S RESULT="N/A"
  1. .S CNT=CNT+1
  1. .I $G(TARGET)]"" S @TARGET=RESULT
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; TAX = WOMEN'S HEALTH PROCEDURE TYPE (external) to search for
  1. ; (required)
  1. ;
  1. ; Taxonomies not available for this type of data.
  1. ; Variables are still named the same for consistency with other functions.
  1. ;
  1. WHTAX(DFN,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; PEP
  1. ; Women's Health (using Women's Health Procedure Type)
  1. ;
  1. N TXIEN,TEST,VISIT,VSTDT,RESULT,WH
  1. I DFN="" Q
  1. I TAX="" Q
  1. S TXIEN=$O(^BWPN("B",TAX,""))
  1. I TXIEN="" Q
  1. S TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S TEST=$O(^BWPCD("C",DFN,TEST)) Q:TEST="" D
  1. .S WH=$$GET1^DIQ(9002086.1,TEST,.04,"I")
  1. .I WH="" Q
  1. .I WH'=TXIEN Q
  1. .S VISIT=TEST
  1. .; Using 'Date of Procedure' as 'Visit Date'
  1. .S VSTDT=$$GET1^DIQ(9002086.1,VISIT_",",.12,"I")
  1. .I $G(SDATE)'="",(VSTDT<SDATE) Q
  1. .I $G(EDATE)'="",(VSTDT\1>EDATE) Q
  1. .I VSTDT>LDATE S LDATE=VSTDT,LIEN=TEST
  1. .I VSTDT=LDATE,TEST>LIEN S LDATE=VSTDT,LIEN=TEST
  1. .S RESULT=$$GET1^DIQ(9002086.1,TEST,.05,"E")
  1. .S CNT=CNT+1
  1. .I $G(TARGET)]"" S @TARGET=RESULT
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; TAX = ICD OPERATION/PROCEDURE CODE NUMBER (external) to search for
  1. ; (required)
  1. ;
  1. ; Taxonomies have not been created for this data.
  1. ; Variables are still named the same for consistency with other functions.
  1. ;
  1. PROCTAX(DFN,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; PEP
  1. ; Procedure Check (using Procedure Code number)
  1. ;
  1. N TXIEN,TEST,VISIT,VSTDT,RESULT,PRC
  1. I DFN="" Q
  1. I TAX="" Q
  1. ;Not really needed, but set to maintain same variable list as other functions.
  1. S TXIEN=TAX
  1. I TXIEN="" Q
  1. S TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S TEST=$O(^AUPNVPRC("AC",DFN,TEST)) Q:TEST="" D
  1. .S PRC=$$GET1^DIQ(9000010.08,TEST,.01,"E")
  1. .I PRC'=TXIEN Q
  1. .S VISIT=$$GET1^DIQ(9000010.08,TEST,.03,"I")
  1. .S VSTDT=$$GET1^DIQ(9000010,VISIT_",",.01,"I")
  1. .I $G(SDATE)'="",(VSTDT<SDATE) Q
  1. .I $G(EDATE)'="",(VSTDT\1>EDATE) Q
  1. .I VSTDT>LDATE S LDATE=VSTDT,LIEN=TEST
  1. .I VSTDT=LDATE,TEST>LIEN S LDATE=VSTDT,LIEN=TEST
  1. .S RESULT=$$GET1^DIQ(9000010.08,TEST,.04,"E")
  1. .S CNT=CNT+1
  1. .I $G(TARGET)]"" S @TARGET=RESULT
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; TAX = ICD DIAGNOSIS CODE NUMBER (external) to search for
  1. ; (required)
  1. ;
  1. ; Taxonomies have not been created for this data.
  1. ; Variables are still named the same for consistency with other functions.
  1. ;
  1. POVTAX(DFN,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; PEP
  1. ; V POV Check (using the POV code)
  1. ;
  1. N TXIEN,TEST,VISIT,VSTDT,RESULT,POV
  1. I DFN="" Q
  1. I TAX="" Q
  1. ;Not really needed, but set to maintain same variable list as other functions.
  1. S TXIEN=TAX
  1. I TXIEN="" Q
  1. S TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S TEST=$O(^AUPNVPOV("AC",DFN,TEST)) Q:TEST="" D
  1. .S POV=$$GET1^DIQ(9000010.07,TEST,.01,"E")
  1. .I POV'=TXIEN Q
  1. .S VISIT=$$GET1^DIQ(9000010.07,TEST,.03,"I")
  1. .S VSTDT=$$GET1^DIQ(9000010,VISIT_",",.01,"I")
  1. .I $G(SDATE)'="",(VSTDT<SDATE) Q
  1. .I $G(EDATE)'="",(VSTDT\1>EDATE) Q
  1. .I VSTDT>LDATE S LDATE=VSTDT,LIEN=TEST
  1. .I VSTDT=LDATE,TEST>LIEN S LDATE=VSTDT,LIEN=TEST
  1. .S RESULT=$$GET1^DIQ(9000010.07,TEST,.04,"E")
  1. .S CNT=CNT+1
  1. .I $G(TARGET)]"" S @TARGET="N/A"_U_RESULT
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; TAX = Array of MHSS PROBLEM/DSM IV POV CODES (external) to search for
  1. ; (required)
  1. ;
  1. ; Taxonomies have not been created for this data.
  1. ; Variables are still named the same for consistency with other functions.
  1. ;
  1. BHPTAX(DFN,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; PEP
  1. ; Behavioral Health Problem/POV Check (using Problem/POV code)
  1. ;
  1. N TXIEN,TEST,VCIEN,VCODE,RIEN,DATE,VSTDT,RESULT
  1. I DFN="" Q
  1. I $O(TAX(""))="" Q
  1. ; Set up the visit codes
  1. S TXIEN=""
  1. F S TXIEN=$O(TAX(TXIEN)) Q:TXIEN="" D
  1. . S VCIEN=$O(^AMHPROB("B",TXIEN,"")) Q:VCIEN=""
  1. . S VCODE(VCIEN)=TXIEN
  1. ;
  1. ; Check in the MHSS files
  1. S RIEN="",TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S RIEN=$O(^AMHREC("C",DFN,RIEN)) Q:RIEN="" D
  1. . S DATE=$P($G(^AMHREC(RIEN,0)),U,1)
  1. . Q:DATE<SDATE&(SDATE'="")!(DATE>EDATE&(EDATE'=""))
  1. . S TEST=""
  1. . F S TEST=$O(^AMHRPRO("AD",RIEN,TEST),-1) Q:TEST="" D
  1. .. S VCIEN=$P(^AMHRPRO(TEST,0),U,1) Q:VCIEN=""
  1. .. I '$D(VCODE(VCIEN)) Q
  1. .. S RESULT=VCODE(VCIEN)
  1. .. S VSTDT=DATE
  1. .. I DATE>LDATE S LDATE=DATE,LIEN=TEST
  1. .. I DATE=LDATE,TEST>LIEN S LIEN=TEST
  1. .. ;S RESULT="N/A"
  1. .. S CNT=CNT+1
  1. .. I $G(TARGET)]"" S @TARGET="N/A"_U_RESULT
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; TAX = Array of MHSS PROBLEM CODES (external) to search for
  1. ; (required)
  1. ;
  1. ; Taxonomies have not been created for this data.
  1. ; Variables are still named the same for consistency with other functions.
  1. ;
  1. BHPRBTAX(DFN,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; EP
  1. ; Behavioral Health Problem Check (using Problem code)
  1. ;
  1. N TXIEN,TEST,VCIEN,VCODE,RIEN,DATE,VSTDT,RESULT,DTENT,DTONS
  1. I DFN="" Q
  1. I $O(TAX(""))="" Q
  1. ; Set up the visit codes
  1. S TXIEN=""
  1. F S TXIEN=$O(TAX(TXIEN)) Q:TXIEN="" D
  1. . S VCIEN=$O(^AMHPROB("B",TXIEN,"")) Q:VCIEN=""
  1. . S VCODE(VCIEN)=TXIEN
  1. ;
  1. ; Check in the MHSS files
  1. S TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S TEST=$O(^AMHPPROB("AC",DFN,TEST)) Q:TEST="" D
  1. . Q:'$D(^AMHPPROB(TEST,0))
  1. . S VCIEN=$P(^AMHPPROB(TEST,0),U,1) Q:VCIEN=""
  1. . I '$D(VCODE(VCIEN)) Q
  1. . S RESULT=VCODE(VCIEN)
  1. . S DTENT=$P($G(^AMHPPROB(TEST,0)),U,8),DTONS=$P($G(^AMHREC(TEST,0)),U,13)
  1. . S DATE=$S(DTONS'="":DTONS,1:DTENT)
  1. . Q:DATE<SDATE&(SDATE'="")!(DATE>EDATE&(EDATE'=""))
  1. . S VSTDT=DATE
  1. . I DATE>LDATE S LDATE=DATE,LIEN=TEST
  1. . I DATE=LDATE,TEST>LIEN S LIEN=TEST
  1. . ;S RESULT="N/A"
  1. . S CNT=CNT+1
  1. . I $G(TARGET)]"" S @TARGET="N/A"_U_RESULT
  1. Q
  1. ;
  1. ; For this entry point only:
  1. ;
  1. ; Input:
  1. ; TAX = Array of MEASUREMENT TYPES (external) to search for
  1. ; (required)
  1. ;
  1. ; Taxonomies have not been created for this data.
  1. ; Variables are still named the same for consistency with other functions.
  1. ;
  1. MSRTAX(DFN,TAX,EDATE,SDATE,TARGET,LDATE,LIEN,CNT) ; PEP
  1. ; V MEASUREMENT Check (using the Measurement type)
  1. ;
  1. N TXIEN,TEST,VCIEN,VCODE,MSR,CNT,VISIT,VSTDT,RIEN,DATE,RESULT
  1. I DFN="" Q
  1. I $O(TAX(""))="" Q
  1. S TEST="",CNT=0,LDATE=$G(LDATE,""),LIEN=$G(LIEN,"")
  1. F S TEST=$O(^AUPNVMSR("AC",DFN,TEST)) Q:TEST="" D
  1. .S MSR=$$GET1^DIQ(9000010.01,TEST,.01,"E")
  1. .I $P($G(^AUPNVMSR(TEST,2)),"^",1)=1 Q
  1. .Q:MSR="" I '$D(TAX(MSR)) Q
  1. .S VISIT=$$GET1^DIQ(9000010.01,TEST,.03,"I")
  1. .S VSTDT=$$GET1^DIQ(9000010,VISIT_",",.01,"I")
  1. .I $G(SDATE)'="",(VSTDT<SDATE) Q
  1. .I $G(EDATE)'="",(VSTDT\1>EDATE) Q
  1. .I VSTDT>LDATE S LDATE=VSTDT,LIEN=TEST
  1. .I VSTDT=LDATE,TEST>LIEN S LDATE=VSTDT,LIEN=TEST
  1. .S RESULT=$$GET1^DIQ(9000010.01,TEST,.04,"E")
  1. .S CNT=CNT+1
  1. .I $G(TARGET)]"" S @TARGET="N/A"_U_RESULT
  1. Q