[613] | 1 | LEXCODE ; ISL/KER Retrieval of IEN^Term based on Code ; 05/14/2003
|
---|
| 2 | ;;2.0;LEXICON UTILITY;**25**;Sep 23, 1996;Build 1
|
---|
| 3 | ;
|
---|
| 4 | ; External References
|
---|
| 5 | ; DBIA 10104 $$UP^XLFSTR
|
---|
| 6 | ;
|
---|
| 7 | Q
|
---|
| 8 | ; EN^LEXCODE(X,LEXVDT)
|
---|
| 9 | ;
|
---|
| 10 | ; X Code taken from a classification
|
---|
| 11 | ; system listed in Coding Systems
|
---|
| 12 | ; file #757.03
|
---|
| 13 | ;
|
---|
| 14 | ; LEXVDT The date against which the codes
|
---|
| 15 | ; found by the search will be compared
|
---|
| 16 | ; in order to determine whether they
|
---|
| 17 | ; are active or inactive. If null is
|
---|
| 18 | ; passed then it should default to
|
---|
| 19 | ; the current date.
|
---|
| 20 | ;
|
---|
| 21 | ; Returns Local Array
|
---|
| 22 | ; LEXS(0)=X
|
---|
| 23 | ; LEXS(SAB,0)=#
|
---|
| 24 | ; LEXS(SAB,#)=IEN^TERM
|
---|
| 25 | ;
|
---|
| 26 | ; 3 character mnemonics for SAB (Source Abbreviation)
|
---|
| 27 | ;
|
---|
| 28 | ; SAB Nomenclature Source
|
---|
| 29 | ; -----------------------------------------------------------
|
---|
| 30 | ; ICD ICD-9-CM Int'l Class of Disease (Diagnosis)
|
---|
| 31 | ; ICP ICD-9-CM Int'l Class of Disease (Procedures)
|
---|
| 32 | ; CPT CPT-4 Current Procedural Terminology
|
---|
| 33 | ; DSM DSM-IIIR Diag & Stat Manual of Mental Disorders
|
---|
| 34 | ; SNM SNOMED Systematic Nomenclature for Medicine
|
---|
| 35 | ; NAN NANDA North American Nursing Diagnosis Assoc
|
---|
| 36 | ; NIC Nursing Intervention Classification
|
---|
| 37 | ; OMA Omaha Nursing Diagnosis/Interventions
|
---|
| 38 | ; ACR American College of Radiology (Diag)
|
---|
| 39 | ; AIR AI/RHEUM National Library of Medicine source
|
---|
| 40 | ; COS COSTAR Computer Stored Ambulatory Records
|
---|
| 41 | ; CST COSTART Coding Sym Thes Adverse Reaction Terms
|
---|
| 42 | ; DXP DXPLAIN Diagnostic Prompting System
|
---|
| 43 | ; MCM McMaster University (Epidemiology)
|
---|
| 44 | ; UMD Universal Medical Device Nomemclature
|
---|
| 45 | ; CSP CRISP
|
---|
| 46 | ; UWA University of Washington (Neuronames)
|
---|
| 47 | ;
|
---|
| 48 | ; Example returned array using code 309.24
|
---|
| 49 | ;
|
---|
| 50 | ; LEXS(0)=309.24
|
---|
| 51 | ; LEXS("DSM",0)=1
|
---|
| 52 | ; LEXS("DSM",1)=3273^Adjustment disorder with anxious mood
|
---|
| 53 | ; LEXS("ICD",0)=2
|
---|
| 54 | ; LEXS("ICD",1)=268308^Adjustment reaction with anxious mood
|
---|
| 55 | ; LEXS("ICD",2)=3273^Adjustment disorder with anxious mood
|
---|
| 56 | ;
|
---|
| 57 | Q
|
---|
| 58 | EN(LEX,LEXVDT) ; Get terms associated with a Code
|
---|
| 59 | K LEXS S LEX=$$UP^XLFSTR($G(LEX)) Q:'$L(LEX)
|
---|
| 60 | N LEXSRC,LEXSO,LEXO,LEXSAB,LEXDA,LEXPF,LEXINA,LEXSTA
|
---|
| 61 | S LEXS(0)=LEX,LEXO=LEX_" ",LEXDA=0 Q:'$D(^LEX(757.02,"CODE",LEXO))
|
---|
| 62 | F S LEXDA=$O(^LEX(757.02,"CODE",LEXO,LEXDA)) Q:+LEXDA=0 D CHK
|
---|
| 63 | D ASEM Q
|
---|
| 64 | CHK ; Check if Valid
|
---|
| 65 | S LEXSO=$P($G(^LEX(757.02,LEXDA,0)),"^",2) Q:LEXSO'=LEX
|
---|
| 66 | S LEXSTA=$$STATCHK^LEXSRC2(LEXSO,$G(LEXVDT)) Q:+LEXSTA'>0
|
---|
| 67 | S LEXSRC=+($P($G(^LEX(757.02,LEXDA,0)),"^",3)) Q:LEXSRC'>0
|
---|
| 68 | S LEXSAB=$E($G(^LEX(757.03,+LEXSRC,0)),1,3) Q:$L(LEXSAB)'=3
|
---|
| 69 | S LEXPF=+($P($G(^LEX(757.02,LEXDA,0)),"^",5))
|
---|
| 70 | S:LEXPF=1 LEXS(LEXSAB,"PRE")=LEXDA
|
---|
| 71 | S:LEXPF'=1 LEXS(LEXSAB,"OTH",LEXDA)=""
|
---|
| 72 | Q
|
---|
| 73 | ASEM ; Assemble List
|
---|
| 74 | Q:'$D(LEXS)
|
---|
| 75 | N LEXSAB,LEXCT,LEXDA,LEXEX,LEXEXP,LEXY S LEXSAB=""
|
---|
| 76 | F S LEXSAB=$O(LEXS(LEXSAB)) Q:LEXSAB="" S LEXCT=0 D
|
---|
| 77 | . I $D(LEXS(LEXSAB,"PRE")) D LEXY
|
---|
| 78 | . S LEXDA=0
|
---|
| 79 | . F S LEXDA=$O(LEXS(LEXSAB,"OTH",LEXDA)) Q:+LEXDA=0 D LEXY
|
---|
| 80 | . S:+LEXSAB'>0&(LEXSAB'="0") LEXS(LEXSAB,0)=LEXCT
|
---|
| 81 | Q
|
---|
| 82 | LEXY ; Get IEN^TERM for Code X
|
---|
| 83 | S:$D(LEXS(LEXSAB,"PRE")) LEXDA=LEXS(LEXSAB,"PRE")
|
---|
| 84 | K:'$D(LEXS(LEXSAB,"PRE")) LEXS(LEXSAB,"OTH",LEXDA) K LEXS(LEXSAB,"PRE")
|
---|
| 85 | S LEXY="",LEXEX=+($P($G(^LEX(757.02,LEXDA,0)),"^",1))
|
---|
| 86 | Q:'$L($G(^LEX(757.01,+LEXEX,0)))
|
---|
| 87 | S LEXEXP=$G(^LEX(757.01,+LEXEX,0)),LEXCT=LEXCT+1,LEXY=LEXEX_"^"_LEXEXP
|
---|
| 88 | S LEXS(LEXSAB,LEXCT)=LEXY
|
---|
| 89 | Q
|
---|