[613] | 1 | LRPXCHKA ;SLC/STAFF - Lab PXRMINDX Index Validation AP ;3/17/04 15:07
|
---|
| 2 | ;;5.2;LAB SERVICE;**295**;Sep 27, 1994
|
---|
| 3 | ;
|
---|
| 4 | AP(DFN,LRDFN) ; from LRPXCHK
|
---|
| 5 | N DATE,LRIDT,SUB,ZERO
|
---|
| 6 | F SUB="CY","EM","SP" D
|
---|
| 7 | . S LRIDT=0
|
---|
| 8 | . F S LRIDT=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT)) Q:LRIDT<1 D
|
---|
| 9 | .. S ZERO=$G(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,0))
|
---|
| 10 | .. S DATE=$$LRIDT^LRPXAPIU(LRIDT) I 'DATE Q
|
---|
| 11 | .. I '$P(ZERO,U,3) Q
|
---|
| 12 | .. I '$P(ZERO,U,11) Q
|
---|
| 13 | .. D CYEMSP(LRDFN,DFN,LRIDT,DATE,SUB) ; cyto, electron micro, surg path
|
---|
| 14 | I $D(^TMP("LRPXCHK",$J,"LR",LRDFN,"AU")) D AUTOPSY(DFN,LRDFN)
|
---|
| 15 | Q
|
---|
| 16 | ;
|
---|
| 17 | AUTOPSY(DFN,LRDFN) ;
|
---|
| 18 | N DATE,ETIOL,I,II,III,ICD,ICDX,ITEM,NODE,ORGAN,SNOMED,SPEC,SUB,SUBS
|
---|
| 19 | I '($P(^TMP("LRPXCHK",$J,"LR",LRDFN,"AU"),U,3)&($P(^("AU"),U,15))) Q
|
---|
| 20 | S DATE=$$DOD^LRPXAPIU(DFN) I 'DATE Q
|
---|
| 21 | S SPEC=0
|
---|
| 22 | F S SPEC=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,33,SPEC)) Q:SPEC<1 D
|
---|
| 23 | . I '$L($P($G(^TMP("LRPXCHK",$J,"LR",LRDFN,33,SPEC,0)),U)) Q
|
---|
| 24 | . S ITEM="A;S;1."_$$UP^XLFSTR($P(^TMP("LRPXCHK",$J,"LR",LRDFN,33,SPEC,0),U))
|
---|
| 25 | . S NODE=LRDFN_";33;"_SPEC_";0"
|
---|
| 26 | . D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 27 | S ICD=0
|
---|
| 28 | F S ICD=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,80,ICD)) Q:ICD<1 D
|
---|
| 29 | . S ICDX=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,80,ICD,0))
|
---|
| 30 | . I 'ICDX Q
|
---|
| 31 | . S ITEM="A;I;"_ICDX
|
---|
| 32 | . S NODE=LRDFN_";80;"_ICD_";0"
|
---|
| 33 | . D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 34 | S I=0
|
---|
| 35 | F S I=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,"AY",I)) Q:I<1 D
|
---|
| 36 | . S ORGAN=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,"AY",I,0))
|
---|
| 37 | . I 'ORGAN Q
|
---|
| 38 | . S ITEM="A;O;"_ORGAN
|
---|
| 39 | . S NODE=LRDFN_";AY;"_I_";0"
|
---|
| 40 | . D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 41 | . F SUBS="1D","2M","3F","4P" D
|
---|
| 42 | .. S SUB=+SUBS
|
---|
| 43 | .. S II=0
|
---|
| 44 | .. F S II=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,"AY",I,SUB,II)) Q:II<1 D
|
---|
| 45 | ... S SNOMED=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,"AY",I,SUB,II,0))
|
---|
| 46 | ... I 'SNOMED Q
|
---|
| 47 | ... S ITEM="A;"_$E(SUBS,2)_";"_SNOMED
|
---|
| 48 | ... S NODE=LRDFN_";AY;"_I_";"_SUB_";"_II_";0"
|
---|
| 49 | ... D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 50 | ... I SUB'=2 Q
|
---|
| 51 | ... S III=0
|
---|
| 52 | ... F S III=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,"AY",I,SUB,II,1,III)) Q:III<1 D
|
---|
| 53 | .... S ETIOL=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,"AY",I,SUB,II,1,III,0))
|
---|
| 54 | .... I 'ETIOL Q
|
---|
| 55 | .... S ITEM="A;E;"_ETIOL
|
---|
| 56 | .... S NODE=LRDFN_";AY;"_I_";"_SUB_";"_II_";1;"_III_";0"
|
---|
| 57 | .... D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 58 | Q
|
---|
| 59 | ;
|
---|
| 60 | CYEMSP(LRDFN,DFN,LRIDT,DATE,SUB) ;
|
---|
| 61 | N ACC,I,ICD,ICDX,ITEM,NODE,ORGAN,PREP,SPEC,TEST,TESTS K TESTS
|
---|
| 62 | I '$D(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,0)) Q
|
---|
| 63 | S SPEC=0
|
---|
| 64 | F S SPEC=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,.1,SPEC)) Q:SPEC<1 D
|
---|
| 65 | . I '$L($P($G(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,.1,SPEC,0)),U)) Q
|
---|
| 66 | . S ITEM="A;S;1."_$$UP^XLFSTR($P(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,.1,SPEC,0),U))
|
---|
| 67 | . S NODE=LRDFN_";"_SUB_";"_LRIDT_";.1;"_SPEC_";0"
|
---|
| 68 | . D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 69 | . S PREP=0
|
---|
| 70 | . F S PREP=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,.1,SPEC,1,PREP)) Q:PREP<1 D
|
---|
| 71 | .. S TEST=0
|
---|
| 72 | .. F S TEST=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,.1,SPEC,1,PREP,1,TEST)) Q:TEST<1 D
|
---|
| 73 | ... S TEST=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,.1,SPEC,1,PREP,1,TEST,0))
|
---|
| 74 | ... I 'TEST Q
|
---|
| 75 | ... S ITEM="A;T;"_TEST
|
---|
| 76 | ... S NODE=LRDFN_";"_SUB_";"_LRIDT_";.1;"_SPEC_";1;"_PREP_";1;"_TEST_";0"
|
---|
| 77 | ... D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 78 | ; S ACC=$P(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,0),U,6) ; do not use tests on acc
|
---|
| 79 | ; I $L(ACC) D
|
---|
| 80 | ; . S NODE=LRDFN_";"_SUB_";"_LRIDT_";0"
|
---|
| 81 | ; . D ACCY^LRPXAPI(.TESTS,ACC,DATE)
|
---|
| 82 | ; . I $O(TESTS(0)) D
|
---|
| 83 | ; .. S TEST=0
|
---|
| 84 | ; .. F S TEST=+$O(TESTS(TEST)) Q:TEST<1 D
|
---|
| 85 | ; ... S ITEM="A;T;"_TEST
|
---|
| 86 | ; ... D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 87 | S ICD=0
|
---|
| 88 | F S ICD=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,3,ICD)) Q:ICD<1 D
|
---|
| 89 | . S ICDX=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,3,ICD,0))
|
---|
| 90 | . I 'ICDX Q
|
---|
| 91 | . S ITEM="A;I;"_ICDX
|
---|
| 92 | . S NODE=LRDFN_";"_SUB_";"_LRIDT_";3;"_ICD_";0"
|
---|
| 93 | . D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 94 | S I=0
|
---|
| 95 | F S I=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,2,I)) Q:I<1 D
|
---|
| 96 | . S ORGAN=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,SUB,LRIDT,2,I,0))
|
---|
| 97 | . I 'ORGAN Q
|
---|
| 98 | . S ITEM="A;O;"_ORGAN
|
---|
| 99 | . S NODE=LRDFN_";"_SUB_";"_LRIDT_";2;"_I_";0"
|
---|
| 100 | . D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 101 | . D SNOMED(LRDFN,LRIDT,SUB,I)
|
---|
| 102 | Q
|
---|
| 103 | ;
|
---|
| 104 | SNOMED(LRDFN,LRIDT,APSUB,I) ;
|
---|
| 105 | N ETIOL,II,III,ITEM,NODE,SNOMED,SUB,SUBS
|
---|
| 106 | F SUBS="1D","2M","3F","4P" D
|
---|
| 107 | . S SUB=+SUBS
|
---|
| 108 | . S II=0
|
---|
| 109 | . F S II=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,APSUB,LRIDT,2,I,SUB,II)) Q:II<1 D
|
---|
| 110 | .. S SNOMED=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,APSUB,LRIDT,2,I,SUB,II,0))
|
---|
| 111 | .. I 'SNOMED Q
|
---|
| 112 | .. S ITEM="A;"_$E(SUBS,2)_";"_SNOMED
|
---|
| 113 | .. S NODE=LRDFN_";"_APSUB_";"_LRIDT_";2;"_I_";"_SUB_";"_II_";0"
|
---|
| 114 | .. D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 115 | .. I SUB'=2 Q
|
---|
| 116 | .. S III=0
|
---|
| 117 | .. F S III=$O(^TMP("LRPXCHK",$J,"LR",LRDFN,APSUB,LRIDT,2,I,SUB,II,1,III)) Q:III<1 D
|
---|
| 118 | ... S ETIOL=+$G(^TMP("LRPXCHK",$J,"LR",LRDFN,APSUB,LRIDT,2,I,SUB,II,1,III,0))
|
---|
| 119 | ... I 'ETIOL Q
|
---|
| 120 | ... S ITEM="A;E;"_ETIOL
|
---|
| 121 | ... S NODE=LRDFN_";"_APSUB_";"_LRIDT_";2;"_I_";"_SUB_";"_II_";1;"_III_";0"
|
---|
| 122 | ... D TMPCHK^LRPXCHK(DFN,DATE,ITEM,NODE)
|
---|
| 123 | Q
|
---|
| 124 | ;
|
---|