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

LEXQDRG2.m

Go to the documentation of this file.
  1. LEXQDRG2 ;ISL/KER - Query - DRG Calc. (PDX/SDX/PRO/PRE) ;12/19/2014
  1. ;;2.0;LEXICON UTILITY;**86**;Sep 23, 1996;Build 1
  1. ;
  1. ; Global Variables
  1. ; ^ICD9( ICR 4485
  1. ; ^ICD0( ICR 4486
  1. ; ^XTMP(ID) SACC 2.3.2.5.2
  1. ;
  1. ; External References
  1. ; EN^DDIOL ICR 10142
  1. ; ^DIC ICR 10006
  1. ; $$GET1^DIQ ICR 2056
  1. ; ^DIR ICR 10026
  1. ; $$HAC^ICDEX ICR 5747
  1. ; $$CODEC^ICDEX ICR 5747
  1. ; $$ROOT^ICDEX ICR 5747
  1. ; $$DT^XLFDT ICR 10103
  1. ; $$FMADD^XLFDT ICR 10103
  1. ; $$NOW^XLFDT ICR 10103
  1. ; $$UP^XLFSTR ICR 10104
  1. ;
  1. ; Local Variables NEWed or KILLed Elsewhere
  1. ;
  1. ; ICDDATE Effective Date nnnnnnn
  1. ; ICDEXP Patient died during episode of care 1/0
  1. ; ICDTRS Was patient transferred to acute care 1/0
  1. ; ICDDMS Patient discharged against med advice 1/0
  1. ; ICDPOA Present on Admission Y/N/U/W
  1. ; SEX Patient's Sex (pre-surgical M/F
  1. ; AGE Patient's Age Numeric
  1. ;
  1. ; Get Codes
  1. PDX(X) ; Principal DX
  1. N DIC,DTOUT,DUOUT,LEXC,LEXF,LEXID,LEXIEN,LEXPDX,LEXN,LEXSYS,LEXPOA,LEXIT,Y,ICDDATE
  1. S LEXIT=0,ICDDATE=$G(X) Q:$P(ICDDATE,".",1)'?7N "0^Date not Passed"
  1. S LEXSYS="10D" S:ICDDATE<$$IMPDATE^LEXU(30) LEXSYS="ICD"
  1. S LEXN=$$DT^XLFDT,LEXF=$$FMADD^XLFDT(LEXN,60),LEXID="LEXQDRG "_$G(DUZ)_" DX1"_" "_LEXSYS
  1. S LEXIEN=$G(^XTMP(LEXID,"PRE")),LEXC=$$CODEC^ICDEX(80,LEXIEN)
  1. S:$L(LEXC)&(LEXC'["^") DIC("B")=LEXC
  1. S DIC=$$ROOT^ICDEX(80),DIC(0)="AEQMZI"
  1. S DIC("A")=" Enter the Principal Diagnosis: "
  1. S DIC("S")="I '$P($$ICDDX^ICDEX(+Y,$G(ICDDATE),,""I""),U,5),$$ISVALID^ICDEX(80,+Y,$G(ICDDATE))"
  1. D ^DIC I $G(X)["^^" D
  1. . S DUOUT=1 N LEXID,LEXB,LEXQ
  1. . S LEXID="LEXQDRG "_$G(DUZ)_" DX1"_" "_LEXSYS K ^XTMP(LEXID)
  1. . S LEXBG=2,LEXQ=0 F LEXS=LEXBG:1 D Q:LEXQ
  1. . . N LEXID,LEXIEN S LEXID="LEXQDRG "_$G(DUZ)_" DX"_LEXS_" "_LEXSYS
  1. . . S LEXIEN=$G(^XTMP(LEXID,"PRE")) K:LEXIEN>0 ^XTMP(LEXID) S:LEXIEN'>0 LEXQ=1
  1. . S LEXBG=1,LEXQ=0 F LEXS=LEXBG:1 D Q:LEXQ
  1. . . N LEXID,LEXIEN S LEXID="LEXQDRG "_$G(DUZ)_" PR"_LEXS_" "_LEXSYS
  1. . . S LEXIEN=$G(^XTMP(LEXID,"PRE")) K:LEXIEN>0 ^XTMP(LEXID) S:LEXIEN'>0 LEXQ=1
  1. Q:$D(DTOUT) "0^Principal diagnosis selection timed-out"
  1. Q:$D(DUOUT) "0^Principal diagnosis selection aborted"
  1. Q:+Y'>0 "0^Missing or invalid principal diagnosis" S LEXPDX=+Y,LEXPOA="",LEXIT=0
  1. I LEXSYS="10D",+LEXPDX>0 S LEXPOA=$$POA(+LEXPDX) S:LEXPOA["^" LEXIT=1
  1. Q:LEXIT "0^Missing or invalid data"
  1. Q:LEXSYS="10D"&('$L($G(LEXPOA))) "0^Missing POA"
  1. Q:LEXSYS="10D"&($G(LEXPOA)["^") "0^Invalid POA"
  1. I +($G(LEXPDX))>0 D Q 1
  1. . S ICDDX(1)=+($G(LEXPDX)),ICDDX("B",+($G(LEXPDX)))=1
  1. . S:$G(LEXSYS)="10D"&($L($G(LEXPOA))) ICDPOA(1)=LEXPOA
  1. . S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=+($G(LEXPDX))
  1. Q 0
  1. SEC(X) ; Seconary DX
  1. N DIC,DICA,DTOUT,DUOUT,LEXBG,LEXC,LEXF,LEXID,LEXIEN,LEXIT,LEXLS,LEXSYS,LEXN,LEXS,Y,ICDDATE
  1. S ICDDATE=$G(X) Q:$P(ICDDATE,".",1)'?7N "0^Date not Passed" K DICA
  1. S LEXSYS="10D" S:ICDDATE<$$IMPDATE^LEXU(30) LEXSYS="ICD"
  1. S LEXN=$$DT^XLFDT,LEXF=$$FMADD^XLFDT(LEXN,60)
  1. S LEXIT=0,LEXLS=1 F S LEXLS=$O(ICDDX(LEXLS)) Q:+LEXLS'>0 D
  1. . N LEXIEN S LEXIEN=$G(ICDDX(LEXLS)) K:+LEXIEN>0 ICDDX("B",+LEXIEN),ICDDX(LEXLS)
  1. S LEXLS=0 F LEXS=2:1 D Q:LEXIT
  1. . S:LEXS>5 LEXIT=1 Q:LEXIT N DIC,LEXIEN,LEXC,LEXSEC,LEXPOA,LEXIT2
  1. . S DIC=$$ROOT^ICDEX(80),DIC(0)="AEQMZI"
  1. . S LEXID="LEXQDRG "_$G(DUZ)_" DX"_LEXS_" "_LEXSYS
  1. . S LEXIEN=$G(^XTMP(LEXID,"PRE"))
  1. . S LEXC=$$CODEC^ICDEX(80,LEXIEN) S:$L(LEXC)&(LEXC'["^") DIC("B")=LEXC
  1. . S DIC("A")=" Enter a Secondary Diagnosis: " S:$L($G(DICA)) DIC("A")=$G(DICA)
  1. . S DIC("S")="I $$ISVALID^ICDEX(80,+Y,$G(ICDDATE)),'$D(ICDDX(""B"",+Y))"
  1. . D ^DIC I $G(X)["^^" D
  1. . . S DUOUT=1 N LEXBG,LEXS,LEXQ S LEXBG=2,LEXQ=0 F LEXS=LEXBG:1 D Q:LEXQ
  1. . . . N LEXID,LEXIEN S LEXID="LEXQDRG "_$G(DUZ)_" DX"_LEXS_" "_LEXSYS
  1. . . . S LEXIEN=$G(^XTMP(LEXID,"PRE")) K:LEXIEN>0 ^XTMP(LEXID) S:LEXIEN'>0 LEXQ=1
  1. . I '$L(X)!($D(DTOUT))!($D(DUOUT))!(+Y'>0) S LEXIT=1 Q
  1. . S DICA=" Enter another Secondary Diagnosis: "
  1. . S LEXSEC=+($G(Y)),LEXPOA="",LEXIT2=0 I LEXSYS="10D",+LEXSEC>0 D
  1. . . S LEXPOA=$$POA(+LEXSEC) S:LEXPOA["^" LEXIT2=1 Q:LEXIT
  1. . Q:LEXIT2 Q:LEXSYS="10D"&('$L($G(LEXPOA))) Q:LEXSYS="10D"&($G(LEXPOA)["^")
  1. . S ICDDX(LEXS)=+Y,ICDDX("B",+Y)=LEXS,ICDPOA(LEXS)=LEXPOA
  1. . S LEXLS=LEXS S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=+Y
  1. Q:$D(DTOUT) "0^Secondary diagnosis selection timed-out"
  1. Q:$G(X)["^^" "0^Secondary diagnosis selection aborted"
  1. N LEXBG,LEXS,LEXIT S LEXBG=LEXLS+1,LEXIT=0 F LEXS=LEXBG:1 D Q:LEXIT
  1. . Q:LEXS=1 N LEXID,LEXIEN,LEXAI S LEXID="LEXQDRG "_$G(DUZ)_" DX"_LEXS_" "_LEXSYS
  1. . S LEXIEN=$G(^XTMP(LEXID,"PRE")) K:LEXIEN>0 ^XTMP(LEXID) S:LEXIEN'>0 LEXIT=1
  1. . S LEXAI=$G(ICDDX("B",+LEXIEN)) K:+LEXAI>1 ICDDX(+LEXAI),ICDDX("B",+LEXIEN)
  1. Q 1
  1. PRO(X) ; Procedures
  1. N DIC,DICA,DTOUT,DUOUT,LEXBG,LEXC,LEXF,LEXID,LEXIEN,LEXIT,LEXLS,LEXSYS,LEXN,LEXS,Y,ICDDATE
  1. S ICDDATE=$G(X) Q:$P(ICDDATE,".",1)'?7N "0^Date not Passed" K DICA
  1. S LEXSYS="10P" S:ICDDATE<$$IMPDATE^LEXU(31) LEXSYS="ICP"
  1. S (LEXIT,LEXLS)=0 F S LEXLS=$O(ICDPRC(LEXLS)) Q:+LEXLS'>0 D
  1. . N LEXIEN S LEXIEN=$G(ICDPRC(LEXLS)) K:+LEXIEN>0 ICDPRC("B",+LEXIEN),ICDPRC(LEXLS)
  1. S (LEXLS,LEXIT)=0 S LEXN=$$DT^XLFDT,LEXF=$$FMADD^XLFDT(LEXN,60) F LEXS=1:1 D Q:LEXIT
  1. . S:LEXS>5 LEXIT=1 Q:LEXIT N DIC,LEXIEN,LEXC S DIC=$$ROOT^ICDEX(80.1),DIC(0)="AEQMZI"
  1. . S LEXID="LEXQDRG "_$G(DUZ)_" PR"_LEXS_" "_LEXSYS,LEXIEN=$G(^XTMP(LEXID,"PRE"))
  1. . S LEXC=$$CODEC^ICDEX(80.1,LEXIEN) S:$L(LEXC)&(LEXC'["^") DIC("B")=LEXC
  1. . S DIC("A")=" Enter an Operation/Procedure: " S:$L($G(DICA)) DIC("A")=DICA
  1. . S DIC("S")="I $$ISVALID^ICDEX(80.1,+Y,$G(ICDDATE)),'$D(ICDPRC(""B"",+Y))"
  1. . D ^DIC I $G(X)["^^" D
  1. . . S DUOUT=1 N LEXBG,LEXS,LEXQ S LEXBG=1,LEXQ=0 F LEXS=LEXBG:1 D Q:LEXQ
  1. . . . N LEXID,LEXIEN S LEXID="LEXQDRG "_$G(DUZ)_" PR"_LEXS_" "_LEXSYS
  1. . . . S LEXIEN=$G(^XTMP(LEXID,"PRE")) K:LEXIEN>0 ^XTMP(LEXID) S:LEXIEN'>0 LEXQ=1
  1. . I '$L(X)!($D(DTOUT))!($D(DUOUT))!(+Y'>0) S LEXIT=1 Q
  1. . S DICA=" Enter another Operation/Procedure: "
  1. . S ICDPRC(LEXS)=+Y,ICDPRC("B",+Y)=LEXS,LEXID=("LEXQDRG "_$G(DUZ)_" PR"_LEXS_" "_LEXSYS)
  1. . S LEXLS=LEXS S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=+Y
  1. Q:$D(DTOUT) "0^Procedure selection timed-out"
  1. Q:$G(X)["^^" "0^Procedure selection aborted"
  1. N LEXBG,LEXS,LEXIT S LEXBG=LEXLS+1,LEXIT=0 F LEXS=LEXBG:1 D Q:LEXIT
  1. . N LEXID,LEXIEN,LEXAI S LEXID="LEXQDRG "_$G(DUZ)_" PR"_LEXS_" "_LEXSYS
  1. . S LEXIEN=$G(^XTMP(LEXID,"PRE")) K:LEXIEN>0 ^XTMP(LEXID) S:LEXIEN'>0 LEXIT=1
  1. . S LEXAI=$G(ICDPRC("B",+LEXIEN)) K:+LEXAI>1 ICDPRC(+LEXAI),ICDPRC("B",+LEXIEN)
  1. Q 1
  1. ;
  1. POA(X) ; Present On Admission
  1. N DIR,DUOUT,DTOUT,DIRUT,DIROUT,Y,LEXPR,LEXIEN,LEXHAC,LEXPOAE,LEXQ S LEXIEN=+($G(X)) Q:'$D(^ICD9(+LEXIEN,0)) "^"
  1. S LEXPOAE=$$POAE^ICDEX(LEXIEN) Q:LEXPOAE>0 "N" S LEXHAC=+($$HAC^ICDEX(LEXIEN))
  1. K DIR S DIR("A")=" Present on Admission: ",DIR(0)="SOA^Y:YES;N:NO;U:Unknown;W:Clinically undetermined"
  1. S:LEXHAC'>0 DIR("B")="NO" S DIR("PRE")="S LEXQ=X S:X[""?"" X=""??"""
  1. S DIR("??")="^D POAH2^LEXQDRG2",DIR("?")="^D POAH1^LEXQDRG2"
  1. D ^DIR I ($D(DTOUT))!($D(DUOUT))!($D(DIROUT)) Q "^"
  1. I X="" D
  1. . I $$GET1^DIQ(80,LEXIEN,1.9,"I")'=1 D
  1. . . S LEXPR(1)=" Diagnosis "_$$GET1^DIQ(80,LEXIEN,.01,"I")_" is not contained in the POA Exempt"
  1. . . S LEXPR(2)=" list so the POA field should not be blank. If left blank, it will be"
  1. . . S LEXPR(3)=" treated as if it were a No (""N"")" W !
  1. . . D EN^DDIOL(.LEXPR) W !
  1. . . K DIR S DIR(0)="YAO",DIR("A")=" Do you wish to continue? (Y/N) ",DIR("B")="YES" D ^DIR I ($D(DTOUT))!($D(DUOUT))!($D(DIROUT)) S Y="^"
  1. . . S:Y=0 Y="^" Q:Y["^" S Y="N"
  1. . E S Y="Y"
  1. S X=$$UP^XLFSTR(Y)
  1. Q X
  1. POAH1 ; Present On Admission ? Help
  1. W !,?9,"Was the diagnosis present on admission? Answer Yes, No,"
  1. W:+($G(LEXHAC))'>0 !,?9,"Unknown or Clinical undtermined"
  1. W:+($G(LEXHAC))>0 !,?9,"Unknown, Clinical undtermined or <enter>."
  1. Q
  1. POAH2 ; Present On Admission ?? Help
  1. I $G(LEXQ)["?",$G(LEXQ)'["??" D POAH1 S LEXQ="" Q
  1. W !,?9,"Apply the Present on Admission (POA) indicator for each diagnosis"
  1. W !,?9,"and external cause of injury code(s) reported as the final set of"
  1. W !,?9,"diagnosis codes assigned. One of the following values should be"
  1. W !,?9,"assigned in accordance with the official coding guidelines:"
  1. W !,?9,""
  1. W !,?9,"Y = present at the time of inpatient admission;"
  1. W !,?9,"N = not present at the time of inpatient admission;"
  1. W !,?9,"U = documentation is insufficient to determine if"
  1. W !,?9," condition is present on admission;"
  1. W !,?9,"W = provider is unable to clinically determine"
  1. W !,?9," whether condition was present on admission or not"
  1. W:+($G(LEXHAC))>0 !,?9,"<enter> = use only if diagnosis is exempt from POA reporting"
  1. Q
  1. ;
  1. ; Previous Values
  1. GETPRE(X) ; Get Previous Values
  1. N LEXI,LEXS,LEXX,LEXSYS,LEXIMP K ICDDX,ICDPRC
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" DATE"),"PRE"))
  1. S:$P(LEXX,".",1)'?7N LEXX=$$DT^XLFDT S ICDDATE=LEXX
  1. S LEXIMP=$$IMPDATE^LEXU(30),LEXSYS="10D" S:ICDDATE<LEXIMP LEXSYS="ICD"
  1. F LEXI=1:1 Q:'$D(^XTMP(("LEXQDRG "_$G(DUZ)_" DX"_LEXI_" "_LEXSYS))) D
  1. . N LEXX S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" DX"_LEXI_" "_LEXSYS),"PRE"))
  1. . I +LEXX>0 S LEXS=$O(ICDDX(" "),-1)+1,ICDDX(LEXS)=LEXX
  1. S LEXSYS="10P" S:ICDDATE<LEXIMP LEXSYS="ICP"
  1. F LEXI=1:1 Q:'$D(^XTMP(("LEXQDRG "_$G(DUZ)_" PR"_LEXI_" "_LEXSYS))) D
  1. . N LEXX S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" PR"_LEXI_" "_LEXSYS),"PRE"))
  1. . I +LEXX>0 S LEXS=$O(ICDPRC(" "),-1)+1,ICDPRC(LEXS)=LEXX
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" AGE"),"PRE"))
  1. S:LEXX'>0 LEXX=40 S AGE=LEXX
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" SEX"),"PRE"))
  1. S:'$L(LEXX) LEXX="M" S SEX=LEXX
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" DMS"),"PRE"))
  1. S:'$L(LEXX) LEXX=0 S ICDDMS=LEXX
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" TRS"),"PRE"))
  1. S:'$L(LEXX) LEXX=0 S ICDTRS=LEXX
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" DATE"),"EXP"))
  1. S:'$L(LEXX) LEXX=0 S ICDEXP=LEXX
  1. Q:'$D(ICDDX(1)) "0^Missing Principal Diagnois"
  1. Q:$G(AGE)'?1N.N "0^Missing or invalid 'age'"
  1. Q:"^M^F^"'[("^"_$G(SEX)_"^") "0^Missing or invalid 'sex'"
  1. Q:"^1^0^"'[("^"_$G(ICDDMS)_"^") "0^Missing or invalid 'discharged against medical advice'"
  1. Q:"^1^0^"'[("^"_$G(ICDTRS)_"^") "0^Missing or invalid 'transferred to acute care facility'"
  1. Q:"^1^0^"'[("^"_$G(ICDEXP)_"^") "0^Missing or invalid 'died during episode of care'"
  1. Q 1
  1. SETPRE ; Set Previous Values
  1. N LEXF,LEXI,LEXID,LEXN,LEXV,LEXIMP,LEXSYS
  1. S LEXN=$$DT^XLFDT,LEXF=$$FMADD^XLFDT(LEXN,60) D PURPRE
  1. S LEXIMP=$$IMPDATE^LEXU(30),LEXSYS="10D" S:$G(ICDDATE)<LEXIMP LEXSYS="ICD"
  1. S LEXI=0 F S LEXI=$O(ICDDX(LEXI)) Q:+LEXI'>0 D
  1. . N LEXV S LEXV=$P($G(ICDDX(LEXI)),"^",1)
  1. . Q:+LEXV'>0 S LEXID="LEXQDRG "_$G(DUZ)_" DX"_LEXI_" "_LEXSYS
  1. . S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=LEXV
  1. S LEXSYS="10P" S:$G(ICDDATE)<LEXIMP LEXSYS="ICP"
  1. S LEXI=0 F S LEXI=$O(ICDPRC(LEXI)) Q:+LEXI'>0 D
  1. . N LEXV S LEXV=$P($G(ICDPRC(LEXI)),"^",1)
  1. . Q:+LEXV'>0 S LEXID="LEXQDRG "_$G(DUZ)_" PR"_LEXI_" "_LEXSYS
  1. . S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=LEXV
  1. S LEXV=$G(AGE) S:LEXV'>0 LEXV=40 S LEXID="LEXQDRG "_$G(DUZ)_" AGE"
  1. S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=LEXV
  1. S LEXV=$G(SEX) S:"^M^F^"'[("^"_LEXV_"^") LEXV="M" S LEXID="LEXQDRG "_$G(DUZ)_" SEX"
  1. S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=LEXV
  1. S LEXV=$G(ICDDATE) S:$P(LEXV,".",1)'?7N LEXV=$$NOW^XLFDT S LEXID="LEXQDRG "_$G(DUZ)_" DATE"
  1. S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=LEXV
  1. S LEXV=$G(ICDDMS) S:'$L(LEXV) LEXV=0 S LEXID="LEXQDRG "_$G(DUZ)_" DMS"
  1. S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=LEXV
  1. S LEXV=$G(ICDTRS) S:'$L(LEXV) LEXV=0 S LEXID="LEXQDRG "_$G(DUZ)_" TRS"
  1. S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=LEXV
  1. S LEXV=$G(ICDEXP) S:'$L(LEXV) LEXV=0 S LEXID="LEXQDRG "_$G(DUZ)_" EXP"
  1. S ^XTMP(LEXID,0)=LEXF_"^"_LEXN_"^Previous",^XTMP(LEXID,"PRE")=LEXV
  1. Q
  1. PURPRE ; Purge Saved Values
  1. N LEXI,LEXIMP,LEXSYS Q:+($G(ICDDATE))'>0 S LEXIMP=$$IMPDATE^LEXU(30),LEXSYS="10D"
  1. S:$G(ICDDATE)<LEXIMP LEXSYS="ICD" K ^XTMP(("LEXQDRG "_$G(DUZ)_" DX1 "_LEXSYS))
  1. F LEXI=2:1 Q:'$D(^XTMP(("LEXQDRG "_$G(DUZ)_" DX"_LEXI_" "_LEXSYS))) K ^XTMP(("LEXQDRG "_$G(DUZ)_" DX"_LEXI_" "_LEXSYS))
  1. F LEXI=1:1 Q:'$D(^XTMP(("LEXQDRG "_$G(DUZ)_" PR"_LEXI))) K ^XTMP(("LEXQDRG "_$G(DUZ)_" PR"_LEXI))
  1. Q
  1. HASPRE(X) ; User Has Previous Values
  1. N LEXX,LEX9 S LEX9=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" DX1 ICD"),"PRE"))
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" DX1 10D"),"PRE")) Q:+LEXX'>0&(+LEX9'>0) -1
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" AGE"),"PRE")) Q:+LEXX'>0 -2
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" DATE"),"PRE")) Q:$P(LEXX,".",1)'?7N -3
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" SEX"),"PRE")) Q:"^M^F^"'[("^"_LEXX_"^") -4
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" EXP"),"PRE")) Q:"^1^0^"'[("^"_LEXX_"^") -5
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" DMS"),"PRE")) Q:"^1^0^"'[("^"_LEXX_"^") -6
  1. S LEXX=$G(^XTMP(("LEXQDRG "_$G(DUZ)_" TRS"),"PRE")) Q:"^1^0^"'[("^"_LEXX_"^") -7
  1. Q 1