| [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 | ; | 
|---|